]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/providers/UserFilter.java
b89c58d592ced0bca2cb371edd3615c4c9172142
1 package org
.argeo
.cms
.ui
.workbench
.internal
.useradmin
.providers
;
3 import static org
.argeo
.eclipse
.ui
.EclipseUiUtils
.notEmpty
;
5 import org
.argeo
.cms
.util
.UserAdminUtils
;
6 import org
.argeo
.naming
.LdapAttrs
;
7 import org
.argeo
.node
.NodeConstants
;
8 import org
.eclipse
.jface
.viewers
.Viewer
;
9 import org
.eclipse
.jface
.viewers
.ViewerFilter
;
10 import org
.osgi
.service
.useradmin
.User
;
12 public class UserFilter
extends ViewerFilter
{
13 private static final long serialVersionUID
= 5082509381672880568L;
15 private String searchString
;
16 private boolean showSystemRole
= true;
18 private final String
[] knownProps
= { LdapAttrs
.DN
, LdapAttrs
.cn
.name(),
19 LdapAttrs
.givenName
.name(), LdapAttrs
.sn
.name(),
20 LdapAttrs
.uid
.name(), LdapAttrs
.description
.name(),
21 LdapAttrs
.mail
.name() };
23 public void setSearchText(String s
) {
24 // ensure that the value can be used for matching
26 searchString
= ".*" + s
.toLowerCase() + ".*";
31 public void setShowSystemRole(boolean showSystemRole
) {
32 this.showSystemRole
= showSystemRole
;
36 public boolean select(Viewer viewer
, Object parentElement
, Object element
) {
37 User user
= (User
) element
;
39 && user
.getName().matches(
40 ".*(" + NodeConstants
.ROLES_BASEDN
+ ")"))
41 // UserAdminUtils.getProperty(user, LdifName.dn.name())
42 // .toLowerCase().endsWith(AuthConstants.ROLES_BASEDN))
45 if (searchString
== null || searchString
.length() == 0)
48 if (user
.getName().matches(searchString
))
51 for (String key
: knownProps
) {
52 String currVal
= UserAdminUtils
.getProperty(user
, key
);
54 && currVal
.toLowerCase().matches(searchString
))