]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/acr/directory/RoleContent.java
Rename transaction package
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / acr / directory / RoleContent.java
index 8043205ec4371df0d2e6308434b1ee0a9db985c1..bf3b319f40bd4aa5f248e2cdb637b5cca74028e4 100644 (file)
@@ -7,7 +7,6 @@ import java.util.Optional;
 import java.util.Set;
 import java.util.TreeSet;
 
-import javax.naming.ldap.LdapName;
 import javax.swing.GroupLayout.Group;
 import javax.xml.namespace.QName;
 
@@ -18,13 +17,12 @@ import org.argeo.api.acr.NamespaceUtils;
 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.LdapNameUtils;
 import org.argeo.util.naming.LdapAttrs;
 import org.argeo.util.naming.LdapObjs;
 import org.osgi.service.useradmin.Role;
 import org.osgi.service.useradmin.User;
 
-public class RoleContent extends AbstractContent {
+class RoleContent extends AbstractContent {
 
        private DirectoryContentProvider provider;
        private HierarchyUnitContent parent;
@@ -45,8 +43,7 @@ public class RoleContent extends AbstractContent {
 
        @Override
        public QName getName() {
-               LdapName dn = LdapNameUtils.toLdapName(role.getName());
-               String name = LdapNameUtils.getLastRdnAsString(dn);
+               String name = parent.getHierarchyUnit().getDirectory().getRoleSimpleName(role);
                return new ContentName(name);
        }
 
@@ -82,17 +79,16 @@ public class RoleContent extends AbstractContent {
        @Override
        public List<QName> getTypes() {
                List<QName> contentClasses = new ArrayList<>();
-               keys: for (Enumeration<String> it = role.getProperties().keys(); it.hasMoreElements();) {
-                       String key = it.nextElement();
-                       if (key.equalsIgnoreCase(LdapAttrs.objectClass.name())) {
-                               String[] objectClasses = role.getProperties().get(key).toString().split("\\n");
-                               objectClasses: for (String objectClass : objectClasses) {
-                                       if (LdapObjs.top.name().equalsIgnoreCase(objectClass))
-                                               continue objectClasses;
-                                       contentClasses.add(new ContentName(CrName.LDAP_NAMESPACE_URI, objectClass, provider));
-                               }
-                               break keys;
-                       }
+               String objectClass = role.getProperties().get(LdapAttrs.objectClass.name()).toString();
+               contentClasses.add(new ContentName(CrName.LDAP_NAMESPACE_URI, objectClass, provider));
+
+               String[] objectClasses = role.getProperties().get(LdapAttrs.objectClasses.name()).toString().split("\\n");
+               objectClasses: for (String oc : objectClasses) {
+                       if (LdapObjs.top.name().equalsIgnoreCase(oc))
+                               continue objectClasses;
+                       if (objectClass.equalsIgnoreCase(oc))
+                               continue objectClasses;
+                       contentClasses.add(new ContentName(CrName.LDAP_NAMESPACE_URI, oc, provider));
                }
                return contentClasses;
        }