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=0154f03bdef9592db4c4ed87b4540f06111b2249;hb=d5ffed5d8b881677873e32abd39440d0a0ac73e0;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..0154f03bd 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); @@ -131,8 +135,7 @@ public class NewUser extends AbstractHandler { if (UiAdminUtils.notNull(mailStr)) props.put(UserAdminConstants.KEY_MAIL, mailStr); - // TODO MANAGE Password - // pwd1Txt.getText(); + user.getCredentials().put(null, password); return true; } catch (Exception e) { ErrorFeedback.show("Cannot create new user " + username, e); @@ -250,9 +253,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