Introduce CMS-specific user APIs, based at this stage on OSGi UserAdmin
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / acr / directory / DirectoryContent.java
index b0c1b6bd18ba66bca3d8887a5dc390411897c51b..50eea156d52442e6e406341d5aeaf105783c7d14 100644 (file)
@@ -1,6 +1,7 @@
 package org.argeo.cms.acr.directory;
 
 import java.util.ArrayList;
+import java.util.Dictionary;
 import java.util.Iterator;
 import java.util.List;
 
@@ -8,31 +9,27 @@ import javax.xml.namespace.QName;
 
 import org.argeo.api.acr.Content;
 import org.argeo.api.acr.ContentName;
-import org.argeo.api.acr.spi.ContentProvider;
 import org.argeo.api.acr.spi.ProvidedSession;
-import org.argeo.cms.acr.AbstractContent;
-import org.argeo.osgi.useradmin.HierarchyUnit;
-import org.argeo.osgi.useradmin.UserDirectory;
+import org.argeo.api.cms.directory.CmsDirectory;
+import org.argeo.api.cms.directory.HierarchyUnit;
 
-class DirectoryContent extends AbstractContent {
-       private UserDirectory directory;
-       private DirectoryContentProvider provider;
+class DirectoryContent extends AbstractDirectoryContent {
+       private CmsDirectory directory;
 
-       public DirectoryContent(ProvidedSession session, DirectoryContentProvider provider, UserDirectory directory) {
-               super(session);
-               this.provider = provider;
+       public DirectoryContent(ProvidedSession session, DirectoryContentProvider provider, CmsDirectory directory) {
+               super(session, provider);
                this.directory = directory;
        }
 
        @Override
-       public ContentProvider getProvider() {
-               return provider;
+       Dictionary<String, Object> doGetProperties() {
+               return directory.getProperties();
        }
 
        @Override
        public Iterator<Content> iterator() {
                List<Content> res = new ArrayList<>();
-               for (Iterator<HierarchyUnit> it = directory.getRootHierarchyUnits().iterator(); it.hasNext();) {
+               for (Iterator<HierarchyUnit> it = directory.getDirectHierarchyUnits(false).iterator(); it.hasNext();) {
                        res.add(new HierarchyUnitContent(getSession(), provider, it.next()));
                }
                return res.iterator();