Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorspingel2008-05-06 08:06:12 +0000
committerspingel2008-05-06 08:06:12 +0000
commitbf19e98ee4c2a7545bac2ed1a49fa50b5854e19f (patch)
tree79f249eeb96d160c592f05592102b6ff5a40d614
parent593bd1068885aa9b29d54426ab43b6b3297b4ccb (diff)
downloadorg.eclipse.mylyn.tasks-bf19e98ee4c2a7545bac2ed1a49fa50b5854e19f.tar.gz
org.eclipse.mylyn.tasks-bf19e98ee4c2a7545bac2ed1a49fa50b5854e19f.tar.xz
org.eclipse.mylyn.tasks-bf19e98ee4c2a7545bac2ed1a49fa50b5854e19f.zip
NEW - bug 229487: [api] manage task list structure internally
https://bugs.eclipse.org/bugs/show_bug.cgi?id=229487
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskCategory.java2
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskList.java19
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITask.java4
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/OrphanedTasksTest.java3
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoryManagerTest.java3
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskWorkingSetFilter.java3
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListContentProvider.java2
7 files changed, 19 insertions, 17 deletions
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskCategory.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskCategory.java
index 8048797e4..b80ddc32e 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskCategory.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskCategory.java
@@ -35,7 +35,7 @@ public final class TaskCategory extends AbstractTaskCategory {
public static AbstractTaskCategory getParentTaskCategory(ITask task) {
AbstractTaskCategory category = null;
if (task != null) {
- for (ITaskElement container : task.getParentContainers()) {
+ for (ITaskElement container : ((AbstractTask) task).getParentContainers()) {
if (container instanceof AbstractTaskCategory) {
category = (AbstractTaskCategory) container;
}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskList.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskList.java
index dbed6a5b9..bcf808756 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskList.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskList.java
@@ -117,13 +117,14 @@ public class TaskList implements ISchedulingRule, ITaskList {
addTask(task, null);
}
- public boolean addTask(ITask task, AbstractTaskContainer container) {
+ public boolean addTask(ITask itask, AbstractTaskContainer container) {
+ AbstractTask task = (AbstractTask) itask;
Assert.isNotNull(task);
Assert.isLegal(!(container instanceof UnmatchedTaskContainer));
try {
lock();
- task = getOrCreateTask((AbstractTask) task);
+ task = getOrCreateTask(task);
if (container == null) {
container = getUnmatchedContainer(task.getRepositoryUrl());
} else {
@@ -136,7 +137,7 @@ public class TaskList implements ISchedulingRule, ITaskList {
}
// ensure that we don't create cycles
- if (((AbstractTask) task).contains(container.getHandleIdentifier())) {
+ if ((task).contains(container.getHandleIdentifier())) {
return false;
}
@@ -153,10 +154,10 @@ public class TaskList implements ISchedulingRule, ITaskList {
}
}
- removeOrphan((AbstractTask) task, delta);
+ removeOrphan(task, delta);
- ((AbstractTask) task).addParentContainer(container);
- container.internalAddChild((AbstractTask) task);
+ (task).addParentContainer(container);
+ container.internalAddChild(task);
delta.add(new TaskContainerDelta(task, TaskContainerDelta.Kind.CHANGED));
delta.add(new TaskContainerDelta(container, TaskContainerDelta.Kind.CHANGED));
} finally {
@@ -206,7 +207,9 @@ public class TaskList implements ISchedulingRule, ITaskList {
* Task is removed from all containers. Currently subtasks are not deleted but rather are rather potentially
* orphaned.
*/
- public void deleteTask(ITask task) {
+ public void deleteTask(ITask itask) {
+ Assert.isNotNull(itask);
+ AbstractTask task = (AbstractTask) itask;
try {
lock();
@@ -217,7 +220,7 @@ public class TaskList implements ISchedulingRule, ITaskList {
// remove this task as a parent for all subtasks
for (ITask child : task.getChildren()) {
- removeFromContainerInternal((AbstractTaskContainer) task, child, delta);
+ removeFromContainerInternal(task, child, delta);
addOrphan((AbstractTask) child, delta);
}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITask.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITask.java
index cc8a3680d..498c4053f 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITask.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITask.java
@@ -9,10 +9,8 @@
package org.eclipse.mylyn.tasks.core;
import java.util.Date;
-import java.util.Set;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.mylyn.internal.tasks.core.AbstractTaskContainer;
/**
* @author Mik Kersten
@@ -94,8 +92,6 @@ public interface ITask extends ITaskElement {
public abstract String getOwner();
- public abstract Set<AbstractTaskContainer> getParentContainers();
-
public abstract String getPriority();
public abstract String getRepositoryUrl();
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/OrphanedTasksTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/OrphanedTasksTest.java
index 7773299f8..dc7a3c2bf 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/OrphanedTasksTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/OrphanedTasksTest.java
@@ -13,6 +13,7 @@ import java.util.Set;
import junit.framework.TestCase;
import org.eclipse.mylyn.internal.tasks.core.AbstractRepositoryQuery;
+import org.eclipse.mylyn.internal.tasks.core.AbstractTask;
import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector;
import org.eclipse.mylyn.internal.tasks.core.LocalTask;
import org.eclipse.mylyn.internal.tasks.core.TaskCategory;
@@ -57,7 +58,7 @@ public class OrphanedTasksTest extends TestCase {
assertTrue(tasks.isEmpty());
ITask localTask = TasksUiInternal.createNewLocalTask("Task 1");
assertNotNull(localTask);
- assertEquals(1, localTask.getParentContainers().size());
+ assertEquals(1, ((AbstractTask) localTask).getParentContainers().size());
}
/**
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoryManagerTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoryManagerTest.java
index b5b25a92a..0f66c8f40 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoryManagerTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoryManagerTest.java
@@ -17,6 +17,7 @@ import junit.framework.TestCase;
import org.eclipse.mylyn.commons.net.AuthenticationCredentials;
import org.eclipse.mylyn.commons.net.AuthenticationType;
+import org.eclipse.mylyn.internal.tasks.core.AbstractTask;
import org.eclipse.mylyn.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylyn.internal.tasks.core.TaskRepositoryManager;
import org.eclipse.mylyn.internal.tasks.core.deprecated.AbstractLegacyRepositoryConnector;
@@ -85,7 +86,7 @@ public class TaskRepositoryManagerTest extends TestCase {
TasksUiPlugin.getTaskListManager().getTaskList().deleteQuery(query);
ITask task2 = TasksUiPlugin.getTaskListManager().getTaskList().getTask(task.getHandleIdentifier());
assertNotNull(task2);
- assertEquals(1, task2.getParentContainers().size());
+ assertEquals(1, ((AbstractTask) task2).getParentContainers().size());
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskWorkingSetFilter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskWorkingSetFilter.java
index c0768d9a6..ffa350548 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskWorkingSetFilter.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskWorkingSetFilter.java
@@ -10,6 +10,7 @@ package org.eclipse.mylyn.internal.tasks.ui;
import java.util.Arrays;
import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.mylyn.internal.tasks.core.AbstractTask;
import org.eclipse.mylyn.internal.tasks.core.LocalTask;
import org.eclipse.mylyn.internal.tasks.core.ScheduledTaskContainer;
import org.eclipse.mylyn.tasks.core.ITask;
@@ -49,7 +50,7 @@ public class TaskWorkingSetFilter extends AbstractTaskListFilter {
}
}
if (parent instanceof ScheduledTaskContainer && element instanceof ITask) {
- for (ITaskElement query : ((ITask) element).getParentContainers()) {
+ for (ITaskElement query : ((AbstractTask) element).getParentContainers()) {
if (isContainedInWorkingSet(query)) {
return true;
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListContentProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListContentProvider.java
index acbca05ad..033b0d3b8 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListContentProvider.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListContentProvider.java
@@ -67,7 +67,7 @@ public class TaskListContentProvider extends AbstractTaskListContentProvider {
return parent;
}
- Set<AbstractTaskContainer> parents = task.getParentContainers();
+ Set<AbstractTaskContainer> parents = ((AbstractTask) task).getParentContainers();
Iterator<AbstractTaskContainer> it = parents.iterator();
if (it.hasNext()) {
return parents.iterator().next();

Back to the top