Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java')
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java29
1 files changed, 25 insertions, 4 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java
index 35c4dae15..ca52ad55b 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java
@@ -52,6 +52,7 @@ import org.eclipse.mylyn.context.core.ContextCore;
import org.eclipse.mylyn.internal.context.core.ContextPreferenceContstants;
import org.eclipse.mylyn.internal.provisional.commons.ui.AbstractNotification;
import org.eclipse.mylyn.internal.provisional.commons.ui.CommonColors;
+import org.eclipse.mylyn.internal.tasks.core.AbstractSearchHandler;
import org.eclipse.mylyn.internal.tasks.core.AbstractTask;
import org.eclipse.mylyn.internal.tasks.core.ITasksCoreConstants;
import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector;
@@ -66,7 +67,6 @@ import org.eclipse.mylyn.internal.tasks.core.TaskRepositoryManager;
import org.eclipse.mylyn.internal.tasks.core.TasksModel;
import org.eclipse.mylyn.internal.tasks.core.data.TaskDataManager;
import org.eclipse.mylyn.internal.tasks.core.data.TaskDataStore;
-import org.eclipse.mylyn.internal.tasks.core.deprecated.AbstractDuplicateDetector;
import org.eclipse.mylyn.internal.tasks.core.deprecated.AbstractLegacyRepositoryConnector;
import org.eclipse.mylyn.internal.tasks.core.externalization.ExternalizationManager;
import org.eclipse.mylyn.internal.tasks.core.externalization.IExternalizationParticipant;
@@ -76,6 +76,7 @@ import org.eclipse.mylyn.internal.tasks.ui.notifications.TaskListNotificationQue
import org.eclipse.mylyn.internal.tasks.ui.notifications.TaskListNotificationReminder;
import org.eclipse.mylyn.internal.tasks.ui.util.TasksUiExtensionReader;
import org.eclipse.mylyn.internal.tasks.ui.views.TaskRepositoriesView;
+import org.eclipse.mylyn.tasks.core.AbstractDuplicateDetector;
import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector;
import org.eclipse.mylyn.tasks.core.IRepositoryQuery;
import org.eclipse.mylyn.tasks.core.ITask;
@@ -178,6 +179,8 @@ public class TasksUiPlugin extends AbstractUIPlugin {
private TaskJobFactory tasksJobFactory;
+ private final List<AbstractSearchHandler> searchHandlers = new ArrayList<AbstractSearchHandler>();
+
private static final boolean DEBUG_HTTPCLIENT = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.mylyn.tasks.ui/debug/httpclient"));
// XXX reconsider if this is necessary
@@ -1021,9 +1024,8 @@ public class TasksUiPlugin extends AbstractUIPlugin {
}
public void addDuplicateDetector(AbstractDuplicateDetector duplicateDetector) {
- if (duplicateDetector != null) {
- duplicateDetectors.add(duplicateDetector);
- }
+ Assert.isNotNull(duplicateDetector);
+ duplicateDetectors.add(duplicateDetector);
}
public Set<AbstractDuplicateDetector> getDuplicateSearchCollectorsList() {
@@ -1150,4 +1152,23 @@ public class TasksUiPlugin extends AbstractUIPlugin {
public static TasksModel getTasksModel() {
return tasksModel;
}
+
+ public void addSearchHandler(AbstractSearchHandler searchHandler) {
+ searchHandlers.add(searchHandler);
+ }
+
+ public void removeSearchHandler(AbstractSearchHandler searchHandler) {
+ searchHandlers.remove(searchHandler);
+ }
+
+ public AbstractSearchHandler getSearchHandler(String connectorKind) {
+ Assert.isNotNull(connectorKind);
+ for (AbstractSearchHandler searchHandler : searchHandlers) {
+ if (searchHandler.getConnectorKind().equals(connectorKind)) {
+ return searchHandler;
+ }
+ }
+ return null;
+ }
+
}

Back to the top