diff options
Diffstat (limited to 'org.eclipse.mylyn.reviews.ui/src')
-rw-r--r-- | org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/internal/reviews/ui/ReviewsUiPlugin.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/internal/reviews/ui/ReviewsUiPlugin.java b/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/internal/reviews/ui/ReviewsUiPlugin.java index 226a80d16..663854f57 100644 --- a/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/internal/reviews/ui/ReviewsUiPlugin.java +++ b/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/internal/reviews/ui/ReviewsUiPlugin.java @@ -10,12 +10,19 @@ *********************************************************************/ package org.eclipse.mylyn.internal.reviews.ui; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin; +import org.eclipse.mylyn.reviews.internal.core.TaskReviewsMappingsStore; import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.eclipse.ui.progress.UIJob; import org.osgi.framework.BundleContext; /** * @author Steffen Pingel */ +@SuppressWarnings("restriction") public class ReviewsUiPlugin extends AbstractUIPlugin { public static final String PLUGIN_ID = "org.eclipse.mylyn.reviews.ui"; //$NON-NLS-1$ @@ -24,6 +31,10 @@ public class ReviewsUiPlugin extends AbstractUIPlugin { private ActiveReviewManager reviewManager; + private TaskReviewsMappingsStore taskReviewsMappingStore; + + private final String INITIALIZE_TASK_REVIEW_MAPPING_STORE_JOB = "initialize task review mapping store job"; //$NON-NLS-1$ + public ReviewsUiPlugin() { } @@ -32,6 +43,19 @@ public class ReviewsUiPlugin extends AbstractUIPlugin { super.start(context); plugin = this; reviewManager = new ActiveReviewManager(); + + //We need to schedule initialization otherwise TasksUiPlugin hasn't finished initialization. + UIJob job = new UIJob(INITIALIZE_TASK_REVIEW_MAPPING_STORE_JOB) { + @Override + public IStatus runInUIThread(IProgressMonitor monitor) { + taskReviewsMappingStore = new TaskReviewsMappingsStore(TasksUiPlugin.getTaskDataManager(), + TasksUiPlugin.getRepositoryManager()); + + TasksUiPlugin.getTaskList().addChangeListener(taskReviewsMappingStore); + return Status.OK_STATUS; + } + }; + job.schedule(); } @Override @@ -47,4 +71,8 @@ public class ReviewsUiPlugin extends AbstractUIPlugin { public ActiveReviewManager getReviewManager() { return reviewManager; } + + public TaskReviewsMappingsStore getTaskReviewsMappingStore() { + return taskReviewsMappingStore; + } } |