X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.util%2Fsrc%2Forg%2Fargeo%2Fosgi%2Fuseradmin%2FLdifGroup.java;fp=org.argeo.util%2Fsrc%2Forg%2Fargeo%2Fosgi%2Fuseradmin%2FLdifGroup.java;h=7aad15a8c4d404453079b64e2da0dbc03d9816c1;hb=dc27b57704278684e72efcaf72b01c5b91df39f8;hp=72b08a8c3d0fc59c78fd3a0f3dc35ec45a0ffbd1;hpb=e2ffdf6872592aa22d0de2b0ec69ee4eca698c45;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.util/src/org/argeo/osgi/useradmin/LdifGroup.java b/org.argeo.util/src/org/argeo/osgi/useradmin/LdifGroup.java index 72b08a8c3..7aad15a8c 100644 --- a/org.argeo.util/src/org/argeo/osgi/useradmin/LdifGroup.java +++ b/org.argeo.util/src/org/argeo/osgi/useradmin/LdifGroup.java @@ -4,8 +4,6 @@ import java.util.ArrayList; import java.util.List; import javax.naming.InvalidNameException; -import javax.naming.NamingEnumeration; -import javax.naming.NamingException; import javax.naming.directory.Attribute; import javax.naming.directory.Attributes; import javax.naming.ldap.LdapName; @@ -13,13 +11,14 @@ import javax.naming.ldap.LdapName; import org.argeo.util.directory.FunctionalGroup; import org.argeo.util.directory.Organization; import org.argeo.util.directory.SystemPermissions; +import org.argeo.util.directory.ldap.AbstractLdapDirectory; import org.osgi.service.useradmin.Role; /** Directory group implementation */ abstract class LdifGroup extends LdifUser implements DirectoryGroup { private final String memberAttributeId; - LdifGroup(AbstractUserDirectory userAdmin, LdapName dn, Attributes attributes) { + LdifGroup(AbstractLdapDirectory userAdmin, LdapName dn, Attributes attributes) { super(userAdmin, dn, attributes); memberAttributeId = userAdmin.getMemberAttributeId(); } @@ -74,7 +73,7 @@ abstract class LdifGroup extends LdifUser implements DirectoryGroup { @Override public Role[] getMembers() { List directMembers = new ArrayList(); - for (LdapName ldapName : getMemberNames()) { + for (LdapName ldapName : getReferences(memberAttributeId)) { Role role = findRole(ldapName); if (role == null) { throw new IllegalStateException("Role " + ldapName + " not found."); @@ -98,23 +97,23 @@ abstract class LdifGroup extends LdifUser implements DirectoryGroup { return role; } - @Override - public List getMemberNames() { - Attribute memberAttribute = getAttributes().get(memberAttributeId); - if (memberAttribute == null) - return new ArrayList(); - try { - List roles = new ArrayList(); - NamingEnumeration values = memberAttribute.getAll(); - while (values.hasMore()) { - LdapName dn = new LdapName(values.next().toString()); - roles.add(dn); - } - return roles; - } catch (NamingException e) { - throw new IllegalStateException("Cannot get members", e); - } - } +// @Override +// public List getMemberNames() { +// Attribute memberAttribute = getAttributes().get(memberAttributeId); +// if (memberAttribute == null) +// return new ArrayList(); +// try { +// List roles = new ArrayList(); +// NamingEnumeration values = memberAttribute.getAll(); +// while (values.hasMore()) { +// LdapName dn = new LdapName(values.next().toString()); +// roles.add(dn); +// } +// return roles; +// } catch (NamingException e) { +// throw new IllegalStateException("Cannot get members", e); +// } +// } @Override public Role[] getRequiredMembers() { @@ -131,7 +130,7 @@ abstract class LdifGroup extends LdifUser implements DirectoryGroup { */ static class LdifFunctionalGroup extends LdifGroup implements FunctionalGroup { - public LdifFunctionalGroup(AbstractUserDirectory userAdmin, LdapName dn, Attributes attributes) { + public LdifFunctionalGroup(DirectoryUserAdmin userAdmin, LdapName dn, Attributes attributes) { super(userAdmin, dn, attributes); } @@ -139,7 +138,7 @@ abstract class LdifGroup extends LdifUser implements DirectoryGroup { static class LdifOrganization extends LdifGroup implements Organization { - public LdifOrganization(AbstractUserDirectory userAdmin, LdapName dn, Attributes attributes) { + public LdifOrganization(DirectoryUserAdmin userAdmin, LdapName dn, Attributes attributes) { super(userAdmin, dn, attributes); } @@ -147,7 +146,7 @@ abstract class LdifGroup extends LdifUser implements DirectoryGroup { static class LdifSystemPermissions extends LdifGroup implements SystemPermissions { - public LdifSystemPermissions(AbstractUserDirectory userAdmin, LdapName dn, Attributes attributes) { + public LdifSystemPermissions(DirectoryUserAdmin userAdmin, LdapName dn, Attributes attributes) { super(userAdmin, dn, attributes); }