View Javadoc
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  /** Ask first & last name. Update the passed node on finish */
13  public class NewUserWizard extends Wizard implements PeopleNames {
14  	// private final static Log log = LogFactory.getLog(NewPersonWizard.class);
15  
16  	// Context
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  	 * Called when the user click on 'Finish' in the wizard. The task is then
42  	 * created and the corresponding session saved.
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  }