1 package org
.argeo
.security
.ui
.admin
.wizards
;
4 import javax
.jcr
.Session
;
6 import org
.argeo
.eclipse
.ui
.dialogs
.Error
;
7 import org
.argeo
.jcr
.ArgeoNames
;
8 import org
.argeo
.jcr
.JcrUtils
;
9 import org
.argeo
.security
.UserAdminService
;
10 import org
.argeo
.security
.jcr
.JcrUserDetails
;
11 import org
.eclipse
.jface
.wizard
.Wizard
;
12 import org
.springframework
.security
.GrantedAuthority
;
14 /** Wizard to create a new user */
15 public class NewUserWizard
extends Wizard
{
16 private String homeBasePath
= "/home";
17 private Session session
;
18 private UserAdminService userAdminService
;
21 private MainUserInfoWizardPage mainUserInfo
;
23 public NewUserWizard(Session session
, UserAdminService userAdminService
) {
24 this.session
= session
;
25 this.userAdminService
= userAdminService
;
29 public void addPages() {
30 mainUserInfo
= new MainUserInfoWizardPage(userAdminService
);
31 addPage(mainUserInfo
);
35 public boolean performFinish() {
40 String username
= mainUserInfo
.getUsername();
42 Node userHome
= JcrUtils
.createUserHome(session
, homeBasePath
,
44 Node userProfile
= userHome
.getNode(ArgeoNames
.ARGEO_PROFILE
);
45 mainUserInfo
.mapToProfileNode(userProfile
);
46 String password
= mainUserInfo
.getPassword();
47 JcrUserDetails jcrUserDetails
= new JcrUserDetails(
48 userHome
.getPath(), username
, password
, true, true, true,
49 true, new GrantedAuthority
[0]);
51 userAdminService
.createUser(jcrUserDetails
);
53 } catch (Exception e
) {
54 JcrUtils
.discardQuietly(session
);
55 Error
.show("Cannot create new user", e
);
60 public void setSession(Session session
) {
61 this.session
= session
;