X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui.workbench%2Fsrc%2Forg%2Fargeo%2Fcms%2Fui%2Fworkbench%2Finternal%2Fuseradmin%2Fproviders%2FUserFilter.java;h=46bce8d76c6bae230e00fb87f6b166136de93e88;hb=5b444174cd13680f99944026877f6cac2e1faba1;hp=b89c58d592ced0bca2cb371edd3615c4c9172142;hpb=d53071455192a97322935a911c9fbbfd92084912;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/providers/UserFilter.java b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/providers/UserFilter.java index b89c58d59..46bce8d76 100644 --- a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/providers/UserFilter.java +++ b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/providers/UserFilter.java @@ -9,16 +9,18 @@ import org.eclipse.jface.viewers.Viewer; import org.eclipse.jface.viewers.ViewerFilter; import org.osgi.service.useradmin.User; +/** + * Filter user list using JFace mechanism on the client (yet on the server) side + * rather than having the UserAdmin to process the search + */ public class UserFilter extends ViewerFilter { private static final long serialVersionUID = 5082509381672880568L; private String searchString; private boolean showSystemRole = true; - private final String[] knownProps = { LdapAttrs.DN, LdapAttrs.cn.name(), - LdapAttrs.givenName.name(), LdapAttrs.sn.name(), - LdapAttrs.uid.name(), LdapAttrs.description.name(), - LdapAttrs.mail.name() }; + private final String[] knownProps = { LdapAttrs.DN, LdapAttrs.cn.name(), LdapAttrs.givenName.name(), + LdapAttrs.sn.name(), LdapAttrs.uid.name(), LdapAttrs.description.name(), LdapAttrs.mail.name() }; public void setSearchText(String s) { // ensure that the value can be used for matching @@ -35,9 +37,7 @@ public class UserFilter extends ViewerFilter { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { User user = (User) element; - if (!showSystemRole - && user.getName().matches( - ".*(" + NodeConstants.ROLES_BASEDN + ")")) + if (!showSystemRole && user.getName().matches(".*(" + NodeConstants.ROLES_BASEDN + ")")) // UserAdminUtils.getProperty(user, LdifName.dn.name()) // .toLowerCase().endsWith(AuthConstants.ROLES_BASEDN)) return false; @@ -50,8 +50,7 @@ public class UserFilter extends ViewerFilter { for (String key : knownProps) { String currVal = UserAdminUtils.getProperty(user, key); - if (notEmpty(currVal) - && currVal.toLowerCase().matches(searchString)) + if (notEmpty(currVal) && currVal.toLowerCase().matches(searchString)) return true; } return false;