diff options
author | Jeff Johnston | 2017-03-06 22:01:16 +0000 |
---|---|---|
committer | Jeff Johnston | 2017-03-06 22:32:33 +0000 |
commit | 13e66138368420a298bf0150725d9b98cd35704b (patch) | |
tree | 0d9c571c8e566d9ef249180e32de8dd6e8bcf098 | |
parent | 7feba7788ecd02c4047f54cf313276bc86613b46 (diff) | |
download | org.eclipse.linuxtools-13e66138368420a298bf0150725d9b98cd35704b.tar.gz org.eclipse.linuxtools-13e66138368420a298bf0150725d9b98cd35704b.tar.xz org.eclipse.linuxtools-13e66138368420a298bf0150725d9b98cd35704b.zip |
- 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>
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(); } |