]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.util/src/org/argeo/osgi/useradmin/LdapUserAdmin.java
Introduce directory content provider
[lgpl/argeo-commons.git] / org.argeo.util / src / org / argeo / osgi / useradmin / LdapUserAdmin.java
index cd28748f583c70cbd6553fde16bd3d3a092ed369..af75bf03e524c7ed4b4f6d143fe74a4c6036ed1c 100644 (file)
@@ -1,6 +1,6 @@
 package org.argeo.osgi.useradmin;
 
-import static org.argeo.naming.LdapAttrs.objectClass;
+import static org.argeo.util.naming.LdapAttrs.objectClass;
 
 import java.util.ArrayList;
 import java.util.Dictionary;
@@ -95,16 +95,17 @@ public class LdapUserAdmin extends AbstractUserDirectory {
        }
 
        @Override
-       protected List<DirectoryUser> doGetRoles(Filter f) {
+       protected List<DirectoryUser> doGetRoles(LdapName searchBase, Filter f, boolean deep) {
                ArrayList<DirectoryUser> res = new ArrayList<DirectoryUser>();
                try {
                        String searchFilter = f != null ? f.toString()
                                        : "(|(" + objectClass + "=" + getUserObjectClass() + ")(" + objectClass + "="
                                                        + getGroupObjectClass() + "))";
                        SearchControls searchControls = new SearchControls();
-                       searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
+                       // FIXME make one level consistent with deep
+                       searchControls.setSearchScope(deep ? SearchControls.SUBTREE_SCOPE : SearchControls.ONELEVEL_SCOPE);
 
-                       LdapName searchBase = getBaseDn();
+                       // LdapName searchBase = getBaseDn();
                        NamingEnumeration<SearchResult> results = ldapConnection.search(searchBase, searchFilter, searchControls);
 
                        results: while (results.hasMoreElements()) {
@@ -186,4 +187,11 @@ public class LdapUserAdmin extends AbstractUserDirectory {
                // prepare not impacting
        }
 
+//     @Override
+//     public HierarchyUnit getHierarchyUnit(String path) {
+//             LdapName dn = LdapNameUtils.toLdapName(path);
+//             Attributes attrs = ldapConnection.getAttributes(dn);
+//             
+//     }
+
 }