Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiExtensionReader.java22
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java1
2 files changed, 19 insertions, 4 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiExtensionReader.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiExtensionReader.java
index 6023528ae..f16c917db 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiExtensionReader.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiExtensionReader.java
@@ -101,11 +101,11 @@ public class TasksUiExtensionReader {
public static final String ELMNT_HYPERLINK_DETECTOR = "hyperlinkDetector";
- private static boolean extensionsRead = false;
+ private static boolean coreExtensionsRead = false;
public static void initExtensions(TaskListWriter writer) {
List<ITaskListExternalizer> externalizers = new ArrayList<ITaskListExternalizer>();
- if (!extensionsRead) {
+ if (!coreExtensionsRead) {
IExtensionRegistry registry = Platform.getExtensionRegistry();
// HACK: has to be read first
@@ -159,10 +159,25 @@ public class TasksUiExtensionReader {
}
}
writer.setDelegateExternalizers(externalizers);
- extensionsRead = true;
+ coreExtensionsRead = true;
}
}
+ public static void initWorkbenchUiExtensions() {
+ IExtensionRegistry registry = Platform.getExtensionRegistry();
+
+ IExtensionPoint repositoriesExtensionPoint = registry.getExtensionPoint(EXTENSION_REPOSITORIES);
+ IExtension[] repositoryExtensions = repositoriesExtensionPoint.getExtensions();
+ for (int i = 0; i < repositoryExtensions.length; i++) {
+ IConfigurationElement[] elements = repositoryExtensions[i].getConfigurationElements();
+ for (int j = 0; j < elements.length; j++) {
+ if (elements[j].getName().equals(ELMNT_REPOSITORY_UI)) {
+ readRepositoryConnectorUi(elements[j]);
+ }
+ }
+ }
+ }
+
private static void readHyperlinkDetector(IConfigurationElement element) {
try {
Object hyperlinkDetector = element.createExecutableExtension(ATTR_CLASS);
@@ -208,7 +223,6 @@ public class TasksUiExtensionReader {
private static void readRepositoryConnectorUi(IConfigurationElement element) {
try {
-// Object type = element.getAttribute(ELMNT_TYPE);
Object connectorUi = element.createExecutableExtension(ATTR_CLASS);
if (connectorUi instanceof AbstractRepositoryConnectorUi) {
TasksUiPlugin.addRepositoryConnectorUi((AbstractRepositoryConnectorUi) connectorUi);
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 a2d9c4638..66c70e158 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
@@ -407,6 +407,7 @@ public class TasksUiPlugin extends AbstractUIPlugin implements IStartup {
PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
public void run() {
try {
+ TasksUiExtensionReader.initWorkbenchUiExtensions();
PlatformUI.getWorkbench().addWindowListener(WINDOW_LISTENER);
// Needs to happen asynchronously to avoid bug 159706

Back to the top