X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Facr%2Fdirectory%2FHierarchyUnitContent.java;h=5ec57c51f859297b8553c31b1852d79edc7d2838;hb=ddc70245fe7413b7341205914c91015600726b4a;hp=9184c63afbb23fb53e9fdf7f0d6204720f5ffff6;hpb=4c7e1885b8bf3c93fa0919ace122e3f289a925ea;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/acr/directory/HierarchyUnitContent.java b/org.argeo.cms/src/org/argeo/cms/acr/directory/HierarchyUnitContent.java index 9184c63af..5ec57c51f 100644 --- a/org.argeo.cms/src/org/argeo/cms/acr/directory/HierarchyUnitContent.java +++ b/org.argeo.cms/src/org/argeo/cms/acr/directory/HierarchyUnitContent.java @@ -16,7 +16,7 @@ import org.argeo.cms.acr.AbstractContent; import org.argeo.osgi.useradmin.HierarchyUnit; import org.osgi.service.useradmin.Role; -public class HierarchyUnitContent extends AbstractContent { +class HierarchyUnitContent extends AbstractContent { private HierarchyUnit hierarchyUnit; private DirectoryContentProvider provider; @@ -36,10 +36,10 @@ public class HierarchyUnitContent extends AbstractContent { @Override public QName getName() { - if (hierarchyUnit.getParent() == null) {// base DN - String baseDn = hierarchyUnit.getBasePath(); - return new ContentName(baseDn); - } +// if (hierarchyUnit.getParent() == null) {// base DN +// String baseDn = hierarchyUnit.getBasePath(); +// return new ContentName(baseDn); +// } String name = hierarchyUnit.getHierarchyUnitName(); return new ContentName(name); } @@ -48,7 +48,7 @@ public class HierarchyUnitContent extends AbstractContent { public Content getParent() { HierarchyUnit parentHu = hierarchyUnit.getParent(); if (parentHu == null) { - return provider.getRootContent(getSession()); + return new DirectoryContent(getSession(), provider, hierarchyUnit.getDirectory()); } return new HierarchyUnitContent(getSession(), provider, parentHu); } @@ -56,10 +56,10 @@ public class HierarchyUnitContent extends AbstractContent { @Override public Iterator iterator() { List lst = new ArrayList<>(); - for (int i = 0; i < hierarchyUnit.getHierarchyChildCount(); i++) - lst.add(new HierarchyUnitContent(getSession(), provider, hierarchyUnit.getHierarchyChild(i))); + for (HierarchyUnit hu : hierarchyUnit.getDirectHierachyUnits()) + lst.add(new HierarchyUnitContent(getSession(), provider, hu)); - for (Role role : hierarchyUnit.getRoles(null, false)) + for (Role role : hierarchyUnit.getHierarchyUnitRoles(null, false)) lst.add(new RoleContent(getSession(), provider, this, role)); return lst.iterator(); } @@ -75,4 +75,12 @@ public class HierarchyUnitContent extends AbstractContent { return res; } + /* + * ACCESSOR + */ + HierarchyUnit getHierarchyUnit() { + return hierarchyUnit; + } + + }