]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.util/src/org/argeo/util/directory/ldap/LdifDao.java
Introduce WebDav support
[lgpl/argeo-commons.git] / org.argeo.util / src / org / argeo / util / directory / ldap / LdifDao.java
index 740a4762468405e762bba24ad8b61e3b01a1d4ef..7387d9e0f9cd52f735ec94625fa296380431d259 100644 (file)
@@ -12,9 +12,7 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Dictionary;
 import java.util.HashSet;
-import java.util.Hashtable;
 import java.util.List;
 import java.util.NavigableMap;
 import java.util.Objects;
@@ -28,7 +26,6 @@ import javax.naming.NamingException;
 import javax.naming.directory.Attributes;
 import javax.naming.ldap.LdapName;
 
-import org.argeo.util.directory.DirectoryConf;
 import org.argeo.util.directory.HierarchyUnit;
 import org.argeo.util.naming.LdapObjs;
 import org.osgi.framework.Filter;
@@ -86,12 +83,12 @@ public class LdifDao extends AbstractLdapDirectoryDao {
 //             return scopedUserAdmin;
 //     }
 
-       private static Dictionary<String, Object> fromUri(String uri, String baseDn) {
-               Hashtable<String, Object> res = new Hashtable<String, Object>();
-               res.put(DirectoryConf.uri.name(), uri);
-               res.put(DirectoryConf.baseDn.name(), baseDn);
-               return res;
-       }
+//     private static Dictionary<String, Object> fromUri(String uri, String baseDn) {
+//             Hashtable<String, Object> res = new Hashtable<String, Object>();
+//             res.put(DirectoryConf.uri.name(), uri);
+//             res.put(DirectoryConf.baseDn.name(), baseDn);
+//             return res;
+//     }
 
        public void init() {
 
@@ -227,6 +224,15 @@ public class LdifDao extends AbstractLdapDirectoryDao {
                throw new NameNotFoundException(key + " not persisted");
        }
 
+       @Override
+       public Attributes doGetAttributes(LdapName name) {
+               try {
+                       return doGetEntry(name).getAttributes();
+               } catch (NameNotFoundException e) {
+                       throw new IllegalStateException(name + " doe not exist in " + getDirectory().getBaseDn(), e);
+               }
+       }
+
        @Override
        public Boolean entryExists(LdapName dn) {
                return entries.containsKey(dn);// || groups.containsKey(dn);