diff options
author | Miles Parker | 2013-06-11 23:26:15 +0000 |
---|---|---|
committer | Steffen Pingel | 2013-06-11 23:44:24 +0000 |
commit | 6d2d585b9a701d39d639f8e635942c3d2dcb8a53 (patch) | |
tree | fb8cbd3992dd0016ca085bada1d2e1b10c98bc78 /org.eclipse.mylyn.reviews.ui/src | |
parent | e505f4180817c3f4317a7439302ba36ad8b45e43 (diff) | |
download | org.eclipse.mylyn.reviews-6d2d585b9a701d39d639f8e635942c3d2dcb8a53.tar.gz org.eclipse.mylyn.reviews-6d2d585b9a701d39d639f8e635942c3d2dcb8a53.tar.xz org.eclipse.mylyn.reviews-6d2d585b9a701d39d639f8e635942c3d2dcb8a53.zip |
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.java | 31 |
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(); |