]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/commands/NewUser.java
Enable user and group deletion. Remove dynamic Editor icon that triggered NPE on...
[lgpl/argeo-commons.git] / org.argeo.security.ui.admin / src / org / argeo / security / ui / admin / commands / NewUser.java
index fce684a67c965cb1430c987c65594391d08fd961..656185b73e401f0c99cbc6d440d388b2f1a240b7 100644 (file)
@@ -17,6 +17,8 @@ package org.argeo.security.ui.admin.commands;
 
 import java.util.Dictionary;
 
+import javax.transaction.UserTransaction;
+
 import org.argeo.eclipse.ui.EclipseUiUtils;
 import org.argeo.eclipse.ui.dialogs.ErrorFeedback;
 import org.argeo.jcr.ArgeoNames;
@@ -49,10 +51,11 @@ import org.osgi.service.useradmin.UserAdmin;
 /** Open a wizard that enables creation of a new user. */
 public class NewUser extends AbstractHandler {
        // private final static Log log = LogFactory.getLog(NewUser.class);
-
        public final static String ID = SecurityAdminPlugin.PLUGIN_ID + ".newUser";
 
+       /* DEPENDENCY INJECTION */
        private UserAdmin userAdmin;
+       private UserTransaction userTransaction;
 
        // TODO implement a dynamic choice of the base dn
        private String getDn(String uid) {
@@ -108,6 +111,7 @@ public class NewUser extends AbstractHandler {
                                return false;
                        String username = mainUserInfo.getUsername();
                        try {
+                               UiAdminUtils.beginTransactionIfNeeded(userTransaction);
                                char[] password = mainUserInfo.getPassword();
                                User user = (User) userAdmin.createRole(getDn(username),
                                                Role.USER);
@@ -250,9 +254,13 @@ public class NewUser extends AbstractHandler {
 
                }
        }
-       
+
        /* DEPENDENCY INJECTION */
        public void setUserAdmin(UserAdmin userAdmin) {
                this.userAdmin = userAdmin;
        }
+
+       public void setUserTransaction(UserTransaction userTransaction) {
+               this.userTransaction = userTransaction;
+       }
 }
\ No newline at end of file