From 8eb5f2cb2ab8eedb685c19c2fa7438d74eabcfde Mon Sep 17 00:00:00 2001 From: Sam Davis Date: Thu, 31 Jan 2013 14:23:01 -0800 Subject: 399685: PatchSetSection should not assume its page is a GerritTaskEditorPage Change-Id: I5e167a08f4ad88a19adeee4e422dde9a389f7015 Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=399685 --- .../internal/gerrit/ui/editor/PatchSetSection.java | 34 ++++++++++++++-------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/editor/PatchSetSection.java b/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/editor/PatchSetSection.java index 9a2146075..3634e7da4 100644 --- a/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/editor/PatchSetSection.java +++ b/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/editor/PatchSetSection.java @@ -380,24 +380,27 @@ public class PatchSetSection extends AbstractGerritSection { public void run() { if (getControl() != null && !getControl().isDisposed()) { if (event.getResult().isOK()) { - GerritTaskEditorPage editor = (GerritTaskEditorPage) getTaskEditorPage(); - IReview review = editor.getReview(); + IReview review = getReview(); GerritPatchSetContent content = job.getPatchSetContent(); if (content != null && content.getPatchScriptByPatchKey() != null) { IReviewItemSet reviewItem = GerritUtil.createInput(changeDetail, content, cache); - IReviewItem replaceItem = null; - for (IReviewItem item : review.getItems()) { - if (item.getId().equals(reviewItem.getId())) { - replaceItem = item; - break; + if (review != null) { + IReviewItem replaceItem = null; + for (IReviewItem item : review.getItems()) { + if (item.getId().equals(reviewItem.getId())) { + replaceItem = item; + break; + } } + if (replaceItem != null) { + review.getItems().remove(replaceItem); + } + review.getItems().add(reviewItem); } - if (replaceItem != null) { - review.getItems().remove(replaceItem); - } - review.getItems().add(reviewItem); viewer.setInput(reviewItem); - editor.refreshExplorer(); + if (getTaskEditorPage() instanceof GerritTaskEditorPage) { + ((GerritTaskEditorPage) getTaskEditorPage()).refreshExplorer(); + } } } @@ -683,4 +686,11 @@ public class PatchSetSection extends AbstractGerritSection { CompareUI.openCompareEditor(new FileItemCompareEditorInput(configuration, item, behavior)); } + protected IReview getReview() { + if (getTaskEditorPage() instanceof GerritTaskEditorPage) { + return ((GerritTaskEditorPage) getTaskEditorPage()).getReview(); + } + return null; + } + } -- cgit v1.2.3