View Javadoc
1   package org.argeo.tracker.ui;
2   
3   import javax.jcr.Node;
4   
5   import org.argeo.activities.ActivitiesService;
6   import org.argeo.connect.UserAdminService;
7   import org.argeo.connect.ui.AppUiService;
8   import org.argeo.connect.util.ConnectJcrUtils;
9   import org.argeo.tracker.TrackerService;
10  import org.argeo.tracker.TrackerTypes;
11  import org.argeo.tracker.ui.dialogs.ConfigureComponentWizard;
12  import org.argeo.tracker.ui.dialogs.ConfigureIssueWizard;
13  import org.argeo.tracker.ui.dialogs.ConfigureMilestoneWizard;
14  import org.argeo.tracker.ui.dialogs.ConfigureProjectWizard;
15  import org.argeo.tracker.ui.dialogs.ConfigureTaskWizard;
16  import org.argeo.tracker.ui.dialogs.ConfigureVersionWizard;
17  import org.eclipse.jface.wizard.Wizard;
18  import org.eclipse.swt.graphics.Image;
19  
20  /**
21   * Centralise here the definition of context specific parameters (for instance
22   * the name of the command to open editors so that it is easily extended by
23   * specific extensions
24   */
25  public class TrackerUiService implements AppUiService {
26  
27  	private UserAdminService userAdminService;
28  	private TrackerService trackerService;
29  	private ActivitiesService activitiesService;
30  
31  	@Override
32  	public Wizard getCreationWizard(Node node) {
33  		if (ConnectJcrUtils.isNodeType(node, TrackerTypes.TRACKER_ISSUE))
34  			return new ConfigureIssueWizard(userAdminService, trackerService, node);
35  		else if (ConnectJcrUtils.isNodeType(node, TrackerTypes.TRACKER_TASK))
36  			return new ConfigureTaskWizard(userAdminService, activitiesService, trackerService, null, node);
37  		else if (ConnectJcrUtils.isNodeType(node, TrackerTypes.TRACKER_MILESTONE))
38  			return new ConfigureMilestoneWizard(userAdminService, trackerService, node);
39  		else if (ConnectJcrUtils.isNodeType(node, TrackerTypes.TRACKER_VERSION))
40  			return new ConfigureVersionWizard(trackerService, node);
41  		else if (ConnectJcrUtils.isNodeType(node, TrackerTypes.TRACKER_COMPONENT))
42  			return new ConfigureComponentWizard(trackerService, node);
43  		// else if (ConnectJcrUtils.isNodeType(node,
44  		// TrackerTypes.TRACKER_IT_PROJECT))
45  		// return new ConfigureProjectWizard(userAdminService, trackerService,
46  		// node);
47  		else if (ConnectJcrUtils.isNodeType(node, TrackerTypes.TRACKER_PROJECT))
48  			return new ConfigureProjectWizard(userAdminService, trackerService, node);
49  		return null;
50  	}
51  
52  	@Override
53  	public Image getIconForType(Node entity) {
54  		return null;
55  	}
56  
57  	public void setUserAdminService(UserAdminService userAdminService) {
58  		this.userAdminService = userAdminService;
59  	}
60  
61  	public void setTrackerService(TrackerService trackerService) {
62  		this.trackerService = trackerService;
63  	}
64  
65  	public void setActivitiesService(ActivitiesService activitiesService) {
66  		this.activitiesService = activitiesService;
67  	}
68  }