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=235e4d7e9d084bb0b9370eb8e1ba47eaba5803c8;hpb=15c69c8b17d393d554f95d7945e379133d6488fd;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 235e4d7e9..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) { @@ -80,10 +83,6 @@ public class NewUser extends AbstractHandler { ((UsersView) part).refresh(); } - public void setUserAdmin(UserAdmin userAdmin) { - this.userAdmin = userAdmin; - } - private class NewUserWizard extends Wizard { // pages @@ -100,8 +99,8 @@ public class NewUser extends AbstractHandler { public void addPages() { mainUserInfo = new MainUserInfoWizardPage(); addPage(mainUserInfo); - String message = "Dummy wizard to ease user creation tests: mail, last name are automatically " - + "generated form the uid, password are defauted to 'demo'."; + String message = "Dummy wizard to ease user creation tests:\n Mail and last name are automatically " + + "generated form the uid. Password are defauted to 'demo'."; mainUserInfo.setMessage(message, WizardPage.WARNING); } @@ -112,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); @@ -255,6 +255,12 @@ public class NewUser extends AbstractHandler { } } - // Local helpers + /* DEPENDENCY INJECTION */ + public void setUserAdmin(UserAdmin userAdmin) { + this.userAdmin = userAdmin; + } + public void setUserTransaction(UserTransaction userTransaction) { + this.userTransaction = userTransaction; + } } \ No newline at end of file