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=04c275647c62751dfe17213cb458ebb47f5df473;hpb=fd8f2c91e47d38445ba9702b40559939162f666d;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 04c275647..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 @@ -2,23 +2,25 @@ package org.argeo.cms.ui.workbench.internal.useradmin.providers; import static org.argeo.eclipse.ui.EclipseUiUtils.notEmpty; -import org.argeo.cms.util.useradmin.UserAdminUtils; +import org.argeo.cms.util.UserAdminUtils; +import org.argeo.naming.LdapAttrs; import org.argeo.node.NodeConstants; -import org.argeo.osgi.useradmin.LdifName; 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 = { LdifName.dn.name(), - LdifName.cn.name(), LdifName.givenName.name(), LdifName.sn.name(), - LdifName.uid.name(), LdifName.description.name(), - LdifName.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,11 +50,9 @@ 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; } - -} \ No newline at end of file +}