X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Facr%2Fdirectory%2FHierarchyUnitContent.java;h=9c1a480ba66f1a8de030558fbbc7393036f32f69;hb=0ce8ecfe974cec9f524c16884209cd08544d890d;hp=f6a0e3b5266d30f6f1d411e2dd6357a41a6fd644;hpb=df60fd8de17590b8f4ab32fd0278e57aaaedbfa2;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 f6a0e3b52..9c1a480ba 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 @@ -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; import java.util.Objects; @@ -10,29 +11,24 @@ import javax.xml.namespace.QName; import org.argeo.api.acr.Content; import org.argeo.api.acr.ContentName; import org.argeo.api.acr.CrName; -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.UserDirectory; import org.argeo.util.directory.HierarchyUnit; import org.osgi.service.useradmin.Role; -class HierarchyUnitContent extends AbstractContent { +class HierarchyUnitContent extends AbstractDirectoryContent { private HierarchyUnit hierarchyUnit; - private DirectoryContentProvider provider; - public HierarchyUnitContent(ProvidedSession session, DirectoryContentProvider provider, HierarchyUnit hierarchyUnit) { - super(session); + super(session, provider); Objects.requireNonNull(hierarchyUnit); - this.provider = provider; this.hierarchyUnit = hierarchyUnit; } @Override - public ContentProvider getProvider() { - return provider; + Dictionary doGetProperties() { + return hierarchyUnit.getProperties(); } @Override @@ -69,12 +65,19 @@ class HierarchyUnitContent extends AbstractContent { /* * TYPING */ - @Override public List getTypes() { - List res = new ArrayList<>(); - res.add(CrName.COLLECTION.get()); - return res; + List contentClasses = super.getTypes(); + contentClasses.add(CrName.COLLECTION.get()); + return contentClasses; + } + + @SuppressWarnings("unchecked") + @Override + public A adapt(Class clss) { + if (clss.equals(HierarchyUnit.class)) + return (A) hierarchyUnit; + return super.adapt(clss); } /*