X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.security.ui.admin%2Fsrc%2Forg%2Fargeo%2Fsecurity%2Fui%2Fadmin%2Finternal%2FUiAdminUtils.java;h=14762632ecb86153775577b29d450afa564b0396;hb=d01cf8af884e44c3ddc6482a9dca4ac73bb8e93a;hp=58ca19c6e5fbbf271e91597035b8d7f20460505a;hpb=d5ffed5d8b881677873e32abd39440d0a0ac73e0;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UiAdminUtils.java b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UiAdminUtils.java index 58ca19c6e..14762632e 100644 --- a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UiAdminUtils.java +++ b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UiAdminUtils.java @@ -1,80 +1,19 @@ package org.argeo.security.ui.admin.internal; -import java.security.AccessController; -import java.security.Principal; - -import javax.security.auth.Subject; -import javax.security.auth.x500.X500Principal; -import javax.transaction.Status; import javax.transaction.UserTransaction; import org.argeo.ArgeoException; +import org.argeo.security.ui.admin.internal.providers.UserTransactionProvider; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.services.ISourceProviderService; -import org.osgi.service.useradmin.Role; -import org.osgi.service.useradmin.User; /** First effort to centralize back end methods used by the user admin UI */ public class UiAdminUtils { - public final static String getUsername() { - Subject subject = Subject.getSubject(AccessController.getContext()); - Principal principal = subject.getPrincipals(X500Principal.class) - .iterator().next(); - return principal.getName(); - - } - - public final static String getUsername(User user) { - String cn = getProperty(user, UserAdminConstants.KEY_CN); - if (isEmpty(cn)) - cn = getProperty(user, UserAdminConstants.KEY_UID); - return cn; - } - - public final static String getProperty(Role role, String key) { - Object obj = role.getProperties().get(key); - if (obj != null) - return (String) obj; - else - return ""; - } - - public final static String getDefaultCn(String firstName, String lastName) { - return (firstName.trim() + " " + lastName.trim() + " ").trim(); - } - /* * 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()); - } - - public final static boolean isEmpty(String string) { - if (string == null) - return true; - else - return "".equals(string.trim()); - } - - /** Must be called from the UI Thread. */ - public final static void beginTransactionIfNeeded( - UserTransaction userTransaction) { - try { - if (userTransaction.getStatus() == Status.STATUS_NO_TRANSACTION) { - userTransaction.begin(); - notifyTransactionStateChange(userTransaction); - } - } catch (Exception e) { - throw new ArgeoException("Unable to begin transaction", e); - } - } - /** Easily notify the ActiveWindow that the transaction had a state change */ public final static void notifyTransactionStateChange( UserTransaction userTransaction) {