| Summary: | [api] support task relationships | ||||||
|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Steffen Pingel <steffen.pingel> | ||||
| Component: | Mylyn | Assignee: | Steffen Pingel <steffen.pingel> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | enhancement | ||||||
| Priority: | P2 | CC: | mik.kersten, robert.elves, shawn.minto, wes.coelho | ||||
| Version: | unspecified | ||||||
| Target Milestone: | 3.0 | ||||||
| Hardware: | PC | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Steffen Pingel
These relationships could be displayed in the outline view and be accessible through the Quick Outline (Ctrl+O). It reminds me that Task Editor outline view does not include all tabs. Bug 165859 Added TaskRelation class for defining links to other tasks. I have specified three kinds of relations so far that can be created through factory methods:
CONTAINMENT (subtasks, parent task)
DEPENDENCY
DUPLICATE
Each relation has direction that is either inward (e.g. parent) or outward (e.g. subtask). Here is a snippet from JiraTaskDataHandler how this works:
public TaskRelation[] getTaskRelations(TaskData taskData) {
List<TaskRelation> relations = new ArrayList<TaskRelation>();
TaskAttribute attribute = taskData.getRoot().getAttribute(JiraAttribute.SUBTASK_IDS.getId());
if (attribute != null) {
for (String taskId : attribute.getValues()) {
relations.add(TaskRelation.subtask(taskId));
}
}
return relations.toArray(new TaskRelation[0]);
}
The returned relations are used by the synchronization framework to build up the task list structure.
Created attachment 99222 [details]
mylyn/context/zip
|