diff options
author | spingel | 2009-07-21 22:52:06 +0000 |
---|---|---|
committer | spingel | 2009-07-21 22:52:06 +0000 |
commit | 60cd5f68b7e649c993dccceaf5282abf858a3fe4 (patch) | |
tree | 7d485256925e8a81f5ef598bffd9267f58db36f2 | |
parent | 35d02b17562a6c7fd390b84c1c734e01f9cfce5f (diff) | |
download | org.eclipse.mylyn.tasks-60cd5f68b7e649c993dccceaf5282abf858a3fe4.tar.gz org.eclipse.mylyn.tasks-60cd5f68b7e649c993dccceaf5282abf858a3fe4.tar.xz org.eclipse.mylyn.tasks-60cd5f68b7e649c993dccceaf5282abf858a3fe4.zip |
NEW - bug 284172: [patch] provide access to progress monitor to allow monitoring synchronizationJob in progress
https://bugs.eclipse.org/bugs/show_bug.cgi?id=284172
3 files changed, 33 insertions, 4 deletions
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 38baaf427..edb65cc5f 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 @@ -31,6 +31,8 @@ import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.SubProgressMonitor; import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.mylyn.commons.core.DelegatingProgressMonitor; +import org.eclipse.mylyn.commons.core.IDelegatingProgressMonitor; import org.eclipse.mylyn.commons.core.StatusHandler; import org.eclipse.mylyn.commons.net.Policy; import org.eclipse.mylyn.internal.tasks.core.AbstractTask; @@ -120,6 +122,8 @@ public class SynchronizeQueriesJob extends SynchronizationJob { private final List<IStatus> statuses; + private final IDelegatingProgressMonitor monitor; + public SynchronizeQueriesJob(TaskList taskList, TaskDataManager taskDataManager, IRepositoryModel tasksModel, AbstractRepositoryConnector connector, TaskRepository repository, Set<RepositoryQuery> queries) { super(Messages.SynchronizeQueriesJob_Synchronizing_Queries + " (" + repository.getRepositoryLabel() + ")"); //$NON-NLS-1$//$NON-NLS-2$ @@ -130,10 +134,12 @@ public class SynchronizeQueriesJob extends SynchronizationJob { this.repository = repository; this.queries = queries; this.statuses = new ArrayList<IStatus>(); + this.monitor = new DelegatingProgressMonitor(); } @Override - public IStatus run(IProgressMonitor monitor) { + public IStatus run(IProgressMonitor jobMonitor) { + monitor.attach(jobMonitor); try { monitor.beginTask(Messages.SynchronizeQueriesJob_Processing, 20 + queries.size() * 20 + 40 + 10); @@ -319,4 +325,7 @@ public class SynchronizeQueriesJob extends SynchronizationJob { return Collections.unmodifiableCollection(statuses); } + public IDelegatingProgressMonitor getMonitor() { + return monitor; + } } diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/SynchronizeRepositoriesJob.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/SynchronizeRepositoriesJob.java index bc0adfff8..01005e911 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/SynchronizeRepositoriesJob.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/SynchronizeRepositoriesJob.java @@ -25,6 +25,8 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.SubProgressMonitor; import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.mylyn.commons.core.DelegatingProgressMonitor; +import org.eclipse.mylyn.commons.core.IDelegatingProgressMonitor; import org.eclipse.mylyn.commons.net.Policy; import org.eclipse.mylyn.internal.tasks.core.ITasksCoreConstants; import org.eclipse.mylyn.internal.tasks.core.RepositoryQuery; @@ -53,6 +55,8 @@ public class SynchronizeRepositoriesJob extends SynchronizationJob { private final IRepositoryModel tasksModel; + private final IDelegatingProgressMonitor monitor; + public SynchronizeRepositoriesJob(TaskList taskList, TaskDataManager taskDataManager, IRepositoryModel tasksModel, IRepositoryManager repositoryManager) { super(Messages.SynchronizeRepositoriesJob_Synchronizing_Task_List); @@ -60,6 +64,7 @@ public class SynchronizeRepositoriesJob extends SynchronizationJob { this.taskDataManager = taskDataManager; this.tasksModel = tasksModel; this.repositoryManager = repositoryManager; + this.monitor = new DelegatingProgressMonitor(); } public Collection<TaskRepository> getRepositories() { @@ -75,7 +80,8 @@ public class SynchronizeRepositoriesJob extends SynchronizationJob { } @Override - public IStatus run(IProgressMonitor monitor) { + public IStatus run(IProgressMonitor jobMonitor) { + monitor.attach(jobMonitor); // get the current list of repositories Set<TaskRepository> repositories = this.repositories; if (repositories == null) { @@ -182,4 +188,8 @@ public class SynchronizeRepositoriesJob extends SynchronizationJob { monitor.done(); } } + + public IDelegatingProgressMonitor getMonitor() { + return monitor; + } } 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 ae5551370..661567881 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 @@ -27,6 +27,8 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.SubProgressMonitor; +import org.eclipse.mylyn.commons.core.DelegatingProgressMonitor; +import org.eclipse.mylyn.commons.core.IDelegatingProgressMonitor; import org.eclipse.mylyn.commons.core.StatusHandler; import org.eclipse.mylyn.commons.net.Policy; import org.eclipse.mylyn.internal.tasks.core.AbstractTask; @@ -79,6 +81,8 @@ public class SynchronizeTasksJob extends SynchronizationJob { private final List<IStatus> statuses; + private final IDelegatingProgressMonitor monitor; + public SynchronizeTasksJob(TaskList taskList, TaskDataManager synchronizationManager, IRepositoryModel tasksModel, AbstractRepositoryConnector connector, TaskRepository taskRepository, Set<ITask> tasks) { this(taskList, synchronizationManager, tasksModel, connector, (IRepositoryManager) null, tasks); @@ -96,10 +100,12 @@ public class SynchronizeTasksJob extends SynchronizationJob { this.allTasks = tasks; this.statuses = new ArrayList<IStatus>(); setRule(new MutexSchedulingRule()); + this.monitor = new DelegatingProgressMonitor(); } @Override - public IStatus run(IProgressMonitor monitor) { + public IStatus run(IProgressMonitor jobMonitor) { + monitor.attach(jobMonitor); try { if (taskRepository == null) { try { @@ -147,7 +153,8 @@ public class SynchronizeTasksJob extends SynchronizationJob { synchronizedTaskRelations(monitor, relationsByTaskId); } - public void synchronizedTaskRelations(IProgressMonitor monitor, Map<String, TaskRelation[]> relationsByTaskId) { + public void synchronizedTaskRelations(IProgressMonitor jobMonitor, Map<String, TaskRelation[]> relationsByTaskId) { + monitor.attach(jobMonitor); updateRelations = false; for (String taskId : relationsByTaskId.keySet()) { ITask parentTask = taskList.getTask(taskRepository.getRepositoryUrl(), taskId); @@ -327,4 +334,7 @@ public class SynchronizeTasksJob extends SynchronizationJob { return Collections.unmodifiableCollection(statuses); } + public IDelegatingProgressMonitor getMonitor() { + return monitor; + } } |