Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/ITaskList.java6
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/RepositoryExternalizationParticipant.java1
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskActivityManager.java4
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskList.java70
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/data/TaskDataManager.java22
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/externalization/TaskListExternalizationParticipant.java11
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/SynchronizeQueriesJob.java56
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/SynchronizeTasksJob.java17
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/IRepositoryQuery.java1
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskContainerDelta.java60
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskJobFactory.java4
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/MarkTaskCompleteAction.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/MarkTaskIncompleteAction.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/commands/MarkTaskHandler.java4
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/deprecated/AbstractRepositoryTaskEditor.java6
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/CategoryEditorInput.java9
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java6
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiInternal.java7
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListCellModifier.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListFilteredTree.java6
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java6
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetUpdater.java11
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage.java4
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/wizards/RepositoryQueryWizard.java6
25 files changed, 168 insertions, 157 deletions
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/ITaskList.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/ITaskList.java
index 37e528116..e51216104 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/ITaskList.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/ITaskList.java
@@ -11,6 +11,7 @@ package org.eclipse.mylyn.internal.tasks.core;
import java.util.Set;
import org.eclipse.mylyn.tasks.core.ITask;
+import org.eclipse.mylyn.tasks.core.ITaskElement;
import org.eclipse.mylyn.tasks.core.ITaskListChangeListener;
/**
@@ -66,10 +67,9 @@ public interface ITaskList {
/**
* @param task
- * @param content
- * true if the content for the task (e.g. repository task data) has changed
+ * list element
*/
- public abstract void notifyTaskChanged(ITask task, boolean content);
+ public abstract void notifyElementChanged(ITaskElement element);
public abstract void removeChangeListener(ITaskListChangeListener listener);
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/RepositoryExternalizationParticipant.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/RepositoryExternalizationParticipant.java
index ef1bf9b15..5d9a3519a 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/RepositoryExternalizationParticipant.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/RepositoryExternalizationParticipant.java
@@ -61,6 +61,7 @@ public class RepositoryExternalizationParticipant extends AbstractExternalizatio
switch (context.getKind()) {
case SAVE:
+ System.err.println(">>> save repositories");
if (!takeSnapshot(repositoriesFile)) {
StatusHandler.fail(new Status(IStatus.WARNING, ITasksCoreConstants.ID_PLUGIN,
"Task List snapshot failed"));
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskActivityManager.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskActivityManager.java
index b82264a47..42296f5ec 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskActivityManager.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskActivityManager.java
@@ -518,7 +518,7 @@ public class TaskActivityManager implements ITaskActivityManager {
removeScheduledTask(task);
addScheduledTask(task);
}
- taskList.notifyTaskChanged(task, false);
+ taskList.notifyElementChanged(task);
}
public void setDueDate(ITask task, Date dueDate) {
@@ -529,7 +529,7 @@ public class TaskActivityManager implements ITaskActivityManager {
removeDueTask(task);
addDueTask(task);
}
- taskList.notifyTaskChanged(task, false);
+ taskList.notifyElementChanged(task);
}
/**
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 5b40afe2b..0188c42da 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
@@ -94,7 +94,7 @@ public class TaskList implements ISchedulingRule, ITaskList {
if (orphans != null) {
task.addParentContainer(orphans);
orphans.internalAddChild(task);
- delta.add(new TaskContainerDelta(orphans, TaskContainerDelta.Kind.CHANGED));
+ delta.add(new TaskContainerDelta(task, orphans, TaskContainerDelta.Kind.ADDED));
}
}
@@ -158,8 +158,7 @@ public class TaskList implements ISchedulingRule, ITaskList {
(task).addParentContainer(container);
container.internalAddChild(task);
- delta.add(new TaskContainerDelta(task, TaskContainerDelta.Kind.CHANGED));
- delta.add(new TaskContainerDelta(container, TaskContainerDelta.Kind.CHANGED));
+ delta.add(new TaskContainerDelta(task, container, TaskContainerDelta.Kind.ADDED));
} finally {
unlock();
}
@@ -231,10 +230,15 @@ public class TaskList implements ISchedulingRule, ITaskList {
}
}
- private void fireDelta(HashSet<TaskContainerDelta> deltaToFire) {
+ private void fireDelta(HashSet<TaskContainerDelta> deltasToFire) {
if (readComplete) {
for (ITaskListChangeListener listener : changeListeners) {
- listener.containersChanged(deltaToFire);
+ try {
+ listener.containersChanged(Collections.unmodifiableSet(deltasToFire));
+ } catch (Throwable t) {
+ StatusHandler.log(new Status(IStatus.ERROR, ITasksCoreConstants.ID_PLUGIN,
+ "Notification failed for: " + listener, t));
+ }
}
}
}
@@ -443,45 +447,32 @@ public class TaskList implements ISchedulingRule, ITaskList {
return rule instanceof TaskList || rule instanceof ITaskElement;
}
- public void notifyContainersUpdated(Set<? extends AbstractTaskContainer> containers) {
- HashSet<TaskContainerDelta> containersUpdatedDelta = new HashSet<TaskContainerDelta>();
- if (containers == null) {
- containersUpdatedDelta.add(new TaskContainerDelta(null, TaskContainerDelta.Kind.ROOT));
+ public void notifyElementsChanged(Set<? extends ITaskElement> elements) {
+ HashSet<TaskContainerDelta> deltas = new HashSet<TaskContainerDelta>();
+ if (elements == null) {
+ deltas.add(new TaskContainerDelta(null, TaskContainerDelta.Kind.ROOT));
} else {
- for (AbstractTaskContainer abstractTaskContainer : containers) {
- containersUpdatedDelta.add(new TaskContainerDelta(abstractTaskContainer,
- TaskContainerDelta.Kind.CHANGED));
+ for (ITaskElement element : elements) {
+ deltas.add(new TaskContainerDelta(element, TaskContainerDelta.Kind.CONTENT));
}
}
- for (ITaskListChangeListener listener : changeListeners) {
- try {
- listener.containersChanged(Collections.unmodifiableSet(containersUpdatedDelta));
- } catch (Throwable t) {
- StatusHandler.log(new Status(IStatus.ERROR, ITasksCoreConstants.ID_PLUGIN, "Notification failed for: "
- + listener, t));
- }
- }
+ fireDelta(deltas);
}
- public void notifyTaskChanged(ITask task, boolean content) {
+ public void notifySyncStateChanged(Set<? extends AbstractTaskContainer> containers) {
HashSet<TaskContainerDelta> taskChangeDeltas = new HashSet<TaskContainerDelta>();
- TaskContainerDelta.Kind kind;
- if (content) {
- kind = TaskContainerDelta.Kind.CONTENT;
- } else {
- kind = TaskContainerDelta.Kind.CHANGED;
+ for (AbstractTaskContainer abstractTaskContainer : containers) {
+ TaskContainerDelta delta = new TaskContainerDelta(abstractTaskContainer, TaskContainerDelta.Kind.CONTENT);
+ delta.setTransient(true);
+ taskChangeDeltas.add(delta);
}
- taskChangeDeltas.add(new TaskContainerDelta(task, kind));
- for (ITaskListChangeListener listener : changeListeners) {
- try {
- listener.containersChanged(Collections.unmodifiableSet(taskChangeDeltas));
- } catch (Throwable t) {
- StatusHandler.log(new Status(IStatus.ERROR, ITasksCoreConstants.ID_PLUGIN, "Notification failed for: "
- + listener, t));
- }
- }
+ fireDelta(taskChangeDeltas);
+ }
+
+ public void notifyElementChanged(ITaskElement element) {
+ notifyElementsChanged(Collections.singleton(element));
}
public void refactorRepositoryUrl(String oldRepositoryUrl, String newRepositoryUrl) {
@@ -505,7 +496,7 @@ public class TaskList implements ISchedulingRule, ITaskList {
for (RepositoryQuery query : queries.values()) {
if (query.getRepositoryUrl().equals(oldRepositoryUrl)) {
query.setRepositoryUrl(newRepositoryUrl);
- delta.add(new TaskContainerDelta(query, TaskContainerDelta.Kind.CHANGED));
+ delta.add(new TaskContainerDelta(query, TaskContainerDelta.Kind.CONTENT));
}
}
@@ -516,7 +507,7 @@ public class TaskList implements ISchedulingRule, ITaskList {
orphans.setRepositoryUrl(newRepositoryUrl);
repositoryOrphansMap.put(newRepositoryUrl, orphans);
//categories.put(orphans.getHandleIdentifier(), orphans);
- delta.add(new TaskContainerDelta(orphans, TaskContainerDelta.Kind.CHANGED));
+ delta.add(new TaskContainerDelta(orphans, TaskContainerDelta.Kind.CONTENT));
}
}
} finally {
@@ -558,15 +549,14 @@ public class TaskList implements ISchedulingRule, ITaskList {
container.internalRemoveChild(task);
((AbstractTask) task).removeParentContainer(container);
- delta.add(new TaskContainerDelta(task, TaskContainerDelta.Kind.CHANGED));
- delta.add(new TaskContainerDelta(container, TaskContainerDelta.Kind.CHANGED));
+ delta.add(new TaskContainerDelta(task, container, TaskContainerDelta.Kind.REMOVED));
}
private void removeOrphan(AbstractTask task, Set<TaskContainerDelta> delta) {
AbstractTaskContainer orphans = getUnmatchedContainer(task.getRepositoryUrl());
if (orphans != null) {
if (orphans.internalRemoveChild(task)) {
- delta.add(new TaskContainerDelta(orphans, TaskContainerDelta.Kind.CHANGED));
+ delta.add(new TaskContainerDelta(task, orphans, TaskContainerDelta.Kind.REMOVED));
task.removeParentContainer(orphans);
}
}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/data/TaskDataManager.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/data/TaskDataManager.java
index 433105a59..0e76840d5 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/data/TaskDataManager.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/data/TaskDataManager.java
@@ -147,7 +147,7 @@ public class TaskDataManager implements ITaskDataManager {
result[0] = state;
}
});
- taskList.notifyTaskChanged(task, false);
+ taskList.notifyElementChanged(task);
return result[0];
}
@@ -163,7 +163,7 @@ public class TaskDataManager implements ITaskDataManager {
taskList.addTask(task);
}
});
- taskList.notifyTaskChanged(task, true);
+ taskList.notifyElementChanged(task);
}
public void putUpdatedTaskData(final ITask itask, final TaskData taskData, boolean user) throws CoreException {
@@ -206,7 +206,7 @@ public class TaskDataManager implements ITaskDataManager {
task.setSynchronizing(false);
}
});
- taskList.notifyTaskChanged(task, true);
+ taskList.notifyElementChanged(task);
}
}
@@ -249,14 +249,14 @@ public class TaskDataManager implements ITaskDataManager {
}
}
});
- taskList.notifyTaskChanged(task, true);
+ taskList.notifyElementChanged(task);
}
@Deprecated
public void discardOutgoing(AbstractTask repositoryTask) {
taskDataStorageManager.discardEdits(repositoryTask.getRepositoryUrl(), repositoryTask.getTaskId());
repositoryTask.setSynchronizationState(SynchronizationState.SYNCHRONIZED);
- taskList.notifyTaskChanged(repositoryTask, true);
+ taskList.notifyElementChanged(repositoryTask);
}
private File findFile(ITask task, String kind) {
@@ -362,7 +362,7 @@ public class TaskDataManager implements ITaskDataManager {
task.setSubmitting(false);
}
});
- taskList.notifyTaskChanged(task, false);
+ taskList.notifyElementChanged(task);
}
/**
@@ -444,7 +444,7 @@ public class TaskDataManager implements ITaskDataManager {
repositoryTask.setSynchronizationState(SynchronizationState.OUTGOING);
taskDataStorageManager.saveEdits(repositoryTask.getRepositoryUrl(), repositoryTask.getTaskId(),
Collections.unmodifiableSet(modifiedAttributes));
- taskList.notifyTaskChanged(repositoryTask, false);
+ taskList.notifyElementChanged(repositoryTask);
}
public void setDataPath(String dataPath) {
@@ -495,7 +495,7 @@ public class TaskDataManager implements ITaskDataManager {
StatusHandler.log(new Status(IStatus.ERROR, ITasksCoreConstants.ID_PLUGIN,
"Unexpected error while marking task read", e));
}
- taskList.notifyTaskChanged(task, false);
+ taskList.notifyElementChanged(task);
}
@Deprecated
@@ -508,13 +508,13 @@ public class TaskDataManager implements ITaskDataManager {
taskDataStorageManager.setOldTaskData(taskData);
}
task.setSynchronizationState(SynchronizationState.SYNCHRONIZED);
- taskList.notifyTaskChanged(task, false);
+ taskList.notifyElementChanged(task);
} else if (read && task.getSynchronizationState().equals(SynchronizationState.CONFLICT)) {
if (taskData != null && taskData.getLastModified() != null) {
task.setLastReadTimeStamp(taskData.getLastModified());
}
task.setSynchronizationState(SynchronizationState.OUTGOING);
- taskList.notifyTaskChanged(task, false);
+ taskList.notifyElementChanged(task);
} else if (read && task.getSynchronizationState().equals(SynchronizationState.SYNCHRONIZED)) {
if (taskData != null && taskData.getLastModified() != null) {
task.setLastReadTimeStamp(taskData.getLastModified());
@@ -536,7 +536,7 @@ public class TaskDataManager implements ITaskDataManager {
} else if (!read && task.getSynchronizationState().equals(SynchronizationState.SYNCHRONIZED)) {
task.setSynchronizationState(SynchronizationState.INCOMING);
- taskList.notifyTaskChanged(task, false);
+ taskList.notifyElementChanged(task);
}
// for connectors that don't support task data set read date to now (bug#204741)
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/externalization/TaskListExternalizationParticipant.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/externalization/TaskListExternalizationParticipant.java
index 6ac133e71..fbe3349c0 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/externalization/TaskListExternalizationParticipant.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/externalization/TaskListExternalizationParticipant.java
@@ -140,10 +140,15 @@ public class TaskListExternalizationParticipant extends AbstractExternalizationP
}
public void containersChanged(Set<TaskContainerDelta> containers) {
- synchronized (TaskListExternalizationParticipant.this) {
- dirty = true;
+ for (TaskContainerDelta taskContainerDelta : containers) {
+ if (!taskContainerDelta.isTransient()) {
+ synchronized (TaskListExternalizationParticipant.this) {
+ dirty = true;
+ }
+ manager.requestSave();
+ return;
+ }
}
- manager.requestSave();
}
public void taskListRead() {
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/SynchronizeQueriesJob.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/SynchronizeQueriesJob.java
index 97094b370..76fa41dbc 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/SynchronizeQueriesJob.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/SynchronizeQueriesJob.java
@@ -196,37 +196,37 @@ public class SynchronizeQueriesJob extends SynchronizationJob {
event.setTasks(allTasks);
event.setNeedsPerformQueries(true);
- try {
- // hook into the connector for checking for changed tasks and have the connector mark tasks that need synchronization
- if (firePreSynchronization(event, new SubProgressMonitor(monitor, 20))) {
- // synchronize queries, tasks changed within query are added to set of tasks to be synchronized
- synchronizeQueries(monitor, event);
-
- // for background synchronizations all changed tasks are synchronized including the ones that are not part of a query
- if (!isUser()) {
- for (ITask task : allTasks) {
- if (task.isStale()) {
- tasksToBeSynchronized.add(task);
- ((AbstractTask) task).setSynchronizing(true);
- }
+// try {
+ // hook into the connector for checking for changed tasks and have the connector mark tasks that need synchronization
+ if (firePreSynchronization(event, new SubProgressMonitor(monitor, 20))) {
+ // synchronize queries, tasks changed within query are added to set of tasks to be synchronized
+ synchronizeQueries(monitor, event);
+
+ // for background synchronizations all changed tasks are synchronized including the ones that are not part of a query
+ if (!isUser()) {
+ for (ITask task : allTasks) {
+ if (task.isStale()) {
+ tasksToBeSynchronized.add(task);
+ ((AbstractTask) task).setSynchronizing(true);
}
}
+ }
- // synchronize tasks that were marked by the connector
- if (!tasksToBeSynchronized.isEmpty()) {
- Policy.checkCanceled(monitor);
- monitor.subTask("Synchronizing " + tasksToBeSynchronized.size() + " changed tasks");
- synchronizeTasks(new SubProgressMonitor(monitor, 40));
- } else {
- monitor.worked(40);
- }
-
- // hook into the connector for synchronization time stamp management
- firePostSynchronization(event, new SubProgressMonitor(monitor, 10));
+ // synchronize tasks that were marked by the connector
+ if (!tasksToBeSynchronized.isEmpty()) {
+ Policy.checkCanceled(monitor);
+ monitor.subTask("Synchronizing " + tasksToBeSynchronized.size() + " changed tasks");
+ synchronizeTasks(new SubProgressMonitor(monitor, 40));
+ } else {
+ monitor.worked(40);
}
- } finally {
- taskList.notifyContainersUpdated(null);
+
+ // hook into the connector for synchronization time stamp management
+ firePostSynchronization(event, new SubProgressMonitor(monitor, 10));
}
+// } finally {
+// taskList.notifyElementsChanged(null);
+// }
} finally {
Job.getJobManager().endRule(rule);
}
@@ -247,7 +247,7 @@ public class SynchronizeQueriesJob extends SynchronizationJob {
synchronizeQuery(repositoryQuery, event, new SubProgressMonitor(monitor, 20));
repositoryQuery.setSynchronizing(false);
- taskList.notifyContainersUpdated(Collections.singleton(repositoryQuery));
+ taskList.notifySyncStateChanged(Collections.singleton(repositoryQuery));
}
}
@@ -325,8 +325,8 @@ public class SynchronizeQueriesJob extends SynchronizationJob {
for (RepositoryQuery repositoryQuery : queries) {
repositoryQuery.setSynchronizationStatus(status);
repositoryQuery.setSynchronizing(false);
+ taskList.notifyElementChanged(repositoryQuery);
}
- taskList.notifyContainersUpdated(queries);
}
}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/SynchronizeTasksJob.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/SynchronizeTasksJob.java
index 0770d04fe..680152b40 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/SynchronizeTasksJob.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/SynchronizeTasksJob.java
@@ -86,7 +86,7 @@ public class SynchronizeTasksJob extends SynchronizationJob {
} catch (OperationCanceledException e) {
for (ITask task : tasks) {
((AbstractTask) task).setSynchronizing(false);
- taskList.notifyTaskChanged(task, false);
+ taskList.notifyElementChanged(task);
}
return Status.CANCEL_STATUS;
} catch (Exception e) {
@@ -113,7 +113,7 @@ public class SynchronizeTasksJob extends SynchronizationJob {
private void synchronizeTask(IProgressMonitor monitor, ITask task) {
monitor.subTask("Receiving task " + task.getSummary());
((AbstractTask) task).setErrorStatus(null);
- taskList.notifyTaskChanged(task, false);
+ taskList.notifyElementChanged(task);
try {
String taskId = task.getTaskId();
if (!isUser()) {
@@ -174,8 +174,8 @@ public class SynchronizeTasksJob extends SynchronizationJob {
((AbstractLegacyRepositoryConnector) connector).getLegacyTaskDataHandler().getMultiTaskData(repository,
Collections.unmodifiableSet(idToTask.keySet()), collector, monitor);
} else {
- connector.getTaskDataHandler().getMultiTaskData(repository,
- Collections.unmodifiableSet(idToTask.keySet()), collector, monitor);
+ connector.getTaskDataHandler().getMultiTaskData(repository, Collections.unmodifiableSet(idToTask.keySet()),
+ collector, monitor);
}
}
@@ -207,12 +207,7 @@ public class SynchronizeTasksJob extends SynchronizationJob {
task.setStale(false);
((AbstractTask) task).setSynchronizing(false);
- if (task.getSynchronizationState() == SynchronizationState.INCOMING
- || task.getSynchronizationState() == SynchronizationState.CONFLICT) {
- taskList.notifyTaskChanged(task, true);
- } else {
- taskList.notifyTaskChanged(task, false);
- }
+ taskList.notifyElementChanged(task);
}
private void updateFromTaskData(TaskRepository taskRepository, ITask task, TaskData taskData) {
@@ -228,7 +223,7 @@ public class SynchronizeTasksJob extends SynchronizationJob {
if (!isUser()) {
((AbstractTask) task).setSynchronizing(false);
}
- taskList.notifyTaskChanged(task, false);
+ taskList.notifyElementChanged(task);
}
}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/IRepositoryQuery.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/IRepositoryQuery.java
index 022fbf7d9..e3bb5b66a 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/IRepositoryQuery.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/IRepositoryQuery.java
@@ -8,7 +8,6 @@
package org.eclipse.mylyn.tasks.core;
-
/**
* @since 3.0
*/
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskContainerDelta.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskContainerDelta.java
index 835e7fef5..e301094ab 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskContainerDelta.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskContainerDelta.java
@@ -18,24 +18,17 @@ public final class TaskContainerDelta {
public enum Kind {
/**
- * One container added to another or to the root.
+ * One container (source) added to another (target)
*/
ADDED,
/**
- * One container removed from another or from the root.
+ * One container (source) removed from another (target)
*/
REMOVED,
/**
- * Container has changed, e.g. has new children, a task's priority or planning info. For tasks changed state
- * tends to be show in a view.
- */
- CHANGED,
-
- /**
- * The content of the container has changed, e.g. new data has been downloaded for a task from the repository.
- * For tasks content tends to be show in an editor.
+ * The internal state of the container (target) has changed, e.g. attributes, summary, priority, etc
*/
CONTENT,
@@ -45,27 +38,66 @@ public final class TaskContainerDelta {
ROOT
}
- private final ITaskElement container;
+ private final ITaskElement target;
+
+ private final ITaskElement source;
private final Kind kind;
+ private boolean isTransient;
+
/**
* @since 3.0
*/
public TaskContainerDelta(ITaskElement container, Kind kind) {
- this.container = container;
+ this.source = container;
+ this.target = null;
this.kind = kind;
}
/**
* @since 3.0
*/
- public ITaskElement getContainer() {
- return container;
+ public TaskContainerDelta(ITaskElement source, ITaskElement target, Kind kind) {
+ this.source = source;
+ this.target = target;
+ this.kind = kind;
+ }
+
+ /**
+ * The target is the container modified or the target destination for the <code>source</code> element
+ *
+ * @since 3.0
+ */
+ public ITaskElement getTarget() {
+ return target;
+ }
+
+ /**
+ * The element being acted upon in relation to the <code>target</code>
+ *
+ * @since 3.0
+ */
+ public ITaskElement getSource() {
+ return source;
}
public Kind getKind() {
return kind;
}
+ /**
+ * @since 3.0
+ */
+ public void setTransient(boolean isTransient) {
+ this.isTransient = isTransient;
+ }
+
+ /**
+ * @since 3.0
+ */
+ public boolean isTransient() {
+ return isTransient;
+ }
+
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskJobFactory.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskJobFactory.java
index 5794ef439..432861540 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskJobFactory.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskJobFactory.java
@@ -108,7 +108,7 @@ public class TaskJobFactory implements ITaskJobFactory {
} catch (CoreException e) {
StatusHandler.log(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, "Unexpected error", e));
}
- taskList.notifyTaskChanged(task, false);
+ taskList.notifyElementChanged(task);
return job;
}
@@ -161,7 +161,7 @@ public class TaskJobFactory implements ITaskJobFactory {
} catch (CoreException e) {
StatusHandler.log(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, "Unexpected error", e));
}
- taskList.notifyTaskChanged(task, false);
+ taskList.notifyElementChanged(task);
job.setUser(true);
return job;
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/MarkTaskCompleteAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/MarkTaskCompleteAction.java
index c52f7b9dd..7c914bcda 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/MarkTaskCompleteAction.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/MarkTaskCompleteAction.java
@@ -72,7 +72,7 @@ public class MarkTaskCompleteAction extends AbstractChangeCompletionAction {
ITaskList taskList = TasksUiInternal.getTaskList();
for (AbstractTask task : toComplete) {
task.setCompletionDate(new Date());
- taskList.notifyTaskChanged(task, false);
+ taskList.notifyElementChanged(task);
}
}
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/MarkTaskIncompleteAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/MarkTaskIncompleteAction.java
index 95b8b374a..caa7fb10e 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/MarkTaskIncompleteAction.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/MarkTaskIncompleteAction.java
@@ -70,7 +70,7 @@ public class MarkTaskIncompleteAction extends AbstractChangeCompletionAction {
ITaskList taskList = TasksUiInternal.getTaskList();
for (AbstractTask task : toComplete) {
task.setCompletionDate(null);
- taskList.notifyTaskChanged(task, false);
+ taskList.notifyElementChanged(task);
}
}
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/commands/MarkTaskHandler.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/commands/MarkTaskHandler.java
index e3eb17425..8c9a9efe0 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/commands/MarkTaskHandler.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/commands/MarkTaskHandler.java
@@ -30,7 +30,7 @@ public abstract class MarkTaskHandler extends AbstractTaskHandler {
protected void execute(ExecutionEvent event, ITask task) throws ExecutionException {
if (task instanceof LocalTask || (task instanceof AbstractTask && ((AbstractTask) task).isLocal())) {
task.setCompletionDate(new Date());
- TasksUiPlugin.getTaskList().notifyTaskChanged(task, false);
+ TasksUiPlugin.getTaskList().notifyElementChanged(task);
}
}
}
@@ -40,7 +40,7 @@ public abstract class MarkTaskHandler extends AbstractTaskHandler {
protected void execute(ExecutionEvent event, ITask task) throws ExecutionException {
if (task instanceof LocalTask || (task instanceof AbstractTask && ((AbstractTask) task).isLocal())) {
task.setCompletionDate(null);
- TasksUiPlugin.getTaskList().notifyTaskChanged(task, false);
+ TasksUiPlugin.getTaskList().notifyElementChanged(task);
}
}
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/deprecated/AbstractRepositoryTaskEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/deprecated/AbstractRepositoryTaskEditor.java
index 8d1dd3628..2df6b66f2 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/deprecated/AbstractRepositoryTaskEditor.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/deprecated/AbstractRepositoryTaskEditor.java
@@ -422,9 +422,9 @@ public abstract class AbstractRepositoryTaskEditor extends TaskFormPage {
public void containersChanged(Set<TaskContainerDelta> containers) {
ITask taskToRefresh = null;
for (TaskContainerDelta taskContainerDelta : containers) {
- if (repositoryTask != null && repositoryTask.equals(taskContainerDelta.getContainer())) {
+ if (repositoryTask != null && repositoryTask.equals(taskContainerDelta.getTarget())) {
if (taskContainerDelta.getKind().equals(TaskContainerDelta.Kind.CONTENT)) {
- taskToRefresh = (ITask) taskContainerDelta.getContainer();
+ taskToRefresh = (ITask) taskContainerDelta.getTarget();
break;
}
}
@@ -2833,7 +2833,7 @@ public abstract class AbstractRepositoryTaskEditor extends TaskFormPage {
TasksUiPlugin.getTaskDataManager().saveOutgoing(repositoryTask, changedAttributes);
}
if (repositoryTask != null) {
- TasksUiInternal.getTaskList().notifyTaskChanged(repositoryTask, false);
+ TasksUiInternal.getTaskList().notifyElementChanged(repositoryTask);
}
markDirty(false);
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/CategoryEditorInput.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/CategoryEditorInput.java
index 626a12dee..eeba99ee1 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/CategoryEditorInput.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/CategoryEditorInput.java
@@ -8,11 +8,7 @@
package org.eclipse.mylyn.internal.tasks.ui.editors;
-import java.util.HashSet;
-import java.util.Set;
-
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.mylyn.internal.tasks.core.AbstractTaskContainer;
import org.eclipse.mylyn.internal.tasks.core.TaskCategory;
import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
import org.eclipse.ui.IEditorInput;
@@ -69,10 +65,7 @@ public class CategoryEditorInput implements IEditorInput {
public void setUrl(String url) {
category.setUrl(url);
- Set<AbstractTaskContainer> updated = new HashSet<AbstractTaskContainer>();
- updated.add(category);
- TasksUiPlugin.getTaskList().notifyContainersUpdated(updated);
-// .notifyContainerUpdated(category);
+ TasksUiPlugin.getTaskList().notifyElementChanged(category);
}
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java
index 6036ec2fe..bb2e7337b 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java
@@ -154,8 +154,8 @@ public class TaskPlanningEditor extends TaskFormPage {
@Override
public void containersChanged(Set<TaskContainerDelta> containers) {
for (TaskContainerDelta taskContainerDelta : containers) {
- if (taskContainerDelta.getContainer() instanceof ITask) {
- final AbstractTask updateTask = (AbstractTask) taskContainerDelta.getContainer();
+ if (taskContainerDelta.getTarget() instanceof ITask) {
+ final AbstractTask updateTask = (AbstractTask) taskContainerDelta.getTarget();
if (updateTask != null && task != null
&& updateTask.getHandleIdentifier().equals(task.getHandleIdentifier())) {
if (PlatformUI.getWorkbench() != null && !PlatformUI.getWorkbench().isClosing()) {
@@ -248,7 +248,7 @@ public class TaskPlanningEditor extends TaskFormPage {
} else {
task.setCompletionDate(null);
}
- TasksUiInternal.getTaskList().notifyTaskChanged(task, false);
+ TasksUiInternal.getTaskList().notifyElementChanged(task);
}
String note = noteEditor.getTextWidget().getText();// notes.getText();
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiInternal.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiInternal.java
index c238c4034..03d07c17a 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiInternal.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiInternal.java
@@ -266,7 +266,7 @@ public class TasksUiInternal {
for (RepositoryQuery query : queries) {
query.setSynchronizing(true);
}
- taskList.notifyContainersUpdated(queries);
+ taskList.notifySyncStateChanged(queries);
SynchronizationJob job = TasksUiPlugin.getTasksJobFactory().createSynchronizeQueriesJob(connector, repository,
queries);
@@ -340,7 +340,7 @@ public class TasksUiInternal {
ITaskList taskList = TasksUiInternal.getTaskList();
for (ITask task : tasks) {
((AbstractTask) task).setSynchronizing(true);
- taskList.notifyTaskChanged(task, false);
+ taskList.notifyElementChanged(task);
}
// TODO notify task list?
@@ -356,8 +356,7 @@ public class TasksUiInternal {
@Override
public void done(IJobChangeEvent event) {
if (task.getErrorStatus() != null) {
- TasksUiInternal.asyncDisplayStatus("Task Synchronization Failed",
- task.getErrorStatus());
+ TasksUiInternal.asyncDisplayStatus("Task Synchronization Failed", task.getErrorStatus());
}
}
});
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListCellModifier.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListCellModifier.java
index f02a24c47..738369f5a 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListCellModifier.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListCellModifier.java
@@ -81,7 +81,7 @@ class TaskListCellModifier implements ICellModifier {
case 0:
if (task != null) {
task.setSummary(((String) value).trim());
- TasksUiPlugin.getTaskList().notifyTaskChanged(task, false);
+ TasksUiPlugin.getTaskList().notifyElementChanged(task);
}
break;
case 1:
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java
index 908838272..7479d5fd0 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java
@@ -398,7 +398,7 @@ public class TaskListDropAdapter extends ViewerDropAdapter {
@Override
protected void titleRetrieved(final String pageTitle) {
newTask.setSummary(pageTitle);
- TasksUiInternal.getTaskList().notifyTaskChanged(newTask, false);
+ TasksUiInternal.getTaskList().notifyElementChanged(newTask);
}
};
job.schedule();
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListFilteredTree.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListFilteredTree.java
index bd134a810..03c32099f 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListFilteredTree.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListFilteredTree.java
@@ -164,7 +164,7 @@ public class TaskListFilteredTree extends AbstractFilteredTree {
@Override
public void containersChanged(Set<TaskContainerDelta> containers) {
for (TaskContainerDelta taskContainerDelta : containers) {
- if (taskContainerDelta.getContainer() instanceof ITask) {
+ if (taskContainerDelta.getTarget() instanceof ITask) {
updateTaskProgressBar();
break;
}
@@ -328,8 +328,8 @@ public class TaskListFilteredTree extends AbstractFilteredTree {
@Override
public void containersChanged(Set<TaskContainerDelta> containers) {
for (TaskContainerDelta taskContainerDelta : containers) {
- if (taskContainerDelta.getContainer() instanceof ITask) {
- final AbstractTask changedTask = (AbstractTask) (taskContainerDelta.getContainer());
+ if (taskContainerDelta.getTarget() instanceof ITask) {
+ final AbstractTask changedTask = (AbstractTask) (taskContainerDelta.getTarget());
if (Platform.isRunning() && PlatformUI.getWorkbench() != null && Display.getCurrent() == null) {
PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java
index d888a2646..4d57ae43f 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java
@@ -465,7 +465,7 @@ public class TaskListView extends ViewPart implements IPropertyChangeListener {
public void taskDeactivated(final ITask task) {
PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
public void run() {
- refreshJob.refreshTask(task);
+ refreshJob.refreshElement(task);
updateDescription();
filteredTree.indicateNoActiveTask();
}
@@ -505,10 +505,10 @@ public class TaskListView extends ViewPart implements IPropertyChangeListener {
refreshJob.refresh();
break;
default:
- if (taskContainerDelta.getContainer() == null) {
+ if (taskContainerDelta.getTarget() == null) {
refreshJob.refresh();
} else {
- refreshJob.refreshTask(taskContainerDelta.getContainer());
+ refreshJob.refreshElement(taskContainerDelta.getTarget());
}
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetUpdater.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetUpdater.java
index 35656191d..6d6039c28 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetUpdater.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetUpdater.java
@@ -130,8 +130,8 @@ public class TaskWorkingSetUpdater implements IWorkingSetUpdater, ITaskListChang
public void containersChanged(Set<TaskContainerDelta> delta) {
for (TaskContainerDelta taskContainerDelta : delta) {
- if (taskContainerDelta.getContainer() instanceof TaskCategory
- || taskContainerDelta.getContainer() instanceof IRepositoryQuery) {
+ if (taskContainerDelta.getTarget() instanceof TaskCategory
+ || taskContainerDelta.getTarget() instanceof IRepositoryQuery) {
synchronized (workingSets) {
switch (taskContainerDelta.getKind()) {
case REMOVED:
@@ -139,7 +139,7 @@ public class TaskWorkingSetUpdater implements IWorkingSetUpdater, ITaskListChang
for (IWorkingSet workingSet : workingSets) {
ArrayList<IAdaptable> elements = new ArrayList<IAdaptable>(
Arrays.asList(workingSet.getElements()));
- elements.remove(taskContainerDelta.getContainer());
+ elements.remove(taskContainerDelta.getTarget());
workingSet.setElements(elements.toArray(new IAdaptable[elements.size()]));
}
break;
@@ -148,13 +148,10 @@ public class TaskWorkingSetUpdater implements IWorkingSetUpdater, ITaskListChang
for (IWorkingSet workingSet : TaskWorkingSetUpdater.getEnabledSets()) {
ArrayList<IAdaptable> elements = new ArrayList<IAdaptable>(
Arrays.asList(workingSet.getElements()));
- elements.add(taskContainerDelta.getContainer());
+ elements.add(taskContainerDelta.getTarget());
workingSet.setElements(elements.toArray(new IAdaptable[elements.size()]));
}
break;
- case CHANGED:
- // Ignore since containers change during synch with server
- break;
}
}
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage.java
index d36243519..e8098974b 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage.java
@@ -192,9 +192,9 @@ public abstract class AbstractTaskEditorPage extends FormPage implements ISelect
public void containersChanged(Set<TaskContainerDelta> containers) {
ITask taskToRefresh = null;
for (TaskContainerDelta taskContainerDelta : containers) {
- if (task.equals(taskContainerDelta.getContainer())) {
+ if (task.equals(taskContainerDelta.getTarget())) {
if (taskContainerDelta.getKind().equals(TaskContainerDelta.Kind.CONTENT)) {
- taskToRefresh = (ITask) taskContainerDelta.getContainer();
+ taskToRefresh = (ITask) taskContainerDelta.getTarget();
break;
}
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/wizards/RepositoryQueryWizard.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/wizards/RepositoryQueryWizard.java
index 312b2fbc8..e8fb8a00c 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/wizards/RepositoryQueryWizard.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/wizards/RepositoryQueryWizard.java
@@ -8,8 +8,6 @@
package org.eclipse.mylyn.tasks.ui.wizards;
-import java.util.Collections;
-
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
@@ -63,7 +61,9 @@ public class RepositoryQueryWizard extends Wizard {
IRepositoryQuery query = page.getQuery();
if (query != null) {
page.applyTo(query);
- TasksUiPlugin.getTaskList().notifyContainersUpdated(Collections.singleton((RepositoryQuery) query));
+ if (query instanceof RepositoryQuery) {
+ TasksUiPlugin.getTaskList().notifyElementChanged((RepositoryQuery) query);
+ }
} else {
query = page.createQuery();
TasksUi.getTasksModel().addQuery(query);

Back to the top