]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/util/useradmin/UserAdminUtils.java
Make home repository more generic.
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / util / useradmin / UserAdminUtils.java
index e6e3e91e0fc552687fe9a5bf37a5b31f3229dc69..5c197c1ae022d259a82da9d50b1745c7d114a580 100644 (file)
@@ -11,7 +11,6 @@ import javax.security.auth.Subject;
 import javax.security.auth.x500.X500Principal;
 
 import org.argeo.ArgeoException;
-import org.argeo.cms.CmsException;
 import org.argeo.cms.CmsView;
 import org.argeo.cms.auth.AuthConstants;
 import org.argeo.cms.auth.CurrentUser;
@@ -136,7 +135,7 @@ public class UserAdminUtils {
                Subject subject = Subject.getSubject(AccessController.getContext());
                if (subject != null)
                        return subject;
-               throw new CmsException("Cannot find related subject");
+               throw new RuntimeException("Cannot find related subject");
        }
 
        // HOME MANAGEMENT
@@ -161,18 +160,14 @@ public class UserAdminUtils {
        // HELPERS TO RETRIEVE REMARKABLE PROPERTIES
        /** Simply retrieves the user uid from his dn with no useradmin */
        public static String getUserUid(String dn) {
-               try {
-                       LdapName ldapName = new LdapName(dn);
-                       Rdn last = ldapName.getRdn(ldapName.size() - 1);
-                       if (last.getType().toLowerCase().equals(LdifName.uid.name())
-                                       || last.getType().toLowerCase().equals(LdifName.cn.name()))
-                               return (String) last.getValue();
-                       else
-                               throw new ArgeoException("Cannot retrieve user uid, "
-                                               + "non valid dn: " + dn);
-               } catch (InvalidNameException e) {
-                       throw new ArgeoException("Cannot parse LDAP name " + dn, e);
-               }
+               LdapName ldapName = getLdapName(dn);
+               Rdn last = ldapName.getRdn(ldapName.size() - 1);
+               if (last.getType().toLowerCase().equals(LdifName.uid.name())
+                               || last.getType().toLowerCase().equals(LdifName.cn.name()))
+                       return (String) last.getValue();
+               else
+                       throw new ArgeoException("Cannot retrieve user uid, "
+                                       + "non valid dn: " + dn);
        }
 
        /**