View Javadoc
1   package org.argeo.tracker;
2   
3   import java.util.Calendar;
4   import java.util.List;
5   
6   import javax.jcr.Node;
7   import javax.jcr.NodeIterator;
8   import javax.jcr.RepositoryException;
9   import javax.jcr.Session;
10  
11  import org.argeo.connect.AppService;
12  
13  /**
14   * Manage Issue tracking concepts based on the Activities management processes
15   */
16  public interface TrackerService extends AppService {
17  
18  
19  	public void configureCustomACL(Node node);
20  
21  
22  	/** Simply configure an IT Project node */
23  	public void configureItProject(Node itProject, String title, String description, String managerId,
24  			String counterpartyGroupId) throws RepositoryException;
25  
26  	/**
27  	 * 
28  	 * @param title
29  	 * @param description
30  	 * @param targetId
31  	 * @param priority
32  	 * @param importance
33  	 * @param managerId
34  	 * @param versionId
35  	 * @return
36  	 * @throws RepositoryException
37  	 */
38  	public void configureIssue(Node issue, Node project, Node milestone, String title, String description,
39  			List<String> versionIds, List<String> componentIds, int priority, int importance, String managerId)
40  			throws RepositoryException;
41  
42  	public void configureTask(Node task, Node project, Node milestone, String title, String description,
43  			String managerId) throws RepositoryException;
44  
45  	public void configureMilestone(Node milestone, Node project, Node parentMilestone, String title, String description,
46  			String managerId, String defaultAssigneeId, Calendar targetDate) throws RepositoryException;
47  
48  	public void configureVersion(Node version, Node project, String id, String description, Calendar releaseDate)
49  			throws RepositoryException;
50  
51  	public void configureProject(Node project, String title, String description, String managerId)
52  			throws RepositoryException;
53  
54  	public Node addComment(Node parentIssue, String description) throws RepositoryException;
55  
56  	public boolean updateComment(Node comment, String newDescription) throws RepositoryException;
57  
58  	/**
59  	 * 
60  	 * @param project
61  	 * @param id
62  	 * @param description
63  	 * @param targetDate
64  	 * @param releaseDate
65  	 * @return
66  	 * @throws RepositoryException
67  	 */
68  	public Node createVersion(Node project, String id, String description, Calendar targetDate, Calendar releaseDate)
69  			throws RepositoryException;
70  
71  	/**
72  	 * 
73  	 * @param project
74  	 * @param title
75  	 * @param description
76  	 * @return
77  	 * @throws RepositoryException
78  	 */
79  	public Node createComponent(Node project, String officeId, String title, String description)
80  			throws RepositoryException;
81  
82  	/* Remarkable queries */
83  	public NodeIterator getMyProjects(Session session, boolean onlyOpenProjects);
84  
85  	public NodeIterator getMyMilestones(Session session, boolean onlyOpenTasks);
86  
87  }