package org.argeo.security.ui.admin.internal.providers;
-import java.util.List;
-
-import javax.naming.InvalidNameException;
-import javax.naming.ldap.LdapName;
-import javax.naming.ldap.Rdn;
-
-import org.argeo.ArgeoException;
-import org.argeo.osgi.useradmin.LdifName;
-import org.argeo.security.ui.admin.internal.UserAdminConstants;
+import org.argeo.security.ui.admin.internal.UiAdminUtils;
import org.osgi.service.useradmin.User;
/** The human friendly domain name for the corresponding user. */
@Override
public String getText(User user) {
- String dn = (String) user.getProperties().get(LdifName.dn.name());
- if (dn.endsWith(UserAdminConstants.SYSTEM_ROLE_BASE_DN))
- return "System roles";
- try {
- LdapName name;
- name = new LdapName(dn);
- List<Rdn> rdns = name.getRdns();
- return (String) rdns.get(1).getValue() + '.'
- + (String) rdns.get(0).getValue();
- } catch (InvalidNameException e) {
- throw new ArgeoException("Unable to get domain name for " + dn, e);
- }
+ return UiAdminUtils.getDomainName(user);
}
}
\ No newline at end of file