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=feb78d48cb99d813bd4955ac688bccc3d35f15fa;hpb=328d27b8653a55d9561134f120bca09776f43c1c;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 feb78d48c..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.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;