Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/TracTask.java')
-rw-r--r--org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/TracTask.java52
1 files changed, 47 insertions, 5 deletions
diff --git a/org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/TracTask.java b/org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/TracTask.java
index 95b1ce1b8..1f7107724 100644
--- a/org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/TracTask.java
+++ b/org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/TracTask.java
@@ -11,8 +11,11 @@
package org.eclipse.mylar.internal.trac;
+import org.eclipse.mylar.internal.trac.TracAttributeFactory.Attribute;
import org.eclipse.mylar.internal.trac.core.ITracClient;
import org.eclipse.mylar.tasks.core.AbstractRepositoryTask;
+import org.eclipse.mylar.tasks.core.RepositoryTaskAttribute;
+import org.eclipse.mylar.tasks.core.Task;
/**
* @author Steffen Pingel
@@ -89,7 +92,7 @@ public class TracTask extends AbstractRepositoryTask {
}
public enum Status {
- NEW, ASSIGNED, CLOSED;
+ NEW, ASSIGNED, REOPENED, CLOSED;
@Override
public String toString() {
@@ -98,6 +101,8 @@ public class TracTask extends AbstractRepositoryTask {
return "New";
case ASSIGNED:
return "Assigned";
+ case REOPENED:
+ return "Reopened";
case CLOSED:
return "Closed";
default:
@@ -112,6 +117,8 @@ public class TracTask extends AbstractRepositoryTask {
return NEW;
if (status.equals("assigned"))
return ASSIGNED;
+ if (status.equals("reopened"))
+ return REOPENED;
if (status.equals("closed"))
return CLOSED;
return null;
@@ -121,14 +128,15 @@ public class TracTask extends AbstractRepositoryTask {
public TracTask(String handle, String label, boolean newTask) {
super(handle, label, newTask);
-
- setUrl(AbstractRepositoryTask.getRepositoryUrl(handle) + ITracClient.TICKET_URL + AbstractRepositoryTask.getTaskId(handle));
+
+ setUrl(AbstractRepositoryTask.getRepositoryUrl(handle) + ITracClient.TICKET_URL
+ + AbstractRepositoryTask.getTaskId(handle));
}
-
+
@Override
public boolean isCompleted() {
if (taskData != null) {
- return Status.CLOSED.toString().toLowerCase().equals(taskData.getStatus());
+ return isCompleted(taskData.getStatus());
} else {
return super.isCompleted();
}
@@ -139,4 +147,38 @@ public class TracTask extends AbstractRepositoryTask {
return TracUiPlugin.REPOSITORY_KIND;
}
+ @Override
+ public String getPriority() {
+ if (taskData != null && taskData.getAttribute(Attribute.PRIORITY.getTracKey()) != null) {
+ return getMylarPriority(taskData.getAttributeValue(Attribute.PRIORITY.getTracKey()));
+ } else {
+ return super.getPriority();
+ }
+ }
+
+ @Override
+ public String getOwner() {
+ if (taskData != null && taskData.getAttribute(RepositoryTaskAttribute.USER_OWNER) != null) {
+ return taskData.getAttributeValue(RepositoryTaskAttribute.USER_OWNER);
+ } else {
+ return super.getOwner();
+ }
+ }
+
+ // TODO use priority attributes from repository instead of hard coded enum
+ public static String getMylarPriority(String tracPriority) {
+ if (tracPriority != null) {
+ PriorityLevel priority = PriorityLevel.fromPriority(tracPriority);
+ if (priority != null) {
+ return priority.toString();
+ }
+ }
+ return Task.PriorityLevel.P3.toString();
+ }
+
+ public static boolean isCompleted(String tracStatus) {
+ TracTask.Status status = TracTask.Status.fromStatus(tracStatus);
+ return status == TracTask.Status.CLOSED;
+ }
+
}

Back to the top