X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.security.ui.admin%2Fsrc%2Forg%2Fargeo%2Fsecurity%2Fui%2Fadmin%2Fcommands%2FNewUser.java;h=656185b73e401f0c99cbc6d440d388b2f1a240b7;hb=eec0cd2b46a2186b4df1b1a59962c81ae2a9bcb7;hp=fce684a67c965cb1430c987c65594391d08fd961;hpb=1b8ad59bf691c15ed1317378a83c71c56c81cad2;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/commands/NewUser.java b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/commands/NewUser.java index fce684a67..656185b73 100644 --- a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/commands/NewUser.java +++ b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/commands/NewUser.java @@ -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