return getLdapName(name);
}
- /** Retrieves the current logged-in user display name. */
+ /** Retrieves the current logged-in user mail */
public static String getCurrentUserMail(UserAdmin userAdmin) {
String username = CurrentUser.getUsername();
return getUserMail(userAdmin, username);
}
+ /** Retrieves the current logged-in user common name */
+ public final static String getCommonName(User user) {
+ return getProperty(user, LdapAttrs.cn.name());
+ }
+
// OTHER USERS HELPERS
/**
- * Retrieves the local id of a user or group, that is respectively the uid
- * or cn of the passed dn with no {@link UserAdmin}
+ * Retrieves the local id of a user or group, that is respectively the uid or cn
+ * of the passed dn with no {@link UserAdmin}
*/
public static String getUserLocalId(String dn) {
LdapName ldapName = getLdapName(dn);
}
/**
- * Returns the local username if no user with this dn is found or if the
- * found user has no defined display name
+ * Returns the local username if no user with this dn is found or if the found
+ * user has no defined display name
*/
public static String getUserDisplayName(UserAdmin userAdmin, String dn) {
Role user = userAdmin.getRole(dn);
// LDAP NAMES HELPERS
/**
- * Easily retrieves one of the {@link Role}'s property or an empty String if
- * the requested property is not defined
+ * Easily retrieves one of the {@link Role}'s property or an empty String if the
+ * requested property is not defined
*/
public final static String getProperty(Role role, String key) {
Object obj = role.getProperties().get(key);
return "";
}
+ public final static String getProperty(Role role, Enum<?> key) {
+ Object obj = role.getProperties().get(key.name());
+ if (obj != null)
+ return (String) obj;
+ else
+ return "";
+ }
+
+ @SuppressWarnings("unchecked")
+ public final static void setProperty(Role role, String key, String value) {
+ role.getProperties().put(key, value);
+ }
+
+ public final static void setProperty(Role role, Enum<?> key, String value) {
+ setProperty(role, key.name(), value);
+ }
+
/**
- * Simply retrieves a LDAP name from a {@link LdapAttrs.DN} with no
- * exception
+ * Simply retrieves a LDAP name from a {@link LdapAttrs.DN} with no exception
*/
private static LdapName getLdapName(String dn) {
try {
String dn = user.getName();
if (dn.endsWith(NodeConstants.ROLES_BASEDN))
return "System roles";
+ if (dn.endsWith(NodeConstants.TOKENS_BASEDN))
+ return "Tokens";
try {
+ // FIXME deal with non-DC
LdapName name = new LdapName(dn);
List<Rdn> rdns = name.getRdns();
String dname = null;