diff options
author | spingel | 2008-04-09 06:05:16 +0000 |
---|---|---|
committer | spingel | 2008-04-09 06:05:16 +0000 |
commit | af4d76bdbed508ad81e8ed229bdaa0f1b39f4e7b (patch) | |
tree | 4574eb744529eebc2e8e30ff4d97cf8e99c2fff5 | |
parent | 5f580aeac07c62c2713469552819f812a00accb5 (diff) | |
download | org.eclipse.mylyn.tasks-af4d76bdbed508ad81e8ed229bdaa0f1b39f4e7b.tar.gz org.eclipse.mylyn.tasks-af4d76bdbed508ad81e8ed229bdaa0f1b39f4e7b.tar.xz org.eclipse.mylyn.tasks-af4d76bdbed508ad81e8ed229bdaa0f1b39f4e7b.zip |
NEW - bug 225040: mark internal packages as x-internal
https://bugs.eclipse.org/bugs/show_bug.cgi?id=225040
16 files changed, 120 insertions, 36 deletions
diff --git a/org.eclipse.mylyn.tasks.core/META-INF/MANIFEST.MF b/org.eclipse.mylyn.tasks.core/META-INF/MANIFEST.MF index aed9aec0a..dd8b8a943 100644 --- a/org.eclipse.mylyn.tasks.core/META-INF/MANIFEST.MF +++ b/org.eclipse.mylyn.tasks.core/META-INF/MANIFEST.MF @@ -12,4 +12,5 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.mylyn.web.core;bundle-version="[3.0.0,4.0.0)" Export-Package: org.eclipse.mylyn.internal.tasks.core;x-friends:="org.eclipse.mylyn.tasks.ui", org.eclipse.mylyn.internal.tasks.core.sync;x-friends:="org.eclipse.mylyn.tasks.ui", - org.eclipse.mylyn.tasks.core + org.eclipse.mylyn.tasks.core, + org.eclipse.mylyn.tasks.core.sync diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskDataManager.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskDataManager.java index 1391eab36..d995fbe96 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskDataManager.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskDataManager.java @@ -20,6 +20,7 @@ import org.eclipse.core.runtime.Status; import org.eclipse.mylyn.monitor.core.StatusHandler; import org.eclipse.mylyn.tasks.core.AbstractAttributeFactory; import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector; +import org.eclipse.mylyn.tasks.core.ITaskDataManager; import org.eclipse.mylyn.tasks.core.RepositoryTaskAttribute; import org.eclipse.mylyn.tasks.core.RepositoryTaskData; import org.eclipse.mylyn.tasks.core.TaskRepositoryManager; @@ -29,7 +30,7 @@ import org.eclipse.mylyn.tasks.core.TaskRepositoryManager; * * @author Rob Elves */ -public class TaskDataManager { +public class TaskDataManager implements ITaskDataManager { private final TaskRepositoryManager taskRepositoryManager; diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/RepositorySynchronizationManager.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/RepositorySynchronizationManager.java index 7ec84b463..193aaa327 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/RepositorySynchronizationManager.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/RepositorySynchronizationManager.java @@ -19,6 +19,7 @@ import org.eclipse.mylyn.tasks.core.RepositoryTaskAttribute; import org.eclipse.mylyn.tasks.core.RepositoryTaskData; import org.eclipse.mylyn.tasks.core.TaskList; import org.eclipse.mylyn.tasks.core.AbstractTask.RepositoryTaskSyncState; +import org.eclipse.mylyn.tasks.core.sync.IRepositorySynchronizationManager; /** * Encapsulates synchronization policy. @@ -27,7 +28,7 @@ import org.eclipse.mylyn.tasks.core.AbstractTask.RepositoryTaskSyncState; * @author Rob Elves * @author Steffen Pingel */ -public final class RepositorySynchronizationManager { +public final class RepositorySynchronizationManager implements IRepositorySynchronizationManager { private final TaskDataManager taskDataManager; diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/SynchronizeAllTasksJob.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/SynchronizeAllTasksJob.java index 1ece8386d..a35b6e867 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/SynchronizeAllTasksJob.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/sync/SynchronizeAllTasksJob.java @@ -23,6 +23,7 @@ import org.eclipse.mylyn.tasks.core.SynchronizeJob; import org.eclipse.mylyn.tasks.core.TaskList; import org.eclipse.mylyn.tasks.core.TaskRepository; import org.eclipse.mylyn.tasks.core.TaskRepositoryManager; +import org.eclipse.mylyn.tasks.core.sync.IRepositorySynchronizationManager; /** * @author Steffen Pingel @@ -35,7 +36,7 @@ public class SynchronizeAllTasksJob extends SynchronizeJob { private boolean forced = false; - private final RepositorySynchronizationManager synchronizationManager; + private final IRepositorySynchronizationManager synchronizationManager; private final TaskList taskList; @@ -43,7 +44,7 @@ public class SynchronizeAllTasksJob extends SynchronizeJob { private final TaskRepositoryManager repositoryManager; - public SynchronizeAllTasksJob(TaskList taskList, RepositorySynchronizationManager synchronizationManager, + public SynchronizeAllTasksJob(TaskList taskList, IRepositorySynchronizationManager synchronizationManager, TaskRepositoryManager repositoryManager, AbstractRepositoryConnector connector, Set<AbstractTask> tasks) { super(LABEL_SYNCHRONIZE_TASK + " (" + tasks.size() + " tasks)"); this.taskList = taskList; 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 918621618..bf1e206fd 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 @@ -32,6 +32,7 @@ import org.eclipse.mylyn.tasks.core.SynchronizeJob; import org.eclipse.mylyn.tasks.core.TaskList; import org.eclipse.mylyn.tasks.core.TaskRepository; import org.eclipse.mylyn.tasks.core.AbstractTask.RepositoryTaskSyncState; +import org.eclipse.mylyn.tasks.core.sync.IRepositorySynchronizationManager; /** * @author Mik Kersten @@ -58,9 +59,9 @@ public class SynchronizeQueriesJob extends SynchronizeJob { private boolean fullSynchronization = true; - private final RepositorySynchronizationManager synchronizationManager; + private final IRepositorySynchronizationManager synchronizationManager; - public SynchronizeQueriesJob(TaskList taskList, RepositorySynchronizationManager synchronizationManager, + public SynchronizeQueriesJob(TaskList taskList, IRepositorySynchronizationManager synchronizationManager, AbstractRepositoryConnector connector, TaskRepository repository, Set<AbstractRepositoryQuery> queries) { super("Synchronizing queries for " + repository.getRepositoryLabel()); this.taskList = taskList; 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 ff8fd61fd..0849991c7 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 @@ -29,6 +29,7 @@ import org.eclipse.mylyn.tasks.core.SynchronizeJob; import org.eclipse.mylyn.tasks.core.TaskList; import org.eclipse.mylyn.tasks.core.TaskRepository; import org.eclipse.mylyn.tasks.core.AbstractTask.RepositoryTaskSyncState; +import org.eclipse.mylyn.tasks.core.sync.IRepositorySynchronizationManager; import org.eclipse.mylyn.web.core.Policy; /** @@ -46,7 +47,7 @@ public class SynchronizeTasksJob extends SynchronizeJob { private boolean forced = false; - private final RepositorySynchronizationManager synchronizationManager; + private final IRepositorySynchronizationManager synchronizationManager; private final AbstractTaskDataHandler taskDataHandler; @@ -56,7 +57,7 @@ public class SynchronizeTasksJob extends SynchronizeJob { private final Set<AbstractTask> tasks; - public SynchronizeTasksJob(TaskList taskList, RepositorySynchronizationManager synchronizationManager, + public SynchronizeTasksJob(TaskList taskList, IRepositorySynchronizationManager synchronizationManager, AbstractRepositoryConnector connector, TaskRepository taskRepository, Set<AbstractTask> tasks) { super(LABEL_SYNCHRONIZE_TASK + " (" + tasks.size() + " tasks)"); this.taskList = taskList; diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractRepositoryConnector.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractRepositoryConnector.java index 02e0967e1..5ddb00380 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractRepositoryConnector.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractRepositoryConnector.java @@ -19,8 +19,8 @@ import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.SubProgressMonitor; import org.eclipse.mylyn.internal.tasks.core.IRepositoryConstants; import org.eclipse.mylyn.internal.tasks.core.RepositoryTemplateManager; -import org.eclipse.mylyn.internal.tasks.core.TaskDataManager; import org.eclipse.mylyn.tasks.core.AbstractTask.RepositoryTaskSyncState; +import org.eclipse.mylyn.tasks.core.sync.IRepositorySynchronizationManager; /** * Encapsulates common operations that can be performed on a task repository. Extend to connect with a Java API or WS @@ -44,7 +44,9 @@ public abstract class AbstractRepositoryConnector { private boolean userManaged = true; - private TaskDataManager taskDataManager; + private ITaskDataManager taskDataManager; + + private IRepositorySynchronizationManager synchronizationManager; public void init(TaskList taskList) { this.taskList = taskList; @@ -52,9 +54,12 @@ public abstract class AbstractRepositoryConnector { /** * Set upon construction + * + * @since 3.0 */ - public void setTaskDataManager(TaskDataManager taskDataManager) { + public void init2(ITaskDataManager taskDataManager, IRepositorySynchronizationManager synchronizationManager) { this.taskDataManager = taskDataManager; + this.synchronizationManager = synchronizationManager; } /** @@ -459,13 +464,23 @@ public abstract class AbstractRepositoryConnector { return null; } - private TaskDataManager getTaskDataManager() { + /** + * @since 3.0 + */ + protected ITaskDataManager getTaskDataManager() { return taskDataManager; } /** * @since 3.0 */ + protected IRepositorySynchronizationManager getSynchronizationManager() { + return synchronizationManager; + } + + /** + * @since 3.0 + */ public void preSynchronization(SynchronizationEvent event, IProgressMonitor monitor) throws CoreException { } diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITaskDataManager.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITaskDataManager.java new file mode 100644 index 000000000..c4f0653b0 --- /dev/null +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITaskDataManager.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Mylyn project committers and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ + +package org.eclipse.mylyn.tasks.core; + +/** + * @author Steffen Pingel + * @since 3.0 + */ +public interface ITaskDataManager { + + /** + * Returns the most recent copy of the task data. + * + * @return offline task data, null if no data found + */ + public abstract RepositoryTaskData getNewTaskData(String repositoryUrl, String id); + + @Deprecated + public abstract void setNewTaskData(RepositoryTaskData taskData); + +}
\ No newline at end of file diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskSelection.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskSelection.java index 98154e146..bd32a021c 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskSelection.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskSelection.java @@ -8,12 +8,11 @@ package org.eclipse.mylyn.tasks.core; - import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.mylyn.internal.tasks.core.ITasksCoreConstants; import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; -import org.eclipse.mylyn.internal.tasks.core.TaskDataManager; +import org.eclipse.mylyn.internal.tasks.core.TaskDataManager.ObjectCloner; import org.eclipse.mylyn.monitor.core.StatusHandler; /** @@ -30,7 +29,7 @@ public class TaskSelection { } try { - this.taskData = (RepositoryTaskData) TaskDataManager.ObjectCloner.deepCopy(taskData); + this.taskData = (RepositoryTaskData) ObjectCloner.deepCopy(taskData); this.taskData.setAttributeFactory(taskData.getAttributeFactory()); this.taskData.refresh(); } catch (Exception e) { diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/sync/IRepositorySynchronizationManager.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/sync/IRepositorySynchronizationManager.java new file mode 100644 index 000000000..cff3f75ef --- /dev/null +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/sync/IRepositorySynchronizationManager.java @@ -0,0 +1,28 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Mylyn project committers and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ + +package org.eclipse.mylyn.tasks.core.sync; + +import org.eclipse.mylyn.tasks.core.AbstractTask; +import org.eclipse.mylyn.tasks.core.RepositoryTaskData; + +/** + * @author Steffen Pingel + * @since 3.0 + */ +public interface IRepositorySynchronizationManager { + + /** + * Saves incoming data and updates task sync state appropriately + * + * @return true if call results in change of sync state + */ + public abstract boolean saveIncoming(final AbstractTask repositoryTask, final RepositoryTaskData newTaskData, + boolean forceSync); + +}
\ No newline at end of file diff --git a/org.eclipse.mylyn.tasks.ui/.settings/.api_filters b/org.eclipse.mylyn.tasks.ui/.settings/.api_filters index 5d7fc6142..baba73178 100644 --- a/org.eclipse.mylyn.tasks.ui/.settings/.api_filters +++ b/org.eclipse.mylyn.tasks.ui/.settings/.api_filters @@ -11,10 +11,6 @@ <filter id="643846161" messageargs="org.eclipse.mylyn.internal.tasks.ui.editors.IRepositoryTaskAttributeListener"/> <filter id="643846161" messageargs="org.eclipse.mylyn.internal.tasks.ui.editors.IRepositoryTaskAttributeListener"/> <filter id="643842064" messageargs="org.eclipse.mylyn.internal.tasks.ui.editors.RepositoryTaskOutlinePage"/> - <filter id="643846161" messageargs="org.eclipse.mylyn.internal.tasks.ui.editors.RepositoryTaskOutlineNode"/> - <filter id="643842064" messageargs="org.eclipse.mylyn.internal.tasks.ui.editors.RepositoryTaskOutlineNode"/> - <filter id="643842064" messageargs="org.eclipse.mylyn.internal.tasks.ui.editors.RepositoryTaskOutlinePage"/> - <filter id="643846161" messageargs="org.eclipse.mylyn.internal.tasks.ui.editors.IRepositoryTaskAttributeListener"/> <filter id="643842064" messageargs="org.eclipse.mylyn.internal.tasks.ui.editors.RepositoryTaskOutlineNode"/> <filter id="643846161" messageargs="org.eclipse.mylyn.internal.tasks.ui.editors.RepositoryTaskOutlineNode"/> </resource> diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/AttachmentUtil.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/AttachmentUtil.java index ed3a5e47f..a1c6e899d 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/AttachmentUtil.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/AttachmentUtil.java @@ -21,11 +21,11 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.core.runtime.Status; import org.eclipse.mylyn.context.core.ContextCore; -import org.eclipse.mylyn.internal.tasks.core.TaskDataManager; import org.eclipse.mylyn.monitor.core.StatusHandler; import org.eclipse.mylyn.tasks.core.AbstractAttachmentHandler; import org.eclipse.mylyn.tasks.core.AbstractTask; import org.eclipse.mylyn.tasks.core.FileAttachment; +import org.eclipse.mylyn.tasks.core.ITaskDataManager; import org.eclipse.mylyn.tasks.core.RepositoryAttachment; import org.eclipse.mylyn.tasks.core.RepositoryStatus; import org.eclipse.mylyn.tasks.core.RepositoryTaskData; @@ -85,7 +85,7 @@ public class AttachmentUtil { * @return an empty set if no contexts */ public static Set<RepositoryAttachment> getContextAttachments(TaskRepository repository, AbstractTask task) { - TaskDataManager taskDataManager = TasksUiPlugin.getTaskDataManager(); + ITaskDataManager taskDataManager = TasksUiPlugin.getTaskDataManager(); Set<RepositoryAttachment> contextAttachments = new HashSet<RepositoryAttachment>(); if (taskDataManager != null) { RepositoryTaskData newData = taskDataManager.getNewTaskData(task.getRepositoryUrl(), task.getTaskId()); diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ScheduledTaskListSynchJob.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ScheduledTaskListSynchJob.java index e4c3c4677..32b1c8c5f 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ScheduledTaskListSynchJob.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ScheduledTaskListSynchJob.java @@ -18,11 +18,11 @@ 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.internal.tasks.core.sync.RepositorySynchronizationManager; import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector; import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery; import org.eclipse.mylyn.tasks.core.TaskList; import org.eclipse.mylyn.tasks.core.TaskRepository; +import org.eclipse.mylyn.tasks.core.sync.IRepositorySynchronizationManager; import org.eclipse.mylyn.tasks.ui.TaskListManager; import org.eclipse.mylyn.tasks.ui.TasksUi; import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; @@ -108,7 +108,7 @@ public class ScheduledTaskListSynchJob extends Job { continue; } - RepositorySynchronizationManager synchronizationManager = TasksUiPlugin.getSynchronizationManager(); + IRepositorySynchronizationManager synchronizationManager = TasksUiPlugin.getSynchronizationManager(); Set<AbstractRepositoryQuery> queries = taskList.getRepositoryQueries(repository.getRepositoryUrl()); try { // Occasionally request update of repository configuration attributes diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/SynchronizeSelectedAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/SynchronizeSelectedAction.java index 3e2757e69..9bef0a8e8 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/SynchronizeSelectedAction.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/SynchronizeSelectedAction.java @@ -21,12 +21,12 @@ import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.mylyn.internal.tasks.core.TaskCategory; -import org.eclipse.mylyn.internal.tasks.core.sync.RepositorySynchronizationManager; import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView; import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector; import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery; import org.eclipse.mylyn.tasks.core.AbstractTask; import org.eclipse.mylyn.tasks.core.TaskRepository; +import org.eclipse.mylyn.tasks.core.sync.IRepositorySynchronizationManager; import org.eclipse.mylyn.tasks.ui.TasksUi; import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; import org.eclipse.ui.IActionBars; @@ -79,7 +79,7 @@ public class SynchronizeSelectedAction extends ActionDelegate implements IViewAc } } - RepositorySynchronizationManager syncManager = TasksUiPlugin.getSynchronizationManager(); + IRepositorySynchronizationManager syncManager = TasksUiPlugin.getSynchronizationManager(); if (!queriesToSyncMap.isEmpty()) { // determine which repositories to synch changed tasks for diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TaskListWriter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TaskListWriter.java index 86db12731..2d0428c9d 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TaskListWriter.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TaskListWriter.java @@ -46,7 +46,6 @@ import org.eclipse.mylyn.context.core.ContextCore; import org.eclipse.mylyn.internal.context.core.ContextCorePlugin; import org.eclipse.mylyn.internal.context.core.InteractionContext; import org.eclipse.mylyn.internal.context.core.InteractionContextExternalizer; -import org.eclipse.mylyn.internal.tasks.core.TaskDataManager; import org.eclipse.mylyn.internal.tasks.core.TaskExternalizationException; import org.eclipse.mylyn.internal.tasks.core.TaskRepositoriesExternalizer; import org.eclipse.mylyn.internal.tasks.ui.ITasksUiConstants; @@ -55,6 +54,7 @@ import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery; import org.eclipse.mylyn.tasks.core.AbstractTask; import org.eclipse.mylyn.tasks.core.AbstractTaskContainer; import org.eclipse.mylyn.tasks.core.AbstractTaskListFactory; +import org.eclipse.mylyn.tasks.core.ITaskDataManager; import org.eclipse.mylyn.tasks.core.TaskList; import org.eclipse.mylyn.tasks.core.TaskRepository; import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; @@ -247,7 +247,7 @@ public class TaskListWriter { /** * TODO: fix this old mess */ - public void readTaskList(TaskList taskList, File inFile, TaskDataManager taskDataManager) { + public void readTaskList(TaskList taskList, File inFile, ITaskDataManager taskDataManager) { hasCaughtException = false; Map<AbstractTask, NodeList> tasksWithSubtasks = new HashMap<AbstractTask, NodeList>(); orphanedTaskNodes.clear(); diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java index fd4029128..5a9ce4c3c 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java @@ -19,7 +19,6 @@ import java.util.Map; import java.util.Set; import java.util.TreeSet; -import org.eclipse.core.internal.net.ProxyManager; import org.eclipse.core.net.proxy.IProxyChangeListener; import org.eclipse.core.net.proxy.IProxyService; import org.eclipse.core.resources.IResource; @@ -97,6 +96,7 @@ import org.eclipse.ui.PlatformUI; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.eclipse.ui.progress.UIJob; import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; /** * Main entry point for the Tasks UI. @@ -343,6 +343,8 @@ public class TasksUiPlugin extends AbstractUIPlugin { private TaskActivityMonitor taskActivityMonitor; + private ServiceReference proxyServiceReference; + private class TasksUiInitializationJob extends UIJob { public TasksUiInitializationJob() { @@ -449,9 +451,14 @@ public class TasksUiPlugin extends AbstractUIPlugin { taskActivityManager = new TaskActivityManager(taskRepositoryManager, taskListManager.getTaskList()); updateTaskActivityManager(); - IProxyService proxyService = ProxyManager.getProxyManager(); - IProxyChangeListener proxyChangeListener = new TasksUiProxyChangeListener(taskRepositoryManager); - proxyService.addProxyChangeListener(proxyChangeListener); + proxyServiceReference = context.getServiceReference(IProxyService.class.getName()); + if (proxyServiceReference != null) { + IProxyService proxyService = (IProxyService) context.getService(proxyServiceReference); + if (proxyService != null) { + IProxyChangeListener proxyChangeListener = new TasksUiProxyChangeListener(taskRepositoryManager); + proxyService.addProxyChangeListener(proxyChangeListener); + } + } repositoryTemplateManager = new RepositoryTemplateManager(); @@ -467,6 +474,10 @@ public class TasksUiPlugin extends AbstractUIPlugin { synchronizationManager = new RepositorySynchronizationManager(taskDataManager, taskListManager.getTaskList()); + for (AbstractRepositoryConnector connector : taskRepositoryManager.getRepositoryConnectors()) { + connector.init2(taskDataManager, synchronizationManager); + } + loadTemplateRepositories(); // NOTE: task list must be read before Task List view can be @@ -523,9 +534,7 @@ public class TasksUiPlugin extends AbstractUIPlugin { // Add the automatically created templates for (AbstractRepositoryConnector connector : taskRepositoryManager.getRepositoryConnectors()) { - connector.setTaskDataManager(taskDataManager); - - for (RepositoryTemplate template : connector.getTemplates()) { + for (RepositoryTemplate template : repositoryTemplateManager.getTemplates(connector.getConnectorKind())) { if (template.addAutomatically && !TaskRepositoryUtil.isAddAutomaticallyDisabled(template.repositoryUrl)) { try { @@ -535,7 +544,6 @@ public class TasksUiPlugin extends AbstractUIPlugin { taskRepository = new TaskRepository(connector.getConnectorKind(), template.repositoryUrl); taskRepository.setVersion(template.version); taskRepository.setRepositoryLabel(template.label); - taskRepository.setAnonymous(true); taskRepository.setCharacterEncoding(template.characterEncoding); taskRepository.setAnonymous(template.anonymous); taskRepositoryManager.addRepository(taskRepository, getRepositoriesFilePath()); @@ -580,6 +588,11 @@ public class TasksUiPlugin extends AbstractUIPlugin { ResourcesPlugin.getWorkspace().removeSaveParticipant(this); } + if (proxyServiceReference != null) { + // TODO remove proxy listener? + context.ungetService(proxyServiceReference); + } + if (PlatformUI.isWorkbenchRunning()) { getPreferenceStore().removePropertyChangeListener(taskListNotificationManager); getPreferenceStore().removePropertyChangeListener(taskListBackupManager); |