1 package org.argeo.people.ui.dialogs;
2
3 import javax.jcr.Node;
4
5 import org.argeo.connect.resources.ResourcesService;
6 import org.argeo.people.PeopleException;
7 import org.argeo.people.PeopleNames;
8 import org.argeo.people.PeopleService;
9 import org.argeo.people.ui.PeopleMsg;
10 import org.eclipse.jface.wizard.Wizard;
11
12
13 public class NewUserWizard extends Wizard implements PeopleNames {
14
15
16
17 private Node person;
18
19 private NewPersonPage newPersonPage;
20 private PeopleService peopleService;
21 private ResourcesService resourcesService;
22
23 public NewUserWizard(Node person, PeopleService peopleService, ResourcesService resourcesService) {
24 this.person = person;
25 this.peopleService = peopleService;
26 this.resourcesService = resourcesService;
27 }
28
29 @Override
30 public void addPages() {
31 try {
32 newPersonPage = new NewPersonPage("New person page");
33 addPage(newPersonPage);
34 } catch (Exception e) {
35 throw new PeopleException("Cannot add page to wizard", e);
36 }
37 setWindowTitle(PeopleMsg.personWizardWindowTitle.lead());
38 }
39
40
41
42
43
44 @Override
45 public boolean performFinish() {
46 newPersonPage.updateNode(person, peopleService, resourcesService);
47 return true;
48 }
49
50 @Override
51 public boolean performCancel() {
52 return true;
53 }
54
55 @Override
56 public boolean canFinish() {
57 return newPersonPage.isPageComplete();
58 }
59
60 }