]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms.ui.workbench/src/org/argeo/eclipse/ui/workbench/internal/users/UsersUtils.java
Clean and refactor cms.ui.workbench bundle
[lgpl/argeo-commons.git] / org.argeo.cms.ui.workbench / src / org / argeo / eclipse / ui / workbench / internal / users / UsersUtils.java
diff --git a/org.argeo.cms.ui.workbench/src/org/argeo/eclipse/ui/workbench/internal/users/UsersUtils.java b/org.argeo.cms.ui.workbench/src/org/argeo/eclipse/ui/workbench/internal/users/UsersUtils.java
deleted file mode 100644 (file)
index 397ecde..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-package org.argeo.eclipse.ui.workbench.internal.users;
-
-import java.security.AccessController;
-import java.util.List;
-
-import javax.naming.InvalidNameException;
-import javax.naming.ldap.LdapName;
-import javax.naming.ldap.Rdn;
-import javax.security.auth.Subject;
-import javax.security.auth.x500.X500Principal;
-
-import org.argeo.eclipse.ui.EclipseUiException;
-import org.argeo.osgi.useradmin.LdifName;
-import org.osgi.service.useradmin.Role;
-import org.osgi.service.useradmin.User;
-
-/** Utility methods to manage user concepts in the ui.workbench bundle */
-public class UsersUtils {
-       // TODO this constant is defined in the CMS
-       public final static String ROLES_BASEDN = "ou=roles,ou=node";
-
-       public final static boolean isCurrentUser(User user) {
-               String userName = getProperty(user, LdifName.dn.name());
-               try {
-                       LdapName selfUserName = getLdapName();
-                       LdapName userLdapName = new LdapName(userName);
-                       if (userLdapName.equals(selfUserName))
-                               return true;
-                       else
-                               return false;
-               } catch (InvalidNameException e) {
-                       throw new EclipseUiException("User " + user + " has an unvalid dn: "
-                                       + userName, e);
-               }
-       }
-
-       public final static LdapName getLdapName() {
-               Subject subject = Subject.getSubject(AccessController.getContext());
-               String name = subject.getPrincipals(X500Principal.class).iterator()
-                               .next().toString();
-               LdapName dn;
-               try {
-                       dn = new LdapName(name);
-               } catch (InvalidNameException e) {
-                       throw new EclipseUiException("Invalid user dn " + name, e);
-               }
-               return dn;
-       }
-
-       public final static String getCommonName(User user) {
-               return getProperty(user, LdifName.cn.name());
-       }
-
-       /** Simply retrieves a display name of the relevant domain */
-       public final static String getDomainName(User user) {
-               String dn = (String) user.getProperties().get(LdifName.dn.name());
-               if (dn.endsWith(ROLES_BASEDN))
-                       return "System roles";
-               try {
-                       LdapName name;
-                       name = new LdapName(dn);
-                       List<Rdn> rdns = name.getRdns();
-                       String dname = null;
-                       int i = 0;
-                       loop: while (i < rdns.size()) {
-                               Rdn currrRdn = rdns.get(i);
-                               if (!"dc".equals(currrRdn.getType()))
-                                       break loop;
-                               else {
-                                       String currVal = (String) currrRdn.getValue();
-                                       dname = dname == null ? currVal : currVal + "." + dname;
-                               }
-                               i++;
-                       }
-                       return dname;
-               } catch (InvalidNameException e) {
-                       throw new EclipseUiException("Unable to get domain name for " + dn, e);
-               }
-       }
-
-       public final static String getProperty(Role role, String key) {
-               Object obj = role.getProperties().get(key);
-               if (obj != null)
-                       return (String) obj;
-               else
-                       return "";
-       }
-
-       /*
-        * INTERNAL METHODS: Below methods are meant to stay here and are not part
-        * of a potential generic backend to manage the useradmin
-        */
-       public final static boolean notNull(String string) {
-               if (string == null)
-                       return false;
-               else
-                       return !"".equals(string.trim());
-       }
-
-}
\ No newline at end of file