Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Parker2013-06-11 23:26:15 +0000
committerSteffen Pingel2013-06-11 23:44:24 +0000
commit6d2d585b9a701d39d639f8e635942c3d2dcb8a53 (patch)
treefb8cbd3992dd0016ca085bada1d2e1b10c98bc78 /org.eclipse.mylyn.reviews.ui/src
parente505f4180817c3f4317a7439302ba36ad8b45e43 (diff)
downloadorg.eclipse.mylyn.reviews-6d2d585b9a701d39d639f8e635942c3d2dcb8a53.tar.gz
org.eclipse.mylyn.reviews-6d2d585b9a701d39d639f8e635942c3d2dcb8a53.tar.xz
org.eclipse.mylyn.reviews-6d2d585b9a701d39d639f8e635942c3d2dcb8a53.zip
410397: users with existing tasks will not see update notificationsv2.0.0R_3_9_0
Change-Id: I21cfabe9ef177c63b999bc6e2d910d1bbf12b855 Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=410397
Diffstat (limited to 'org.eclipse.mylyn.reviews.ui/src')
-rw-r--r--org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/editor/AbstractReviewTaskEditorPage.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/editor/AbstractReviewTaskEditorPage.java b/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/editor/AbstractReviewTaskEditorPage.java
index 2aa06885e..b076ace9c 100644
--- a/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/editor/AbstractReviewTaskEditorPage.java
+++ b/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/editor/AbstractReviewTaskEditorPage.java
@@ -11,19 +11,27 @@
package org.eclipse.mylyn.reviews.ui.spi.editor;
+import java.io.File;
import java.util.Date;
+import org.eclipse.jface.dialogs.IMessageProvider;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.mylyn.internal.tasks.ui.actions.SynchronizeEditorAction;
+import org.eclipse.mylyn.internal.tasks.ui.editors.Messages;
import org.eclipse.mylyn.reviews.core.model.IRepository;
import org.eclipse.mylyn.reviews.core.model.IReview;
import org.eclipse.mylyn.reviews.core.spi.ReviewsConnector;
import org.eclipse.mylyn.reviews.core.spi.remote.emf.RemoteEmfConsumer;
import org.eclipse.mylyn.reviews.core.spi.remote.emf.RemoteEmfObserver;
import org.eclipse.mylyn.reviews.core.spi.remote.review.IReviewRemoteFactoryProvider;
+import org.eclipse.mylyn.reviews.spi.edit.remote.AbstractRemoteEditFactoryProvider;
import org.eclipse.mylyn.reviews.spi.edit.remote.review.ReviewsRemoteEditFactoryProvider;
import org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPage;
import org.eclipse.mylyn.tasks.ui.editors.TaskEditor;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.forms.events.HyperlinkAdapter;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
/**
* Marks task editor as providing Review model for extending classes.
@@ -43,12 +51,35 @@ public abstract class AbstractReviewTaskEditorPage extends AbstractTaskEditorPag
@Override
public void init(final IEditorSite site, final IEditorInput input) {
AbstractReviewTaskEditorPage.super.init(site, input);
+
+ checkIfModelIsCached();
+
reviewConsumer = getFactoryProvider().getReviewFactory().getConsumerForLocalKey(getFactoryProvider().getRoot(),
getTask().getTaskId());
reviewConsumer.addObserver(reviewObserver);
reviewConsumer.open();
}
+ private void checkIfModelIsCached() {
+ AbstractRemoteEditFactoryProvider factoryProvider = (AbstractRemoteEditFactoryProvider) getFactoryProvider();
+ String reviewPath = factoryProvider.getDataLocator()
+ .getFilePath(factoryProvider.getContainerSegment(), "Review", getTask().getTaskId(), "reviews")
+ .toOSString();
+ if (!new File(reviewPath).exists()) {
+ getTaskEditor().setMessage(Messages.AbstractTaskEditorPage_Synchronize_to_retrieve_task_data,
+ IMessageProvider.WARNING, new HyperlinkAdapter() {
+ @Override
+ public void linkActivated(HyperlinkEvent e) {
+ SynchronizeEditorAction synchronizeEditorAction = new SynchronizeEditorAction();
+ synchronizeEditorAction.selectionChanged(new StructuredSelection(getTaskEditor()));
+ if (synchronizeEditorAction != null) {
+ synchronizeEditorAction.run();
+ }
+ }
+ });
+ }
+ }
+
public IReviewRemoteFactoryProvider getFactoryProvider() {
return (IReviewRemoteFactoryProvider) ((ReviewsConnector) getConnector()).getReviewClient(getTaskRepository())
.getFactoryProvider();

Back to the top