Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Johnston2017-03-06 22:01:16 +0000
committerJeff Johnston2017-03-06 22:32:33 +0000
commit13e66138368420a298bf0150725d9b98cd35704b (patch)
tree0d9c571c8e566d9ef249180e32de8dd6e8bcf098
parent7feba7788ecd02c4047f54cf313276bc86613b46 (diff)
downloadorg.eclipse.linuxtools-13e66138368420a298bf0150725d9b98cd35704b.tar.gz
org.eclipse.linuxtools-13e66138368420a298bf0150725d9b98cd35704b.tar.xz
org.eclipse.linuxtools-13e66138368420a298bf0150725d9b98cd35704b.zip
Bug 513161 - NPE in DockerImageHierarchyView.showv5.3.0
- fix OpenInHierarchyViewCommandHandler to only make the Hierarchy view visible and not give it complete focus - add protection in RetrieveImageHierarchyJob for a null selection - add protection in DockerImageHierarchyView.show method to not cause an NPE if hierarchy is null Change-Id: Ie58a07c50d5c2b6a3c5d503958fff87a7b82a7a0 Reviewed-on: https://git.eclipse.org/r/92425 Tested-by: Hudson CI Reviewed-by: Jeff Johnston <jjohnstn@redhat.com>
-rw-r--r--containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/commands/OpenInHierarchyViewCommandHandler.java4
-rw-r--r--containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/jobs/RetrieveImageHierarchyJob.java9
-rw-r--r--containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/views/DockerImageHierarchyView.java14
3 files changed, 18 insertions, 9 deletions
diff --git a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/commands/OpenInHierarchyViewCommandHandler.java b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/commands/OpenInHierarchyViewCommandHandler.java
index da578ef015..04fe02063d 100644
--- a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/commands/OpenInHierarchyViewCommandHandler.java
+++ b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/commands/OpenInHierarchyViewCommandHandler.java
@@ -21,6 +21,7 @@ import org.eclipse.linuxtools.docker.core.IDockerConnection2;
import org.eclipse.linuxtools.internal.docker.ui.jobs.RetrieveImageHierarchyJob;
import org.eclipse.linuxtools.internal.docker.ui.views.DockerImageHierarchyView;
import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
@@ -56,7 +57,8 @@ public class OpenInHierarchyViewCommandHandler extends AbstractHandler {
final DockerImageHierarchyView dockerImageHierarchyView = (DockerImageHierarchyView) PlatformUI
.getWorkbench().getActiveWorkbenchWindow()
.getActivePage()
- .showView(DockerImageHierarchyView.VIEW_ID);
+ .showView(DockerImageHierarchyView.VIEW_ID,
+ null, IWorkbenchPage.VIEW_VISIBLE);
dockerImageHierarchyView
.setConnection(
(IDockerConnection) currentConnection);
diff --git a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/jobs/RetrieveImageHierarchyJob.java b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/jobs/RetrieveImageHierarchyJob.java
index 3a23d4a364..51991bf0b2 100644
--- a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/jobs/RetrieveImageHierarchyJob.java
+++ b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/jobs/RetrieveImageHierarchyJob.java
@@ -72,9 +72,12 @@ public class RetrieveImageHierarchyJob extends Job {
this.imageHierarchy = connection
.resolveImageHierarchy((IDockerImage) selectedElement);
} else {
- Activator.log(new DockerException(JobMessages
- .getFormattedString("RetrieveImageHierarchyJob.error", //$NON-NLS-1$
- selectedElement.getClass().getName())));
+ if (selectedElement != null) {
+ Activator.log(
+ new DockerException(JobMessages.getFormattedString(
+ "RetrieveImageHierarchyJob.error", //$NON-NLS-1$
+ selectedElement.getClass().getName())));
+ }
}
} finally {
monitor.done();
diff --git a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/views/DockerImageHierarchyView.java b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/views/DockerImageHierarchyView.java
index 3457b6fa1c..45061ec872 100644
--- a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/views/DockerImageHierarchyView.java
+++ b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/views/DockerImageHierarchyView.java
@@ -67,11 +67,15 @@ public class DockerImageHierarchyView extends CommonNavigator
*/
public void show(final IDockerImageHierarchyNode selectedImageHierarchy) {
this.selectedImageHierarchy = selectedImageHierarchy;
- this.getCommonViewer().setInput(
- new DockerImageHiearchy(this.selectedImageHierarchy.getRoot()));
- this.getCommonViewer().expandAll();
- this.getCommonViewer()
- .setSelection(new StructuredSelection(selectedImageHierarchy));
+ if (this.selectedImageHierarchy != null) {
+ this.getCommonViewer().setInput(new DockerImageHiearchy(
+ this.selectedImageHierarchy.getRoot()));
+ if (this.getCommonViewer() == null)
+ System.out.println("null viewer");
+ this.getCommonViewer().expandAll();
+ this.getCommonViewer().setSelection(
+ new StructuredSelection(selectedImageHierarchy));
+ }
showHierarchyOrExplanations();
}

Back to the top