]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms.ui/src/org/argeo/cms/util/useradmin/UserAdminWrapper.java
Clean userAdmin related classes
[lgpl/argeo-commons.git] / org.argeo.cms.ui / src / org / argeo / cms / util / useradmin / UserAdminWrapper.java
diff --git a/org.argeo.cms.ui/src/org/argeo/cms/util/useradmin/UserAdminWrapper.java b/org.argeo.cms.ui/src/org/argeo/cms/util/useradmin/UserAdminWrapper.java
deleted file mode 100644 (file)
index d38e77e..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.argeo.cms.util.useradmin;
-
-import java.util.ArrayList;
-import java.util.Dictionary;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.transaction.Status;
-import javax.transaction.UserTransaction;
-
-import org.argeo.cms.CmsException;
-import org.argeo.node.NodeConstants;
-import org.argeo.osgi.useradmin.UserAdminConf;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.useradmin.UserAdmin;
-import org.osgi.service.useradmin.UserAdminEvent;
-import org.osgi.service.useradmin.UserAdminListener;
-
-/**
- * Base useradmin wrapper. Implementing application might extends to add
- * business specific behaviour
- */
-public abstract class UserAdminWrapper {
-       // private Log log = LogFactory.getLog(UserAdminWrapper.class);
-
-       private UserAdmin userAdmin;
-       private ServiceReference<UserAdmin> userAdminServiceReference;
-       private UserTransaction userTransaction;
-
-       /* USER ADMIN LISTENER MANAGEMENT */
-       List<UserAdminListener> listeners = new ArrayList<UserAdminListener>();
-
-       // TODO implement safer mechanism
-       public void addListener(UserAdminListener userAdminListener) {
-               if (!listeners.contains(userAdminListener))
-                       listeners.add(userAdminListener);
-       }
-
-       /**
-        * Starts a transaction if none already exists and notify the userAdmin
-        * listeners.Must be called from the UI Thread.
-        */
-       public UserTransaction beginTransactionIfNeeded() {
-               try {
-                       if (userTransaction.getStatus() == Status.STATUS_NO_TRANSACTION) {
-                               userTransaction.begin();
-                       }
-                       return userTransaction;
-               } catch (Exception e) {
-                       throw new CmsException("Unable to begin transaction", e);
-               }
-       }
-
-       // Expose this?
-       public void removeListener(UserAdminListener userAdminListener) {
-               if (listeners.contains(userAdminListener))
-                       listeners.remove(userAdminListener);
-       }
-
-       public void notifyListeners(UserAdminEvent event) {
-               for (UserAdminListener listener : listeners)
-                       listener.roleChanged(event);
-       }
-
-       public Map<String, String> getKnownBaseDns(boolean onlyWritable) {
-               Map<String, String> dns = new HashMap<String, String>();
-               for (String uri : userAdminServiceReference.getPropertyKeys()) {
-                       if (!uri.startsWith("/"))
-                               continue;
-                       Dictionary<String, ?> props = UserAdminConf.uriAsProperties(uri);
-                       String readOnly = UserAdminConf.readOnly.getValue(props);
-                       String baseDn = UserAdminConf.baseDn.getValue(props);
-
-                       if (onlyWritable && "true".equals(readOnly))
-                               continue;
-                       if (baseDn.equalsIgnoreCase(NodeConstants.ROLES_BASEDN))
-                               continue;
-                       dns.put(baseDn, uri);
-               }
-               return dns;
-       }
-
-       public UserAdmin getUserAdmin() {
-               return userAdmin;
-       }
-
-       public UserTransaction getUserTransaction() {
-               return userTransaction;
-       }
-
-       /* DEPENDENCY INJECTION */
-       public void setUserAdmin(UserAdmin userAdmin) {
-               this.userAdmin = userAdmin;
-       }
-
-       public void setUserTransaction(UserTransaction userTransaction) {
-               this.userTransaction = userTransaction;
-       }
-
-       public void setUserAdminServiceReference(
-                       ServiceReference<UserAdmin> userAdminServiceReference) {
-               this.userAdminServiceReference = userAdminServiceReference;
-       }
-}
\ No newline at end of file