From 12818f40a2f3261c603a62182bae9b2780591a94 Mon Sep 17 00:00:00 2001 From: Iliyan Zarov Date: Sun, 15 Nov 2015 00:55:50 +0000 Subject: [PATCH 1/9] resize cmd --- .../github/dockerjava/api/DockerClient.java | 3 + .../api/command/DockerCmdExecFactory.java | 2 + .../api/command/ResizeContainerCmd.java | 32 +++++++++ .../dockerjava/core/DockerClientImpl.java | 7 ++ .../core/command/ResizeContainerCmdImpl.java | 69 +++++++++++++++++++ .../jaxrs/DockerCmdExecFactoryImpl.java | 6 ++ .../jaxrs/ResizeContainerCmdExec.java | 34 +++++++++ .../core/TestDockerCmdExecFactory.java | 6 ++ 8 files changed, 159 insertions(+) create mode 100644 src/main/java/com/github/dockerjava/api/command/ResizeContainerCmd.java create mode 100644 src/main/java/com/github/dockerjava/core/command/ResizeContainerCmdImpl.java create mode 100644 src/main/java/com/github/dockerjava/jaxrs/ResizeContainerCmdExec.java diff --git a/src/main/java/com/github/dockerjava/api/DockerClient.java b/src/main/java/com/github/dockerjava/api/DockerClient.java index 8b578f08e4..625018a518 100644 --- a/src/main/java/com/github/dockerjava/api/DockerClient.java +++ b/src/main/java/com/github/dockerjava/api/DockerClient.java @@ -30,6 +30,7 @@ import com.github.dockerjava.api.command.PushImageCmd; import com.github.dockerjava.api.command.RemoveContainerCmd; import com.github.dockerjava.api.command.RemoveImageCmd; +import com.github.dockerjava.api.command.ResizeContainerCmd; import com.github.dockerjava.api.command.RestartContainerCmd; import com.github.dockerjava.api.command.SaveImageCmd; import com.github.dockerjava.api.command.SearchImagesCmd; @@ -122,6 +123,8 @@ public interface DockerClient extends Closeable { public ContainerDiffCmd containerDiffCmd(String containerId); + public ResizeContainerCmd resizeContainerCmd(String containerId, String height, String width); + public StopContainerCmd stopContainerCmd(String containerId); public KillContainerCmd killContainerCmd(String containerId); diff --git a/src/main/java/com/github/dockerjava/api/command/DockerCmdExecFactory.java b/src/main/java/com/github/dockerjava/api/command/DockerCmdExecFactory.java index fc750a7438..1dbb7ffe14 100644 --- a/src/main/java/com/github/dockerjava/api/command/DockerCmdExecFactory.java +++ b/src/main/java/com/github/dockerjava/api/command/DockerCmdExecFactory.java @@ -57,6 +57,8 @@ public interface DockerCmdExecFactory extends Closeable { public CopyFileFromContainerCmd.Exec createCopyFileFromContainerCmdExec(); + public ResizeContainerCmd.Exec createResizeContainerCmdExec(); + public StopContainerCmd.Exec createStopContainerCmdExec(); public ContainerDiffCmd.Exec createContainerDiffCmdExec(); diff --git a/src/main/java/com/github/dockerjava/api/command/ResizeContainerCmd.java b/src/main/java/com/github/dockerjava/api/command/ResizeContainerCmd.java new file mode 100644 index 0000000000..b787f2024e --- /dev/null +++ b/src/main/java/com/github/dockerjava/api/command/ResizeContainerCmd.java @@ -0,0 +1,32 @@ +package com.github.dockerjava.api.command; + +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + +import com.github.dockerjava.api.NotFoundException; + +public interface ResizeContainerCmd extends SyncDockerCmd { + + @CheckForNull + public String getContainerId(); + + @CheckForNull + public String getHeight(); + + @CheckForNull + public String getWidth(); + + public ResizeContainerCmd withContainerId(@Nonnull String containerId); + public ResizeContainerCmd withHeight(@Nonnull String height); + public ResizeContainerCmd withWidth(@Nonnull String width); + + /** + * @throws NotFoundException + * No such container + */ + @Override + public Void exec() throws NotFoundException; + + public static interface Exec extends DockerCmdSyncExec { + } +} \ No newline at end of file diff --git a/src/main/java/com/github/dockerjava/core/DockerClientImpl.java b/src/main/java/com/github/dockerjava/core/DockerClientImpl.java index b00a7a7f97..e91fdc6d60 100644 --- a/src/main/java/com/github/dockerjava/core/DockerClientImpl.java +++ b/src/main/java/com/github/dockerjava/core/DockerClientImpl.java @@ -27,6 +27,7 @@ import com.github.dockerjava.api.command.PushImageCmd; import com.github.dockerjava.api.command.RemoveContainerCmd; import com.github.dockerjava.api.command.RemoveImageCmd; +import com.github.dockerjava.api.command.ResizeContainerCmd; import com.github.dockerjava.api.command.RestartContainerCmd; import com.github.dockerjava.api.command.SaveImageCmd; import com.github.dockerjava.api.command.SearchImagesCmd; @@ -65,6 +66,7 @@ import com.github.dockerjava.core.command.PushImageCmdImpl; import com.github.dockerjava.core.command.RemoveContainerCmdImpl; import com.github.dockerjava.core.command.RemoveImageCmdImpl; +import com.github.dockerjava.core.command.ResizeContainerCmdImpl; import com.github.dockerjava.core.command.RestartContainerCmdImpl; import com.github.dockerjava.core.command.SaveImageCmdImpl; import com.github.dockerjava.core.command.SearchImagesCmdImpl; @@ -263,6 +265,11 @@ public InspectContainerCmd inspectContainerCmd(String containerId) { return new InspectContainerCmdImpl(getDockerCmdExecFactory().createInspectContainerCmdExec(), containerId); } + @Override + public ResizeContainerCmd resizeContainerCmd(String containerId, String height, String width) { + return new ResizeContainerCmdImpl(getDockerCmdExecFactory().createResizeContainerCmdExec(), containerId, height, width); + } + @Override public ExecCreateCmd execCreateCmd(String containerId) { return new ExecCreateCmdImpl(getDockerCmdExecFactory().createExecCmdExec(), containerId); diff --git a/src/main/java/com/github/dockerjava/core/command/ResizeContainerCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ResizeContainerCmdImpl.java new file mode 100644 index 0000000000..a194abbe4f --- /dev/null +++ b/src/main/java/com/github/dockerjava/core/command/ResizeContainerCmdImpl.java @@ -0,0 +1,69 @@ +package com.github.dockerjava.core.command; + +import static com.google.common.base.Preconditions.checkNotNull; + +import com.github.dockerjava.api.NotFoundException; +import com.github.dockerjava.api.command.ResizeContainerCmd; + +/** + * Inspect the details of a container. + */ +public class ResizeContainerCmdImpl extends AbstrDockerCmd implements + ResizeContainerCmd { + + private String containerId; + private String height; + private String width; + + public ResizeContainerCmdImpl(ResizeContainerCmd.Exec exec, String containerId, String height, String width) { + super(exec); + withContainerId(containerId); + withHeight(height); + withWidth(width); + } + + @Override + public String getContainerId() { + return containerId; + } + + @Override + public String getHeight() { + return height; + } + + @Override + public String getWidth() { + return width; + } + + @Override + public ResizeContainerCmd withContainerId(String containerId) { + checkNotNull(containerId, "containerId was not specified"); + this.containerId = containerId; + return this; + } + + @Override + public ResizeContainerCmd withHeight(String height) { + checkNotNull(containerId, "containerId was not specified"); + this.height = height; + return this; + } + + @Override + public ResizeContainerCmd withWidth(String width) { + checkNotNull(containerId, "containerId was not specified"); + this.width = width; + return this; + } + + /** + * @throws NotFoundException + * No such container + */ + @Override + public Void exec() throws NotFoundException { + return super.exec(); + } +} diff --git a/src/main/java/com/github/dockerjava/jaxrs/DockerCmdExecFactoryImpl.java b/src/main/java/com/github/dockerjava/jaxrs/DockerCmdExecFactoryImpl.java index c331f461c7..2f06ab1999 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/DockerCmdExecFactoryImpl.java +++ b/src/main/java/com/github/dockerjava/jaxrs/DockerCmdExecFactoryImpl.java @@ -28,6 +28,7 @@ import com.github.dockerjava.api.command.PushImageCmd; import com.github.dockerjava.api.command.RemoveContainerCmd; import com.github.dockerjava.api.command.RemoveImageCmd; +import com.github.dockerjava.api.command.ResizeContainerCmd; import com.github.dockerjava.api.command.RestartContainerCmd; import com.github.dockerjava.api.command.SaveImageCmd; import com.github.dockerjava.api.command.SearchImagesCmd; @@ -265,6 +266,11 @@ public CreateContainerCmd.Exec createCreateContainerCmdExec() { return new CreateContainerCmdExec(getBaseResource(), getDockerClientConfig()); } + @Override + public ResizeContainerCmd.Exec createResizeContainerCmdExec() { + return new ResizeContainerCmdExec(getBaseResource(), getDockerClientConfig()); + } + @Override public StartContainerCmd.Exec createStartContainerCmdExec() { return new StartContainerCmdExec(getBaseResource(), getDockerClientConfig()); diff --git a/src/main/java/com/github/dockerjava/jaxrs/ResizeContainerCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/ResizeContainerCmdExec.java new file mode 100644 index 0000000000..09950c81c6 --- /dev/null +++ b/src/main/java/com/github/dockerjava/jaxrs/ResizeContainerCmdExec.java @@ -0,0 +1,34 @@ +package com.github.dockerjava.jaxrs; + +import com.github.dockerjava.api.command.ResizeContainerCmd; +import com.github.dockerjava.core.DockerClientConfig; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.ws.rs.client.WebTarget; +import javax.ws.rs.core.MediaType; + +public class ResizeContainerCmdExec extends AbstrSyncDockerCmdExec + implements ResizeContainerCmd.Exec { + + private static final Logger LOGGER = LoggerFactory.getLogger(ResizeContainerCmdExec.class); + + public ResizeContainerCmdExec(WebTarget baseResource, DockerClientConfig dockerClientConfig) { + super(baseResource, dockerClientConfig); + } + + @Override + protected Void execute(ResizeContainerCmd command) { + WebTarget webResource = getBaseResource().path("/containers/{id}/resize").resolveTemplate("id", + command.getContainerId()); + + webResource = webResource.queryParam("h", String.valueOf(command.getHeight())); + webResource = webResource.queryParam("w", String.valueOf(command.getWidth())); + + LOGGER.debug("POST: {}", webResource); + webResource.request().accept(MediaType.APPLICATION_JSON).post(null).close(); + + return null; + } + +} diff --git a/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java b/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java index fdc5820836..4325669c57 100644 --- a/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java +++ b/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java @@ -34,6 +34,7 @@ import com.github.dockerjava.api.command.PushImageCmd; import com.github.dockerjava.api.command.RemoveContainerCmd; import com.github.dockerjava.api.command.RemoveImageCmd; +import com.github.dockerjava.api.command.ResizeContainerCmd; import com.github.dockerjava.api.command.RestartContainerCmd; import com.github.dockerjava.api.command.SaveImageCmd; import com.github.dockerjava.api.command.SearchImagesCmd; @@ -257,6 +258,11 @@ public KillContainerCmd.Exec createKillContainerCmdExec() { return delegate.createKillContainerCmdExec(); } + @Override + public ResizeContainerCmd.Exec createResizeContainerCmdExec() { + return delegate.createResizeContainerCmdExec(); + } + @Override public RestartContainerCmd.Exec createRestartContainerCmdExec() { return delegate.createRestartContainerCmdExec(); From e2b458c04033b3f1c3979e53294d9d25dec32f19 Mon Sep 17 00:00:00 2001 From: Iliyan Zarov Date: Sun, 6 Mar 2016 23:15:45 +0000 Subject: [PATCH 2/9] cert path not necessary when withSSLContext is used --- .../dockerjava/core/DockerClientConfig.java | 2 +- .../core/DockerClientConfigTest.java | 22 +++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/github/dockerjava/core/DockerClientConfig.java b/src/main/java/com/github/dockerjava/core/DockerClientConfig.java index 038c43cae0..05eaf5547f 100644 --- a/src/main/java/com/github/dockerjava/core/DockerClientConfig.java +++ b/src/main/java/com/github/dockerjava/core/DockerClientConfig.java @@ -82,7 +82,7 @@ public class DockerClientConfig implements Serializable { boolean dockerTslVerify) { this.dockerHost = checkDockerHostScheme(dockerHost); this.dockerTlsVerify = dockerTslVerify; - this.dockerCertPath = checkDockerCertPath(dockerTslVerify, dockerCertPath); + this.dockerCertPath = dockerCertPath; this.dockerConfig = dockerConfig; this.apiVersion = RemoteApiVersion.parseConfigWithDefault(apiVersion); this.registryUsername = registryUsername; diff --git a/src/test/java/com/github/dockerjava/core/DockerClientConfigTest.java b/src/test/java/com/github/dockerjava/core/DockerClientConfigTest.java index e87254b885..a6b36680ab 100644 --- a/src/test/java/com/github/dockerjava/core/DockerClientConfigTest.java +++ b/src/test/java/com/github/dockerjava/core/DockerClientConfigTest.java @@ -141,17 +141,17 @@ public void serializableTest() { assertThat("Deserialized object mush match source object", deserialized, equalTo(EXAMPLE_CONFIG)); } - @Test(expectedExceptions = DockerClientException.class) - public void testTlsVerifyAndCertPathNull() throws Exception { - new DockerClientConfig(URI.create("tcp://foo"), "dockerConfig", "apiVersion", "registryUrl", "registryUsername", "registryPassword", "registryEmail", - null, true); - } - - @Test(expectedExceptions = DockerClientException.class) - public void testTlsVerifyAndCertPathEmpty() throws Exception { - new DockerClientConfig(URI.create("tcp://foo"), "dockerConfig", "apiVersion", "registryUrl", "registryUsername", "registryPassword", "registryEmail", - "", true); - } + // @Test(expectedExceptions = DockerClientException.class) + // public void testTlsVerifyAndCertPathNull() throws Exception { + // new DockerClientConfig(URI.create("tcp://foo"), "dockerConfig", "apiVersion", "registryUrl", "registryUsername", "registryPassword", "registryEmail", + // null, true); + // } + + // @Test(expectedExceptions = DockerClientException.class) + // public void testTlsVerifyAndCertPathEmpty() throws Exception { + // new DockerClientConfig(URI.create("tcp://foo"), "dockerConfig", "apiVersion", "registryUrl", "registryUsername", "registryPassword", "registryEmail", + // "", true); + // } @Test() public void testTlsVerifyAndCertPath() throws Exception { From 59724bd730e49b529401f7b72520836c4d047eb9 Mon Sep 17 00:00:00 2001 From: Iliyan Zarov Date: Sun, 20 Mar 2016 18:29:58 +0000 Subject: [PATCH 3/9] HostConfig tmpfs --- .../dockerjava/api/command/CreateContainerCmd.java | 5 +++++ .../com/github/dockerjava/api/model/HostConfig.java | 13 +++++++++++++ .../core/command/CreateContainerCmdImpl.java | 13 +++++++++++++ 3 files changed, 31 insertions(+) diff --git a/src/main/java/com/github/dockerjava/api/command/CreateContainerCmd.java b/src/main/java/com/github/dockerjava/api/command/CreateContainerCmd.java index 6b004c8268..26a942d866 100644 --- a/src/main/java/com/github/dockerjava/api/command/CreateContainerCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/CreateContainerCmd.java @@ -179,6 +179,9 @@ public interface CreateContainerCmd extends SyncDockerCmd getTmpfs(); + public CreateContainerCmd withAttachStderr(Boolean attachStderr); public CreateContainerCmd withAttachStdin(Boolean attachStdin); @@ -402,6 +405,8 @@ public interface CreateContainerCmd extends SyncDockerCmd tmpfs); + /** * @throws NotFoundException * No such container diff --git a/src/main/java/com/github/dockerjava/api/model/HostConfig.java b/src/main/java/com/github/dockerjava/api/model/HostConfig.java index edad5cfcb4..74f6e105d6 100644 --- a/src/main/java/com/github/dockerjava/api/model/HostConfig.java +++ b/src/main/java/com/github/dockerjava/api/model/HostConfig.java @@ -1,5 +1,6 @@ package com.github.dockerjava.api.model; +import java.util.Map; import javax.annotation.CheckForNull; import org.apache.commons.lang.builder.ToStringBuilder; @@ -98,6 +99,9 @@ public class HostConfig { @JsonProperty("PidMode") private String pidMode; + @JsonProperty("Tmpfs") + private Map tmpfs; + @JsonIgnore public Bind[] getBinds() { return (binds == null) ? new Bind[0] : binds.getBinds(); @@ -214,6 +218,11 @@ public String getPidMode() { return pidMode; } + @CheckForNull + public Map getTmpfs() { + return tmpfs; + } + @JsonIgnore public void setBinds(Bind... binds) { this.binds = new Binds(binds); @@ -329,6 +338,10 @@ public void setPidMode(String pidMode) { this.pidMode = pidMode; } + public void setTmpfs(Map tmpfs) { + this.tmpfs = tmpfs; + } + @Override public String toString() { return ToStringBuilder.reflectionToString(this); diff --git a/src/main/java/com/github/dockerjava/core/command/CreateContainerCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/CreateContainerCmdImpl.java index 6b5cea08ad..2b42905f0a 100644 --- a/src/main/java/com/github/dockerjava/core/command/CreateContainerCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/CreateContainerCmdImpl.java @@ -393,6 +393,12 @@ public String getPidMode() { return hostConfig.getPidMode(); } + @Override + @JsonIgnore + public Map getTmpfs() { + return hostConfig.getTmpfs(); + } + @Override public String toString() { return new ToStringBuilder(this).append("create container ").append(name != null ? "name=" + name + " " : "") @@ -857,4 +863,11 @@ public CreateContainerCmd withPidMode(String pidMode) { return this; } + @Override + public CreateContainerCmd withTmpfs(Map tmpfs) { + checkNotNull(tmpfs, "tmpfs was not specified"); + this.hostConfig.setTmpfs(tmpfs); + return this; + } + } From 21a984fd56e3bbc28b0f85b0c2b9ba021bcffb33 Mon Sep 17 00:00:00 2001 From: Iliyan Zarov Date: Tue, 3 May 2016 22:28:29 +0100 Subject: [PATCH 4/9] ExecResize --- pom.xml | 2 +- .../github/dockerjava/api/DockerClient.java | 3 + .../api/command/DockerCmdExecFactory.java | 2 + .../dockerjava/api/command/ExecResizeCmd.java | 32 +++++++++ .../dockerjava/core/DockerClientImpl.java | 7 ++ .../core/command/ExecResizeCmdImpl.java | 69 +++++++++++++++++++ .../core/command/ResizeContainerCmdImpl.java | 5 +- .../jaxrs/DockerCmdExecFactoryImpl.java | 6 ++ .../dockerjava/jaxrs/ExecResizeCmdExec.java | 34 +++++++++ .../netty/DockerCmdExecFactoryImpl.java | 7 ++ .../netty/exec/ExecResizeCmdExec.java | 32 +++++++++ .../core/TestDockerCmdExecFactory.java | 6 ++ 12 files changed, 201 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/github/dockerjava/api/command/ExecResizeCmd.java create mode 100644 src/main/java/com/github/dockerjava/core/command/ExecResizeCmdImpl.java create mode 100644 src/main/java/com/github/dockerjava/jaxrs/ExecResizeCmdExec.java create mode 100644 src/main/java/com/github/dockerjava/netty/exec/ExecResizeCmdExec.java diff --git a/pom.xml b/pom.xml index 976a88435f..e00608d24d 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ com.github.docker-java docker-java jar - 3.0.0-IZ-5 + 3.0.0-IZ-6 docker-java https://github.com/docker-java/docker-java diff --git a/src/main/java/com/github/dockerjava/api/DockerClient.java b/src/main/java/com/github/dockerjava/api/DockerClient.java index eeaea1c4f0..abaef1ac14 100644 --- a/src/main/java/com/github/dockerjava/api/DockerClient.java +++ b/src/main/java/com/github/dockerjava/api/DockerClient.java @@ -23,6 +23,7 @@ import com.github.dockerjava.api.command.DisconnectFromNetworkCmd; import com.github.dockerjava.api.command.EventsCmd; import com.github.dockerjava.api.command.ExecCreateCmd; +import com.github.dockerjava.api.command.ExecResizeCmd; import com.github.dockerjava.api.command.ExecStartCmd; import com.github.dockerjava.api.command.InfoCmd; import com.github.dockerjava.api.command.InspectContainerCmd; @@ -132,6 +133,8 @@ public interface DockerClient extends Closeable { ExecStartCmd execStartCmd(@Nonnull String execId); + ExecResizeCmd execResizeCmd(String execId, String height, String width); + InspectExecCmd inspectExecCmd(@Nonnull String execId); LogContainerCmd logContainerCmd(@Nonnull String containerId); diff --git a/src/main/java/com/github/dockerjava/api/command/DockerCmdExecFactory.java b/src/main/java/com/github/dockerjava/api/command/DockerCmdExecFactory.java index 99cfac9eac..85b92771f7 100644 --- a/src/main/java/com/github/dockerjava/api/command/DockerCmdExecFactory.java +++ b/src/main/java/com/github/dockerjava/api/command/DockerCmdExecFactory.java @@ -54,6 +54,8 @@ public interface DockerCmdExecFactory extends Closeable { ExecStartCmd.Exec createExecStartCmdExec(); + ExecResizeCmd.Exec createExecResizeCmdExec(); + InspectExecCmd.Exec createInspectExecCmdExec(); LogContainerCmd.Exec createLogContainerCmdExec(); diff --git a/src/main/java/com/github/dockerjava/api/command/ExecResizeCmd.java b/src/main/java/com/github/dockerjava/api/command/ExecResizeCmd.java new file mode 100644 index 0000000000..3a24762deb --- /dev/null +++ b/src/main/java/com/github/dockerjava/api/command/ExecResizeCmd.java @@ -0,0 +1,32 @@ +package com.github.dockerjava.api.command; + +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + +import com.github.dockerjava.api.exception.NotFoundException; + +public interface ExecResizeCmd extends SyncDockerCmd { + + @CheckForNull + String getExecId(); + + @CheckForNull + String getHeight(); + + @CheckForNull + String getWidth(); + + ExecResizeCmd withExecId(@Nonnull String execId); + ExecResizeCmd withHeight(@Nonnull String height); + ExecResizeCmd withWidth(@Nonnull String width); + + /** + * @throws NotFoundException + * No such container + */ + @Override + Void exec() throws NotFoundException; + + interface Exec extends DockerCmdSyncExec { + } +} diff --git a/src/main/java/com/github/dockerjava/core/DockerClientImpl.java b/src/main/java/com/github/dockerjava/core/DockerClientImpl.java index 69a493b883..d7a19a441e 100644 --- a/src/main/java/com/github/dockerjava/core/DockerClientImpl.java +++ b/src/main/java/com/github/dockerjava/core/DockerClientImpl.java @@ -25,6 +25,7 @@ import com.github.dockerjava.api.command.DockerCmdExecFactory; import com.github.dockerjava.api.command.EventsCmd; import com.github.dockerjava.api.command.ExecCreateCmd; +import com.github.dockerjava.api.command.ExecResizeCmd; import com.github.dockerjava.api.command.ExecStartCmd; import com.github.dockerjava.api.command.InfoCmd; import com.github.dockerjava.api.command.InspectContainerCmd; @@ -78,6 +79,7 @@ import com.github.dockerjava.core.command.DisconnectFromNetworkCmdImpl; import com.github.dockerjava.core.command.EventsCmdImpl; import com.github.dockerjava.core.command.ExecCreateCmdImpl; +import com.github.dockerjava.core.command.ExecResizeCmdImpl; import com.github.dockerjava.core.command.ExecStartCmdImpl; import com.github.dockerjava.core.command.InfoCmdImpl; import com.github.dockerjava.core.command.InpectNetworkCmdImpl; @@ -320,6 +322,11 @@ public AttachContainerCmd attachContainerCmd(String containerId) { return new AttachContainerCmdImpl(getDockerCmdExecFactory().createAttachContainerCmdExec(), containerId); } + @Override + public ExecResizeCmd execResizeCmd(String execId, String height, String width) { + return new ExecResizeCmdImpl(getDockerCmdExecFactory().createExecResizeCmdExec(), execId, height, width); + } + @Override public ExecStartCmd execStartCmd(String execId) { return new ExecStartCmdImpl(getDockerCmdExecFactory().createExecStartCmdExec(), execId); diff --git a/src/main/java/com/github/dockerjava/core/command/ExecResizeCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ExecResizeCmdImpl.java new file mode 100644 index 0000000000..d32e2bca80 --- /dev/null +++ b/src/main/java/com/github/dockerjava/core/command/ExecResizeCmdImpl.java @@ -0,0 +1,69 @@ +package com.github.dockerjava.core.command; + +import static com.google.common.base.Preconditions.checkNotNull; + +import com.github.dockerjava.api.exception.NotFoundException; +import com.github.dockerjava.api.command.ExecResizeCmd; + +/** + * Inspect the details of a container. + */ +public class ExecResizeCmdImpl extends AbstrDockerCmd implements + ExecResizeCmd { + + private String execId; + private String height; + private String width; + + public ExecResizeCmdImpl(ExecResizeCmd.Exec exec, String execId, String height, String width) { + super(exec); + withExecId(execId); + withHeight(height); + withWidth(width); + } + + @Override + public String getExecId() { + return execId; + } + + @Override + public String getHeight() { + return height; + } + + @Override + public String getWidth() { + return width; + } + + @Override + public ExecResizeCmd withExecId(String execId) { + checkNotNull(execId, "execId was not specified"); + this.execId = execId; + return this; + } + + @Override + public ExecResizeCmd withHeight(String height) { + checkNotNull(height, "height was not specified"); + this.height = height; + return this; + } + + @Override + public ExecResizeCmd withWidth(String width) { + checkNotNull(width, "width was not specified"); + this.width = width; + return this; + } + + /** + * @throws NotFoundException + * No such container + */ + @Override + public Void exec() throws NotFoundException { + return super.exec(); + } +} diff --git a/src/main/java/com/github/dockerjava/core/command/ResizeContainerCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ResizeContainerCmdImpl.java index d2e259a06b..1e67d1cd89 100644 --- a/src/main/java/com/github/dockerjava/core/command/ResizeContainerCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/ResizeContainerCmdImpl.java @@ -39,21 +39,20 @@ public String getWidth() { @Override public ResizeContainerCmd withContainerId(String containerId) { - checkNotNull(containerId, "containerId was not specified"); this.containerId = containerId; return this; } @Override public ResizeContainerCmd withHeight(String height) { - checkNotNull(containerId, "containerId was not specified"); + checkNotNull(height, "height was not specified"); this.height = height; return this; } @Override public ResizeContainerCmd withWidth(String width) { - checkNotNull(containerId, "containerId was not specified"); + checkNotNull(width, "width was not specified"); this.width = width; return this; } diff --git a/src/main/java/com/github/dockerjava/jaxrs/DockerCmdExecFactoryImpl.java b/src/main/java/com/github/dockerjava/jaxrs/DockerCmdExecFactoryImpl.java index 1612b4a9a0..b9983d4486 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/DockerCmdExecFactoryImpl.java +++ b/src/main/java/com/github/dockerjava/jaxrs/DockerCmdExecFactoryImpl.java @@ -48,6 +48,7 @@ import com.github.dockerjava.api.command.DockerCmdExecFactory; import com.github.dockerjava.api.command.EventsCmd; import com.github.dockerjava.api.command.ExecCreateCmd; +import com.github.dockerjava.api.command.ExecResizeCmd; import com.github.dockerjava.api.command.ExecStartCmd; import com.github.dockerjava.api.command.InfoCmd; import com.github.dockerjava.api.command.InspectContainerCmd; @@ -373,6 +374,11 @@ public AttachContainerCmd.Exec createAttachContainerCmdExec() { return new AttachContainerCmdExec(getBaseResource(), getDockerClientConfig()); } + @Override + public ExecResizeCmd.Exec createExecResizeCmdExec() { + return new ExecResizeCmdExec(getBaseResource(), getDockerClientConfig()); + } + @Override public ExecStartCmd.Exec createExecStartCmdExec() { return new ExecStartCmdExec(getBaseResource(), getDockerClientConfig()); diff --git a/src/main/java/com/github/dockerjava/jaxrs/ExecResizeCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/ExecResizeCmdExec.java new file mode 100644 index 0000000000..d40bd3b8c3 --- /dev/null +++ b/src/main/java/com/github/dockerjava/jaxrs/ExecResizeCmdExec.java @@ -0,0 +1,34 @@ +package com.github.dockerjava.jaxrs; + +import com.github.dockerjava.api.command.ExecResizeCmd; +import com.github.dockerjava.core.DockerClientConfig; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.ws.rs.client.WebTarget; +import javax.ws.rs.core.MediaType; + +public class ExecResizeCmdExec extends AbstrSyncDockerCmdExec + implements ExecResizeCmd.Exec { + + private static final Logger LOGGER = LoggerFactory.getLogger(ExecResizeCmdExec.class); + + public ExecResizeCmdExec(WebTarget baseResource, DockerClientConfig dockerClientConfig) { + super(baseResource, dockerClientConfig); + } + + @Override + protected Void execute(ExecResizeCmd command) { + WebTarget webResource = getBaseResource().path("/exec/{id}/resize").resolveTemplate("id", + command.getExecId()); + + webResource = webResource.queryParam("h", String.valueOf(command.getHeight())); + webResource = webResource.queryParam("w", String.valueOf(command.getWidth())); + + LOGGER.debug("POST: {}", webResource); + webResource.request().accept(MediaType.APPLICATION_JSON).post(null).close(); + + return null; + } + +} diff --git a/src/main/java/com/github/dockerjava/netty/DockerCmdExecFactoryImpl.java b/src/main/java/com/github/dockerjava/netty/DockerCmdExecFactoryImpl.java index a9d785b60c..015c30e5e1 100644 --- a/src/main/java/com/github/dockerjava/netty/DockerCmdExecFactoryImpl.java +++ b/src/main/java/com/github/dockerjava/netty/DockerCmdExecFactoryImpl.java @@ -17,6 +17,7 @@ import com.github.dockerjava.api.command.DockerCmdExecFactory; import com.github.dockerjava.api.command.EventsCmd; import com.github.dockerjava.api.command.ExecCreateCmd; +import com.github.dockerjava.api.command.ExecResizeCmd; import com.github.dockerjava.api.command.ExecStartCmd; import com.github.dockerjava.api.command.InfoCmd; import com.github.dockerjava.api.command.InspectContainerCmd; @@ -71,6 +72,7 @@ import com.github.dockerjava.netty.exec.DisconnectFromNetworkCmdExec; import com.github.dockerjava.netty.exec.EventsCmdExec; import com.github.dockerjava.netty.exec.ExecCreateCmdExec; +import com.github.dockerjava.netty.exec.ExecResizeCmdExec; import com.github.dockerjava.netty.exec.ExecStartCmdExec; import com.github.dockerjava.netty.exec.InfoCmdExec; import com.github.dockerjava.netty.exec.InspectContainerCmdExec; @@ -432,6 +434,11 @@ public AttachContainerCmd.Exec createAttachContainerCmdExec() { return new AttachContainerCmdExec(getBaseResource(), getDockerClientConfig()); } + @Override + public ExecResizeCmd.Exec createExecResizeCmdExec() { + return new ExecResizeCmdExec(getBaseResource(), getDockerClientConfig()); + } + @Override public ExecStartCmd.Exec createExecStartCmdExec() { return new ExecStartCmdExec(getBaseResource(), getDockerClientConfig()); diff --git a/src/main/java/com/github/dockerjava/netty/exec/ExecResizeCmdExec.java b/src/main/java/com/github/dockerjava/netty/exec/ExecResizeCmdExec.java new file mode 100644 index 0000000000..2c5e5e3e26 --- /dev/null +++ b/src/main/java/com/github/dockerjava/netty/exec/ExecResizeCmdExec.java @@ -0,0 +1,32 @@ +package com.github.dockerjava.netty.exec; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.github.dockerjava.api.command.ExecResizeCmd; +import com.github.dockerjava.core.DockerClientConfig; +import com.github.dockerjava.netty.MediaType; +import com.github.dockerjava.netty.WebTarget; + +public class ExecResizeCmdExec extends AbstrSyncDockerCmdExec implements + ExecResizeCmd.Exec { + + private static final Logger LOGGER = LoggerFactory.getLogger(ExecResizeCmdExec.class); + + public ExecResizeCmdExec(WebTarget baseResource, DockerClientConfig dockerClientConfig) { + super(baseResource, dockerClientConfig); + } + + @Override + protected Void execute(ExecResizeCmd command) { + WebTarget webTarget = getBaseResource().path("/exec/{id}/resize").resolveTemplate("id", + command.getExecId()); + + webTarget = webTarget.queryParam("h", String.valueOf(command.getHeight())); + webTarget = webTarget.queryParam("w", String.valueOf(command.getWidth())); + + LOGGER.trace("POST: {}", webTarget); + webTarget.request().accept(MediaType.APPLICATION_JSON).post(null); + return null; + } +} diff --git a/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java b/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java index f8707a89f6..f2dd20bb1c 100644 --- a/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java +++ b/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java @@ -21,6 +21,7 @@ import com.github.dockerjava.api.command.DockerCmdExecFactory; import com.github.dockerjava.api.command.EventsCmd; import com.github.dockerjava.api.command.ExecCreateCmd; +import com.github.dockerjava.api.command.ExecResizeCmd; import com.github.dockerjava.api.command.ExecStartCmd; import com.github.dockerjava.api.command.InfoCmd; import com.github.dockerjava.api.command.InspectContainerCmd; @@ -278,6 +279,11 @@ public ResizeContainerCmd.Exec createResizeContainerCmdExec() { return delegate.createResizeContainerCmdExec(); } + @Override + public ExecResizeCmd.Exec createExecResizeCmdExec() { + return delegate.createExecResizeCmdExec(); + } + @Override public UpdateContainerCmd.Exec createUpdateContainerCmdExec() { return delegate.createUpdateContainerCmdExec(); From 15d9f9331405c0af05c34185e64d0a9119328602 Mon Sep 17 00:00:00 2001 From: Iliyan Zarov Date: Sun, 8 May 2016 00:11:58 +0100 Subject: [PATCH 5/9] Prevent error log for expected exception --- pom.xml | 2 +- .../dockerjava/core/async/ResultCallbackTemplate.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index e00608d24d..fe9998b3e4 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ com.github.docker-java docker-java jar - 3.0.0-IZ-6 + 3.0.0-IZ-7 docker-java https://github.com/docker-java/docker-java diff --git a/src/main/java/com/github/dockerjava/core/async/ResultCallbackTemplate.java b/src/main/java/com/github/dockerjava/core/async/ResultCallbackTemplate.java index f120012af4..a3775cfa77 100644 --- a/src/main/java/com/github/dockerjava/core/async/ResultCallbackTemplate.java +++ b/src/main/java/com/github/dockerjava/core/async/ResultCallbackTemplate.java @@ -16,6 +16,8 @@ import com.github.dockerjava.api.async.ResultCallback; import com.google.common.base.Throwables; +import com.github.dockerjava.api.exception.NotModifiedException; + /** * Abstract template implementation of {@link ResultCallback} * @@ -54,7 +56,9 @@ public void onError(Throwable throwable) { } try { - LOGGER.error("Error during callback", throwable); + if (!(throwable instanceof NotModifiedException)) { + LOGGER.error("Error during callback", throwable); + } } finally { try { close(); From 615441558ace5b4fad06a4614fe4fed4de8baed9 Mon Sep 17 00:00:00 2001 From: Iliyan Zarov Date: Wed, 10 Aug 2016 18:34:19 +0100 Subject: [PATCH 6/9] remove non-upstream resize and exec resize commands --- .../dockerjava/api/command/ExecResizeCmd.java | 32 --------- .../api/command/ResizeContainerCmd.java | 32 --------- .../core/command/ExecResizeCmdImpl.java | 69 ------------------- .../core/command/ResizeContainerCmdImpl.java | 68 ------------------ .../dockerjava/jaxrs/ExecResizeCmdExec.java | 34 --------- .../jaxrs/ResizeContainerCmdExec.java | 34 --------- .../netty/exec/ExecResizeCmdExec.java | 32 --------- .../netty/exec/ResizeContainerCmdExec.java | 32 --------- 8 files changed, 333 deletions(-) delete mode 100644 src/main/java/com/github/dockerjava/api/command/ExecResizeCmd.java delete mode 100644 src/main/java/com/github/dockerjava/api/command/ResizeContainerCmd.java delete mode 100644 src/main/java/com/github/dockerjava/core/command/ExecResizeCmdImpl.java delete mode 100644 src/main/java/com/github/dockerjava/core/command/ResizeContainerCmdImpl.java delete mode 100644 src/main/java/com/github/dockerjava/jaxrs/ExecResizeCmdExec.java delete mode 100644 src/main/java/com/github/dockerjava/jaxrs/ResizeContainerCmdExec.java delete mode 100644 src/main/java/com/github/dockerjava/netty/exec/ExecResizeCmdExec.java delete mode 100644 src/main/java/com/github/dockerjava/netty/exec/ResizeContainerCmdExec.java diff --git a/src/main/java/com/github/dockerjava/api/command/ExecResizeCmd.java b/src/main/java/com/github/dockerjava/api/command/ExecResizeCmd.java deleted file mode 100644 index 3a24762deb..0000000000 --- a/src/main/java/com/github/dockerjava/api/command/ExecResizeCmd.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.github.dockerjava.api.command; - -import javax.annotation.CheckForNull; -import javax.annotation.Nonnull; - -import com.github.dockerjava.api.exception.NotFoundException; - -public interface ExecResizeCmd extends SyncDockerCmd { - - @CheckForNull - String getExecId(); - - @CheckForNull - String getHeight(); - - @CheckForNull - String getWidth(); - - ExecResizeCmd withExecId(@Nonnull String execId); - ExecResizeCmd withHeight(@Nonnull String height); - ExecResizeCmd withWidth(@Nonnull String width); - - /** - * @throws NotFoundException - * No such container - */ - @Override - Void exec() throws NotFoundException; - - interface Exec extends DockerCmdSyncExec { - } -} diff --git a/src/main/java/com/github/dockerjava/api/command/ResizeContainerCmd.java b/src/main/java/com/github/dockerjava/api/command/ResizeContainerCmd.java deleted file mode 100644 index 922ff2b166..0000000000 --- a/src/main/java/com/github/dockerjava/api/command/ResizeContainerCmd.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.github.dockerjava.api.command; - -import javax.annotation.CheckForNull; -import javax.annotation.Nonnull; - -import com.github.dockerjava.api.exception.NotFoundException; - -public interface ResizeContainerCmd extends SyncDockerCmd { - - @CheckForNull - String getContainerId(); - - @CheckForNull - String getHeight(); - - @CheckForNull - String getWidth(); - - ResizeContainerCmd withContainerId(@Nonnull String containerId); - ResizeContainerCmd withHeight(@Nonnull String height); - ResizeContainerCmd withWidth(@Nonnull String width); - - /** - * @throws NotFoundException - * No such container - */ - @Override - Void exec() throws NotFoundException; - - interface Exec extends DockerCmdSyncExec { - } -} diff --git a/src/main/java/com/github/dockerjava/core/command/ExecResizeCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ExecResizeCmdImpl.java deleted file mode 100644 index d32e2bca80..0000000000 --- a/src/main/java/com/github/dockerjava/core/command/ExecResizeCmdImpl.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.github.dockerjava.core.command; - -import static com.google.common.base.Preconditions.checkNotNull; - -import com.github.dockerjava.api.exception.NotFoundException; -import com.github.dockerjava.api.command.ExecResizeCmd; - -/** - * Inspect the details of a container. - */ -public class ExecResizeCmdImpl extends AbstrDockerCmd implements - ExecResizeCmd { - - private String execId; - private String height; - private String width; - - public ExecResizeCmdImpl(ExecResizeCmd.Exec exec, String execId, String height, String width) { - super(exec); - withExecId(execId); - withHeight(height); - withWidth(width); - } - - @Override - public String getExecId() { - return execId; - } - - @Override - public String getHeight() { - return height; - } - - @Override - public String getWidth() { - return width; - } - - @Override - public ExecResizeCmd withExecId(String execId) { - checkNotNull(execId, "execId was not specified"); - this.execId = execId; - return this; - } - - @Override - public ExecResizeCmd withHeight(String height) { - checkNotNull(height, "height was not specified"); - this.height = height; - return this; - } - - @Override - public ExecResizeCmd withWidth(String width) { - checkNotNull(width, "width was not specified"); - this.width = width; - return this; - } - - /** - * @throws NotFoundException - * No such container - */ - @Override - public Void exec() throws NotFoundException { - return super.exec(); - } -} diff --git a/src/main/java/com/github/dockerjava/core/command/ResizeContainerCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ResizeContainerCmdImpl.java deleted file mode 100644 index 1e67d1cd89..0000000000 --- a/src/main/java/com/github/dockerjava/core/command/ResizeContainerCmdImpl.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.github.dockerjava.core.command; - -import static com.google.common.base.Preconditions.checkNotNull; - -import com.github.dockerjava.api.exception.NotFoundException; -import com.github.dockerjava.api.command.ResizeContainerCmd; - -/** - * Inspect the details of a container. - */ -public class ResizeContainerCmdImpl extends AbstrDockerCmd implements - ResizeContainerCmd { - - private String containerId; - private String height; - private String width; - - public ResizeContainerCmdImpl(ResizeContainerCmd.Exec exec, String containerId, String height, String width) { - super(exec); - withContainerId(containerId); - withHeight(height); - withWidth(width); - } - - @Override - public String getContainerId() { - return containerId; - } - - @Override - public String getHeight() { - return height; - } - - @Override - public String getWidth() { - return width; - } - - @Override - public ResizeContainerCmd withContainerId(String containerId) { - this.containerId = containerId; - return this; - } - - @Override - public ResizeContainerCmd withHeight(String height) { - checkNotNull(height, "height was not specified"); - this.height = height; - return this; - } - - @Override - public ResizeContainerCmd withWidth(String width) { - checkNotNull(width, "width was not specified"); - this.width = width; - return this; - } - - /** - * @throws NotFoundException - * No such container - */ - @Override - public Void exec() throws NotFoundException { - return super.exec(); - } -} diff --git a/src/main/java/com/github/dockerjava/jaxrs/ExecResizeCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/ExecResizeCmdExec.java deleted file mode 100644 index d40bd3b8c3..0000000000 --- a/src/main/java/com/github/dockerjava/jaxrs/ExecResizeCmdExec.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.github.dockerjava.jaxrs; - -import com.github.dockerjava.api.command.ExecResizeCmd; -import com.github.dockerjava.core.DockerClientConfig; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.ws.rs.client.WebTarget; -import javax.ws.rs.core.MediaType; - -public class ExecResizeCmdExec extends AbstrSyncDockerCmdExec - implements ExecResizeCmd.Exec { - - private static final Logger LOGGER = LoggerFactory.getLogger(ExecResizeCmdExec.class); - - public ExecResizeCmdExec(WebTarget baseResource, DockerClientConfig dockerClientConfig) { - super(baseResource, dockerClientConfig); - } - - @Override - protected Void execute(ExecResizeCmd command) { - WebTarget webResource = getBaseResource().path("/exec/{id}/resize").resolveTemplate("id", - command.getExecId()); - - webResource = webResource.queryParam("h", String.valueOf(command.getHeight())); - webResource = webResource.queryParam("w", String.valueOf(command.getWidth())); - - LOGGER.debug("POST: {}", webResource); - webResource.request().accept(MediaType.APPLICATION_JSON).post(null).close(); - - return null; - } - -} diff --git a/src/main/java/com/github/dockerjava/jaxrs/ResizeContainerCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/ResizeContainerCmdExec.java deleted file mode 100644 index 09950c81c6..0000000000 --- a/src/main/java/com/github/dockerjava/jaxrs/ResizeContainerCmdExec.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.github.dockerjava.jaxrs; - -import com.github.dockerjava.api.command.ResizeContainerCmd; -import com.github.dockerjava.core.DockerClientConfig; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.ws.rs.client.WebTarget; -import javax.ws.rs.core.MediaType; - -public class ResizeContainerCmdExec extends AbstrSyncDockerCmdExec - implements ResizeContainerCmd.Exec { - - private static final Logger LOGGER = LoggerFactory.getLogger(ResizeContainerCmdExec.class); - - public ResizeContainerCmdExec(WebTarget baseResource, DockerClientConfig dockerClientConfig) { - super(baseResource, dockerClientConfig); - } - - @Override - protected Void execute(ResizeContainerCmd command) { - WebTarget webResource = getBaseResource().path("/containers/{id}/resize").resolveTemplate("id", - command.getContainerId()); - - webResource = webResource.queryParam("h", String.valueOf(command.getHeight())); - webResource = webResource.queryParam("w", String.valueOf(command.getWidth())); - - LOGGER.debug("POST: {}", webResource); - webResource.request().accept(MediaType.APPLICATION_JSON).post(null).close(); - - return null; - } - -} diff --git a/src/main/java/com/github/dockerjava/netty/exec/ExecResizeCmdExec.java b/src/main/java/com/github/dockerjava/netty/exec/ExecResizeCmdExec.java deleted file mode 100644 index 2c5e5e3e26..0000000000 --- a/src/main/java/com/github/dockerjava/netty/exec/ExecResizeCmdExec.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.github.dockerjava.netty.exec; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.github.dockerjava.api.command.ExecResizeCmd; -import com.github.dockerjava.core.DockerClientConfig; -import com.github.dockerjava.netty.MediaType; -import com.github.dockerjava.netty.WebTarget; - -public class ExecResizeCmdExec extends AbstrSyncDockerCmdExec implements - ExecResizeCmd.Exec { - - private static final Logger LOGGER = LoggerFactory.getLogger(ExecResizeCmdExec.class); - - public ExecResizeCmdExec(WebTarget baseResource, DockerClientConfig dockerClientConfig) { - super(baseResource, dockerClientConfig); - } - - @Override - protected Void execute(ExecResizeCmd command) { - WebTarget webTarget = getBaseResource().path("/exec/{id}/resize").resolveTemplate("id", - command.getExecId()); - - webTarget = webTarget.queryParam("h", String.valueOf(command.getHeight())); - webTarget = webTarget.queryParam("w", String.valueOf(command.getWidth())); - - LOGGER.trace("POST: {}", webTarget); - webTarget.request().accept(MediaType.APPLICATION_JSON).post(null); - return null; - } -} diff --git a/src/main/java/com/github/dockerjava/netty/exec/ResizeContainerCmdExec.java b/src/main/java/com/github/dockerjava/netty/exec/ResizeContainerCmdExec.java deleted file mode 100644 index 40bb05beb8..0000000000 --- a/src/main/java/com/github/dockerjava/netty/exec/ResizeContainerCmdExec.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.github.dockerjava.netty.exec; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.github.dockerjava.api.command.ResizeContainerCmd; -import com.github.dockerjava.core.DockerClientConfig; -import com.github.dockerjava.netty.MediaType; -import com.github.dockerjava.netty.WebTarget; - -public class ResizeContainerCmdExec extends AbstrSyncDockerCmdExec implements - ResizeContainerCmd.Exec { - - private static final Logger LOGGER = LoggerFactory.getLogger(ResizeContainerCmdExec.class); - - public ResizeContainerCmdExec(WebTarget baseResource, DockerClientConfig dockerClientConfig) { - super(baseResource, dockerClientConfig); - } - - @Override - protected Void execute(ResizeContainerCmd command) { - WebTarget webTarget = getBaseResource().path("/containers/{id}/resize").resolveTemplate("id", - command.getContainerId()); - - webTarget = webTarget.queryParam("h", String.valueOf(command.getHeight())); - webTarget = webTarget.queryParam("w", String.valueOf(command.getWidth())); - - LOGGER.trace("POST: {}", webTarget); - webTarget.request().accept(MediaType.APPLICATION_JSON).post(null); - return null; - } -} From 9d78c4f74966e92b13652c590057fe8d42bfd04f Mon Sep 17 00:00:00 2001 From: Iliyan Zarov Date: Wed, 10 Aug 2016 18:34:26 +0100 Subject: [PATCH 7/9] remove non-upstream resize and exec resize commands --- pom.xml | 11 +---------- .../com/github/dockerjava/api/DockerClient.java | 6 ------ .../api/command/DockerCmdExecFactory.java | 4 ---- .../github/dockerjava/core/DockerClientImpl.java | 14 -------------- .../dockerjava/core/TestDockerCmdExecFactory.java | 10 ---------- 5 files changed, 1 insertion(+), 44 deletions(-) diff --git a/pom.xml b/pom.xml index f2928d9349..a579f6371b 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,6 @@ com.github.docker-java docker-java jar - 3.0.0-IZ-7 3.0.1-IZ docker-java @@ -48,21 +47,13 @@ 1.7 1.7 -<<<<<<< HEAD - 2.11 - 2.6.6 - 4.3.1 - 1.5 - 1.8 - 2.3 -======= 2.23.1 2.6.4 4.5 1.12 1.10 2.5 ->>>>>>> upstream/master + 2.6 1.7.21 diff --git a/src/main/java/com/github/dockerjava/api/DockerClient.java b/src/main/java/com/github/dockerjava/api/DockerClient.java index 28b3855998..491c11ac8f 100644 --- a/src/main/java/com/github/dockerjava/api/DockerClient.java +++ b/src/main/java/com/github/dockerjava/api/DockerClient.java @@ -23,7 +23,6 @@ import com.github.dockerjava.api.command.DisconnectFromNetworkCmd; import com.github.dockerjava.api.command.EventsCmd; import com.github.dockerjava.api.command.ExecCreateCmd; -import com.github.dockerjava.api.command.ExecResizeCmd; import com.github.dockerjava.api.command.ExecStartCmd; import com.github.dockerjava.api.command.InfoCmd; import com.github.dockerjava.api.command.InspectContainerCmd; @@ -44,7 +43,6 @@ import com.github.dockerjava.api.command.PushImageCmd; import com.github.dockerjava.api.command.RemoveContainerCmd; import com.github.dockerjava.api.command.RemoveImageCmd; -import com.github.dockerjava.api.command.ResizeContainerCmd; import com.github.dockerjava.api.command.RemoveNetworkCmd; import com.github.dockerjava.api.command.RemoveVolumeCmd; import com.github.dockerjava.api.command.RestartContainerCmd; @@ -146,8 +144,6 @@ public interface DockerClient extends Closeable { ExecStartCmd execStartCmd(@Nonnull String execId); - ExecResizeCmd execResizeCmd(String execId, String height, String width); - InspectExecCmd inspectExecCmd(@Nonnull String execId); LogContainerCmd logContainerCmd(@Nonnull String containerId); @@ -190,8 +186,6 @@ public interface DockerClient extends Closeable { ContainerDiffCmd containerDiffCmd(@Nonnull String containerId); - ResizeContainerCmd resizeContainerCmd(String containerId, String height, String width); - StopContainerCmd stopContainerCmd(@Nonnull String containerId); KillContainerCmd killContainerCmd(@Nonnull String containerId); diff --git a/src/main/java/com/github/dockerjava/api/command/DockerCmdExecFactory.java b/src/main/java/com/github/dockerjava/api/command/DockerCmdExecFactory.java index 31521aa0f0..671c0d5357 100644 --- a/src/main/java/com/github/dockerjava/api/command/DockerCmdExecFactory.java +++ b/src/main/java/com/github/dockerjava/api/command/DockerCmdExecFactory.java @@ -54,16 +54,12 @@ public interface DockerCmdExecFactory extends Closeable { ExecStartCmd.Exec createExecStartCmdExec(); - ExecResizeCmd.Exec createExecResizeCmdExec(); - InspectExecCmd.Exec createInspectExecCmdExec(); LogContainerCmd.Exec createLogContainerCmdExec(); CopyFileFromContainerCmd.Exec createCopyFileFromContainerCmdExec(); - ResizeContainerCmd.Exec createResizeContainerCmdExec(); - CopyArchiveFromContainerCmd.Exec createCopyArchiveFromContainerCmdExec(); CopyArchiveToContainerCmd.Exec createCopyArchiveToContainerCmdExec(); diff --git a/src/main/java/com/github/dockerjava/core/DockerClientImpl.java b/src/main/java/com/github/dockerjava/core/DockerClientImpl.java index 9ad87d4cac..2d0b5caab5 100644 --- a/src/main/java/com/github/dockerjava/core/DockerClientImpl.java +++ b/src/main/java/com/github/dockerjava/core/DockerClientImpl.java @@ -25,7 +25,6 @@ import com.github.dockerjava.api.command.DockerCmdExecFactory; import com.github.dockerjava.api.command.EventsCmd; import com.github.dockerjava.api.command.ExecCreateCmd; -import com.github.dockerjava.api.command.ExecResizeCmd; import com.github.dockerjava.api.command.ExecStartCmd; import com.github.dockerjava.api.command.InfoCmd; import com.github.dockerjava.api.command.InspectContainerCmd; @@ -46,7 +45,6 @@ import com.github.dockerjava.api.command.PushImageCmd; import com.github.dockerjava.api.command.RemoveContainerCmd; import com.github.dockerjava.api.command.RemoveImageCmd; -import com.github.dockerjava.api.command.ResizeContainerCmd; import com.github.dockerjava.api.command.RemoveNetworkCmd; import com.github.dockerjava.api.command.RemoveVolumeCmd; import com.github.dockerjava.api.command.RestartContainerCmd; @@ -80,7 +78,6 @@ import com.github.dockerjava.core.command.DisconnectFromNetworkCmdImpl; import com.github.dockerjava.core.command.EventsCmdImpl; import com.github.dockerjava.core.command.ExecCreateCmdImpl; -import com.github.dockerjava.core.command.ExecResizeCmdImpl; import com.github.dockerjava.core.command.ExecStartCmdImpl; import com.github.dockerjava.core.command.InfoCmdImpl; import com.github.dockerjava.core.command.InpectNetworkCmdImpl; @@ -101,7 +98,6 @@ import com.github.dockerjava.core.command.PushImageCmdImpl; import com.github.dockerjava.core.command.RemoveContainerCmdImpl; import com.github.dockerjava.core.command.RemoveImageCmdImpl; -import com.github.dockerjava.core.command.ResizeContainerCmdImpl; import com.github.dockerjava.core.command.RemoveNetworkCmdImpl; import com.github.dockerjava.core.command.RemoveVolumeCmdImpl; import com.github.dockerjava.core.command.RestartContainerCmdImpl; @@ -304,11 +300,6 @@ public InspectContainerCmd inspectContainerCmd(String containerId) { return new InspectContainerCmdImpl(getDockerCmdExecFactory().createInspectContainerCmdExec(), containerId); } - @Override - public ResizeContainerCmd resizeContainerCmd(String containerId, String height, String width) { - return new ResizeContainerCmdImpl(getDockerCmdExecFactory().createResizeContainerCmdExec(), containerId, height, width); - } - @Override public ExecCreateCmd execCreateCmd(String containerId) { return new ExecCreateCmdImpl(getDockerCmdExecFactory().createExecCmdExec(), containerId); @@ -329,11 +320,6 @@ public AttachContainerCmd attachContainerCmd(String containerId) { return new AttachContainerCmdImpl(getDockerCmdExecFactory().createAttachContainerCmdExec(), containerId); } - @Override - public ExecResizeCmd execResizeCmd(String execId, String height, String width) { - return new ExecResizeCmdImpl(getDockerCmdExecFactory().createExecResizeCmdExec(), execId, height, width); - } - @Override public ExecStartCmd execStartCmd(String execId) { return new ExecStartCmdImpl(getDockerCmdExecFactory().createExecStartCmdExec(), execId); diff --git a/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java b/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java index bc80db802e..0ed7a88a36 100644 --- a/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java +++ b/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java @@ -299,16 +299,6 @@ public KillContainerCmd.Exec createKillContainerCmdExec() { return delegate.createKillContainerCmdExec(); } - @Override - public ResizeContainerCmd.Exec createResizeContainerCmdExec() { - return delegate.createResizeContainerCmdExec(); - } - - @Override - public ExecResizeCmd.Exec createExecResizeCmdExec() { - return delegate.createExecResizeCmdExec(); - } - @Override public UpdateContainerCmd.Exec createUpdateContainerCmdExec() { return delegate.createUpdateContainerCmdExec(); From 6f5d061e6cf5701b979f595f6d3d498be0a2465a Mon Sep 17 00:00:00 2001 From: Iliyan Zarov Date: Wed, 10 Aug 2016 18:38:38 +0100 Subject: [PATCH 8/9] file no longer needed after deprecation --- .../core/DockerClientConfigTest.java | 212 ------------------ 1 file changed, 212 deletions(-) delete mode 100644 src/test/java/com/github/dockerjava/core/DockerClientConfigTest.java diff --git a/src/test/java/com/github/dockerjava/core/DockerClientConfigTest.java b/src/test/java/com/github/dockerjava/core/DockerClientConfigTest.java deleted file mode 100644 index 1b956bd11b..0000000000 --- a/src/test/java/com/github/dockerjava/core/DockerClientConfigTest.java +++ /dev/null @@ -1,212 +0,0 @@ -package com.github.dockerjava.core; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; -import static org.hamcrest.core.Is.is; -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertFalse; -import static org.testng.Assert.assertTrue; - -import java.lang.reflect.Field; -import java.net.URI; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; - -import org.apache.commons.lang.SerializationUtils; -import org.testng.annotations.Test; - -import com.github.dockerjava.api.exception.DockerClientException; -import com.github.dockerjava.api.model.AuthConfig; - -public class DockerClientConfigTest { - - public static final DockerClientConfig EXAMPLE_CONFIG = newExampleConfig(); - - private static DockerClientConfig newExampleConfig() { - - String dockerCertPath = dockerCertPath(); - - return new DockerClientConfig(URI.create("tcp://foo"), "dockerConfig", "apiVersion", "registryUrl", "registryUsername", "registryPassword", "registryEmail", - dockerCertPath, true); - } - - private static String homeDir() { - return "target/test-classes/someHomeDir"; - } - - private static String dockerCertPath() { - return homeDir() + "/.docker"; - } - - @Test - public void equals() throws Exception { - assertEquals(EXAMPLE_CONFIG, newExampleConfig()); - } - - @Test - public void environmentDockerHost() throws Exception { - - // given docker host in env - Map env = new HashMap(); - env.put(DockerClientConfig.DOCKER_HOST, "tcp://baz:8768"); - // and it looks to be SSL disabled - env.remove("DOCKER_CERT_PATH"); - - - - // given default cert path - Properties systemProperties = new Properties(); - systemProperties.setProperty("user.name", "someUserName"); - systemProperties.setProperty("user.home", homeDir()); - - // when you build a config - DockerClientConfig config = buildConfig(env, systemProperties); - - assertEquals(config.getDockerHost(), URI.create("tcp://baz:8768")); - } - - @Test - public void environment() throws Exception { - - // given a default config in env properties - Map env = new HashMap(); - env.put(DockerClientConfig.DOCKER_HOST, "tcp://foo"); - env.put(DockerClientConfig.API_VERSION, "apiVersion"); - env.put(DockerClientConfig.REGISTRY_USERNAME, "registryUsername"); - env.put(DockerClientConfig.REGISTRY_PASSWORD, "registryPassword"); - env.put(DockerClientConfig.REGISTRY_EMAIL, "registryEmail"); - env.put(DockerClientConfig.REGISTRY_URL, "registryUrl"); - env.put(DockerClientConfig.DOCKER_CONFIG, "dockerConfig"); - env.put(DockerClientConfig.DOCKER_CERT_PATH, dockerCertPath()); - env.put(DockerClientConfig.DOCKER_TLS_VERIFY, "1"); - - - // when you build a config - DockerClientConfig config = buildConfig(env, new Properties()); - - // then we get the example object - assertEquals(config, EXAMPLE_CONFIG); - } - - private DockerClientConfig buildConfig(Map env, Properties systemProperties) { - return DockerClientConfig.createDefaultConfigBuilder(env, systemProperties).build(); - } - - @Test - public void defaults() throws Exception { - - // given default cert path - Properties systemProperties = new Properties(); - systemProperties.setProperty("user.name", "someUserName"); - systemProperties.setProperty("user.home", homeDir()); - - // when you build config - DockerClientConfig config = buildConfig(Collections. emptyMap(), systemProperties); - - // then the cert path is as expected - assertEquals(config.getDockerHost(), URI.create("tcp://localhost:2376")); - assertEquals(config.getRegistryUsername(), "someUserName"); - assertEquals(config.getRegistryUrl(), AuthConfig.DEFAULT_SERVER_ADDRESS); - assertEquals(config.getApiVersion(), RemoteApiVersion.unknown()); - assertEquals(config.getDockerConfig(), homeDir() + "/.docker"); - assertEquals(config.getDockerCertPath(), homeDir() + "/.docker/certs"); - } - - @Test - public void systemProperties() throws Exception { - - // given system properties based on the example - Properties systemProperties = new Properties(); - systemProperties.put(DockerClientConfig.DOCKER_HOST, "tcp://foo"); - systemProperties.put(DockerClientConfig.API_VERSION, "apiVersion"); - systemProperties.put(DockerClientConfig.REGISTRY_USERNAME, "registryUsername"); - systemProperties.put(DockerClientConfig.REGISTRY_PASSWORD, "registryPassword"); - systemProperties.put(DockerClientConfig.REGISTRY_EMAIL, "registryEmail"); - systemProperties.put(DockerClientConfig.REGISTRY_URL, "registryUrl"); - systemProperties.put(DockerClientConfig.DOCKER_CONFIG, "dockerConfig"); - systemProperties.put(DockerClientConfig.DOCKER_CERT_PATH, dockerCertPath()); - systemProperties.put(DockerClientConfig.DOCKER_TLS_VERIFY, "1"); - - // when you build new config - DockerClientConfig config = buildConfig(Collections. emptyMap(), systemProperties); - - // then it is the same as the example - assertEquals(config, EXAMPLE_CONFIG); - - } - - @Test - public void serializableTest() { - final byte[] serialized = SerializationUtils.serialize(EXAMPLE_CONFIG); - final DockerClientConfig deserialized = (DockerClientConfig) SerializationUtils.deserialize(serialized); - - assertThat("Deserialized object mush match source object", deserialized, equalTo(EXAMPLE_CONFIG)); - } - - // @Test(expectedExceptions = DockerClientException.class) - // public void testTlsVerifyAndCertPathNull() throws Exception { - // new DockerClientConfig(URI.create("tcp://foo"), "dockerConfig", "apiVersion", "registryUrl", "registryUsername", "registryPassword", "registryEmail", - // null, true); - // } - - // @Test(expectedExceptions = DockerClientException.class) - // public void testTlsVerifyAndCertPathEmpty() throws Exception { - // new DockerClientConfig(URI.create("tcp://foo"), "dockerConfig", "apiVersion", "registryUrl", "registryUsername", "registryPassword", "registryEmail", - // "", true); - // } - - @Test() - public void testTlsVerifyAndCertPath() throws Exception { - new DockerClientConfig(URI.create("tcp://foo"), "dockerConfig", "apiVersion", "registryUrl", "registryUsername", "registryPassword", "registryEmail", - dockerCertPath(), true); - } - - @Test(expectedExceptions = DockerClientException.class) - public void testWrongHostScheme() throws Exception { - new DockerClientConfig(URI.create("http://foo"), "dockerConfig", "apiVersion", "registryUrl", "registryUsername", "registryPassword", "registryEmail", - null, false); - } - - @Test() - public void testTcpHostScheme() throws Exception { - new DockerClientConfig(URI.create("tcp://foo"), "dockerConfig", "apiVersion", "registryUrl", "registryUsername", "registryPassword", "registryEmail", - null, false); - } - - @Test() - public void testUnixHostScheme() throws Exception { - new DockerClientConfig(URI.create("unix://foo"), "dockerConfig", "apiVersion", "registryUrl", "registryUsername", "registryPassword", "registryEmail", - null, false); - } - - @Test - public void withDockerTlsVerify() throws Exception { - DockerClientConfig.DockerClientConfigBuilder builder = new DockerClientConfig.DockerClientConfigBuilder(); - Field field = builder.getClass().getDeclaredField("dockerTlsVerify"); - field.setAccessible(true); - - builder.withDockerTlsVerify(""); - assertThat(field.getBoolean(builder), is(false)); - - builder.withDockerTlsVerify("false"); - assertThat(field.getBoolean(builder), is(false)); - - builder.withDockerTlsVerify("FALSE"); - assertThat(field.getBoolean(builder), is(false)); - - builder.withDockerTlsVerify("true"); - assertThat(field.getBoolean(builder), is(true)); - - builder.withDockerTlsVerify("TRUE"); - assertThat(field.getBoolean(builder), is(true)); - - builder.withDockerTlsVerify("0"); - assertThat(field.getBoolean(builder), is(false)); - - builder.withDockerTlsVerify("1"); - assertThat(field.getBoolean(builder), is(true)); - } - -} From 8ac48985ddbdec7e49d81725e54b86f593e7001e Mon Sep 17 00:00:00 2001 From: Iliyan Zarov Date: Thu, 18 Aug 2016 21:01:41 +0100 Subject: [PATCH 9/9] minor changes --- .../com/github/dockerjava/api/command/CreateContainerCmd.java | 3 --- .../com/github/dockerjava/core/TestDockerCmdExecFactory.java | 1 - 2 files changed, 4 deletions(-) diff --git a/src/main/java/com/github/dockerjava/api/command/CreateContainerCmd.java b/src/main/java/com/github/dockerjava/api/command/CreateContainerCmd.java index d599011d92..77bf100acf 100644 --- a/src/main/java/com/github/dockerjava/api/command/CreateContainerCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/CreateContainerCmd.java @@ -197,9 +197,6 @@ public interface CreateContainerCmd extends SyncDockerCmd getTmpfs(); - /** * Add network-scoped alias for the container * @param aliases on ore more aliases diff --git a/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java b/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java index 0ed7a88a36..46d6d4dcc5 100644 --- a/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java +++ b/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java @@ -1,7 +1,6 @@ package com.github.dockerjava.core; import com.github.dockerjava.api.async.ResultCallback; -import com.github.dockerjava.api.command.*; import com.github.dockerjava.api.command.AttachContainerCmd; import com.github.dockerjava.api.command.AuthCmd.Exec; import com.github.dockerjava.api.command.BuildImageCmd;