]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/providers/UserFilter.java
43c36eb20c28a84e64dc0d4156457e3c3672b3bd
1 package org
.argeo
.security
.ui
.admin
.internal
.providers
;
3 import org
.argeo
.osgi
.useradmin
.LdifName
;
4 import org
.argeo
.security
.ui
.admin
.internal
.UiAdminUtils
;
5 import org
.eclipse
.jface
.viewers
.Viewer
;
6 import org
.eclipse
.jface
.viewers
.ViewerFilter
;
7 import org
.osgi
.service
.useradmin
.User
;
9 public class UserFilter
extends ViewerFilter
{
10 private static final long serialVersionUID
= 5082509381672880568L;
12 private String searchString
;
14 private final String
[] knownProps
= { LdifName
.dn
.name(),
15 LdifName
.cn
.name(), LdifName
.givenname
.name(), LdifName
.sn
.name(),
16 LdifName
.uid
.name(), LdifName
.description
.name(),
17 LdifName
.mail
.name() };
19 public void setSearchText(String s
) {
20 // ensure that the value can be used for matching
22 searchString
= ".*" + s
.toLowerCase() + ".*";
28 public boolean select(Viewer viewer
, Object parentElement
, Object element
) {
29 if (searchString
== null || searchString
.length() == 0) {
32 User user
= (User
) element
;
34 if (user
.getName().matches(searchString
))
37 for (String key
: knownProps
) {
38 String currVal
= UiAdminUtils
.getProperty(user
, key
);
39 if (notNull(currVal
) && currVal
.toLowerCase().matches(searchString
))
46 private boolean notNull(String str
) {
47 return !(str
== null || "".equals(str
.trim()));