diff options
author | Jeff Johnston | 2016-09-06 20:41:40 +0000 |
---|---|---|
committer | Jeff Johnston | 2016-09-06 21:10:05 +0000 |
commit | 5fcdebf40f72924f29fba4e80afe5c96d8d31d5a (patch) | |
tree | 443492e6f3e0b7b0b7e34cd8af8637f6cb930b54 | |
parent | 0d16fd38afe722344950607756f02224b22d959e (diff) | |
download | org.eclipse.linuxtools-5fcdebf40f72924f29fba4e80afe5c96d8d31d5a.tar.gz org.eclipse.linuxtools-5fcdebf40f72924f29fba4e80afe5c96d8d31d5a.tar.xz org.eclipse.linuxtools-5fcdebf40f72924f29fba4e80afe5c96d8d31d5a.zip |
Bug 500737 - NullPointerException in DockerConnection.pullImage
- fix DockerContainer and DockerImage to be IAdaptable to
IDockerConnection
- fix build image to also look for established connection
Change-Id: Ifcbd5274ff1d0d5425648521205f8b26992ede74
Reviewed-on: https://git.eclipse.org/r/80531
Tested-by: Hudson CI
Reviewed-by: Jeff Johnston <jjohnstn@redhat.com>
3 files changed, 22 insertions, 3 deletions
diff --git a/containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/internal/docker/core/DockerContainer.java b/containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/internal/docker/core/DockerContainer.java index 8818ce1a9f..00987dc3ab 100644 --- a/containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/internal/docker/core/DockerContainer.java +++ b/containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/internal/docker/core/DockerContainer.java @@ -13,6 +13,7 @@ package org.eclipse.linuxtools.internal.docker.core; import java.util.ArrayList; import java.util.List; +import org.eclipse.core.runtime.IAdaptable; import org.eclipse.linuxtools.docker.core.IDockerConnection; import org.eclipse.linuxtools.docker.core.IDockerContainer; import org.eclipse.linuxtools.docker.core.IDockerContainerInfo; @@ -21,7 +22,7 @@ import org.eclipse.linuxtools.docker.core.IDockerPortMapping; import com.spotify.docker.client.DockerClient; import com.spotify.docker.client.messages.Container; -public class DockerContainer implements IDockerContainer { +public class DockerContainer implements IDockerContainer, IAdaptable { private IDockerConnection parent; private String id; @@ -212,6 +213,14 @@ public class DockerContainer implements IDockerContainer { return false; return true; } + + @SuppressWarnings("unchecked") + @Override + public <T> T getAdapter(Class<T> adapter) { + if (adapter.equals(IDockerConnection.class)) + return (T) this.parent; + return null; + } } diff --git a/containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/internal/docker/core/DockerImage.java b/containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/internal/docker/core/DockerImage.java index b8a13a5edb..8d593c57cd 100644 --- a/containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/internal/docker/core/DockerImage.java +++ b/containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/internal/docker/core/DockerImage.java @@ -21,9 +21,11 @@ import java.util.Map.Entry; import java.util.regex.Pattern; import java.util.stream.Stream; +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.linuxtools.docker.core.IDockerConnection; import org.eclipse.linuxtools.docker.core.IDockerImage; -public class DockerImage implements IDockerImage { +public class DockerImage implements IDockerImage, IAdaptable { /** The 'latest' tag. */ public static final String LATEST_TAG = "latest"; //$NON-NLS-1$ @@ -347,4 +349,12 @@ public class DockerImage implements IDockerImage { return imageName; } + @SuppressWarnings("unchecked") + @Override + public <T> T getAdapter(Class<T> adapter) { + if (adapter.equals(IDockerConnection.class)) + return (T) this.parent; + return null; + } + } diff --git a/containers/org.eclipse.linuxtools.docker.ui/plugin.xml b/containers/org.eclipse.linuxtools.docker.ui/plugin.xml index 242afc3e4a..e234012114 100644 --- a/containers/org.eclipse.linuxtools.docker.ui/plugin.xml +++ b/containers/org.eclipse.linuxtools.docker.ui/plugin.xml @@ -757,7 +757,7 @@ <enabledWhen> <test forcePluginActivation="true" - property="org.eclipse.linuxtools.docker.propertytesters.connection.existsActiveConnection" + property="org.eclipse.linuxtools.docker.propertytesters.connection.connectionIsEstablished" value="true"> </test> </enabledWhen> |