X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.util%2Fsrc%2Forg%2Fargeo%2Futil%2Fdirectory%2Fldap%2FLdapHierarchyUnit.java;h=961f2e35886c1fd783d60dd7d10d0b421cc3f602;hb=3c1cdc594d954520b14646102b366290bdad58c7;hp=c2fdef4d229d5eb76faf342ccd571d1f6e23f72e;hpb=3066d79e3ced9339679672242bdf2340a03e1f29;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.util/src/org/argeo/util/directory/ldap/LdapHierarchyUnit.java b/org.argeo.util/src/org/argeo/util/directory/ldap/LdapHierarchyUnit.java index c2fdef4d2..961f2e358 100644 --- a/org.argeo.util/src/org/argeo/util/directory/ldap/LdapHierarchyUnit.java +++ b/org.argeo.util/src/org/argeo/util/directory/ldap/LdapHierarchyUnit.java @@ -1,6 +1,7 @@ package org.argeo.util.directory.ldap; -import javax.naming.directory.Attributes; +import java.util.Locale; + import javax.naming.ldap.LdapName; import javax.naming.ldap.Rdn; @@ -10,8 +11,8 @@ import org.argeo.util.directory.HierarchyUnit; public class LdapHierarchyUnit extends DefaultLdapEntry implements HierarchyUnit { private final boolean functional; - public LdapHierarchyUnit(AbstractLdapDirectory directory, LdapName dn, Attributes attributes) { - super(directory, dn, attributes); + public LdapHierarchyUnit(AbstractLdapDirectory directory, LdapName dn) { + super(directory, dn); Rdn rdn = LdapNameUtils.getLastRdn(dn); functional = !(directory.getUserBaseRdn().equals(rdn) || directory.getGroupBaseRdn().equals(rdn) @@ -41,7 +42,17 @@ public class LdapHierarchyUnit extends DefaultLdapEntry implements HierarchyUnit } @Override - public String getContext() { + public String getHierarchyUnitLabel(Locale locale) { + String key = LdapNameUtils.getLastRdn(getDn()).getType(); + Object value = LdapEntry.getLocalized(getProperties(), key, locale); + if (value == null) + value = getHierarchyUnitName(); + assert value != null; + return value.toString(); + } + + @Override + public String getBase() { return getDn().toString(); }