Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@
import com.github.dockerjava.api.command.RemoveServiceCmd;
import com.github.dockerjava.api.command.RemoveVolumeCmd;
import com.github.dockerjava.api.command.RenameContainerCmd;
import com.github.dockerjava.api.command.ResizeContainerCmd;
import com.github.dockerjava.api.command.ResizeExecCmd;
import com.github.dockerjava.api.command.RestartContainerCmd;
import com.github.dockerjava.api.command.SaveImageCmd;
import com.github.dockerjava.api.command.SaveImagesCmd;
Expand Down Expand Up @@ -165,6 +167,8 @@ public interface DockerClient extends Closeable {

ExecCreateCmd execCreateCmd(@Nonnull String containerId);

ResizeExecCmd resizeExecCmd(@Nonnull String execId);

InspectContainerCmd inspectContainerCmd(@Nonnull String containerId);

RemoveContainerCmd removeContainerCmd(@Nonnull String containerId);
Expand Down Expand Up @@ -242,6 +246,8 @@ public interface DockerClient extends Closeable {

RestartContainerCmd restartContainerCmd(@Nonnull String containerId);

ResizeContainerCmd resizeContainerCmd(@Nonnull String containerId);

CommitCmd commitCmd(@Nonnull String containerId);

BuildImageCmd buildImageCmd();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,21 @@ public PingCmd.Exec createPingCmdExec() {
return getDockerCmdExecFactory().createPingCmdExec();
}

@Override
public ResizeContainerCmd.Exec createResizeContainerCmdExec() {
return getDockerCmdExecFactory().createResizeContainerCmdExec();
}

@Override
public ExecCreateCmd.Exec createExecCmdExec() {
return getDockerCmdExecFactory().createExecCmdExec();
}

@Override
public ResizeExecCmd.Exec createResizeExecCmdExec() {
return getDockerCmdExecFactory().createResizeExecCmdExec();
}

@Override
public VersionCmd.Exec createVersionCmdExec() {
return getDockerCmdExecFactory().createVersionCmdExec();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,12 @@ public interface DockerCmdExecFactory extends Closeable {

AttachContainerCmd.Exec createAttachContainerCmdExec();

ResizeContainerCmd.Exec createResizeContainerCmdExec();

ExecStartCmd.Exec createExecStartCmdExec();

ResizeExecCmd.Exec createResizeExecCmdExec();

InspectExecCmd.Exec createInspectExecCmdExec();

LogContainerCmd.Exec createLogContainerCmdExec();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.github.dockerjava.api.command;

import com.github.dockerjava.api.exception.NotFoundException;

import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;

public interface ResizeContainerCmd extends SyncDockerCmd<Void> {

@CheckForNull
String getContainerId();

Integer getHeight();

Integer getWidth();

ResizeContainerCmd withContainerId(@Nonnull String execId);

ResizeContainerCmd withSize(int height, int width);

/**
* @throws NotFoundException no such container instance
*/
@Override
Void exec() throws NotFoundException;

interface Exec extends DockerCmdSyncExec<ResizeContainerCmd, Void> {
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.github.dockerjava.api.command;

import com.github.dockerjava.api.exception.NotFoundException;

import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;

public interface ResizeExecCmd extends SyncDockerCmd<Void> {
@CheckForNull
String getExecId();

Integer getHeight();

Integer getWidth();

ResizeExecCmd withExecId(@Nonnull String execId);

ResizeExecCmd withSize(int height, int width);

/**
* @throws NotFoundException no such exec instance
*/
@Override
Void exec() throws NotFoundException;

interface Exec extends DockerCmdSyncExec<ResizeExecCmd, Void> {
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@
import com.github.dockerjava.api.command.RemoveSwarmNodeCmd;
import com.github.dockerjava.api.command.RemoveVolumeCmd;
import com.github.dockerjava.api.command.RenameContainerCmd;
import com.github.dockerjava.api.command.ResizeContainerCmd;
import com.github.dockerjava.api.command.ResizeExecCmd;
import com.github.dockerjava.api.command.RestartContainerCmd;
import com.github.dockerjava.api.command.SaveImageCmd;
import com.github.dockerjava.api.command.SaveImagesCmd;
Expand Down Expand Up @@ -92,6 +94,8 @@
import com.github.dockerjava.core.exec.EventsCmdExec;
import com.github.dockerjava.core.exec.ExecCreateCmdExec;
import com.github.dockerjava.core.exec.ExecStartCmdExec;
import com.github.dockerjava.core.exec.ResizeContainerCmdExec;
import com.github.dockerjava.core.exec.ResizeExecCmdExec;
import com.github.dockerjava.core.exec.InfoCmdExec;
import com.github.dockerjava.core.exec.InitializeSwarmCmdExec;
import com.github.dockerjava.core.exec.InspectContainerCmdExec;
Expand Down Expand Up @@ -303,11 +307,21 @@ public AttachContainerCmd.Exec createAttachContainerCmdExec() {
return new AttachContainerCmdExec(getBaseResource(), getDockerClientConfig());
}

@Override
public ResizeContainerCmd.Exec createResizeContainerCmdExec() {
return new ResizeContainerCmdExec(getBaseResource(), getDockerClientConfig());
}

@Override
public ExecStartCmd.Exec createExecStartCmdExec() {
return new ExecStartCmdExec(getBaseResource(), getDockerClientConfig());
}

@Override
public ResizeExecCmd.Exec createResizeExecCmdExec() {
return new ResizeExecCmdExec(getBaseResource(), getDockerClientConfig());
}

@Override
public InspectExecCmd.Exec createInspectExecCmdExec() {
return new InspectExecCmdExec(getBaseResource(), getDockerClientConfig());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@
import com.github.dockerjava.api.command.RemoveServiceCmd;
import com.github.dockerjava.api.command.RemoveVolumeCmd;
import com.github.dockerjava.api.command.RenameContainerCmd;
import com.github.dockerjava.api.command.ResizeContainerCmd;
import com.github.dockerjava.api.command.ResizeExecCmd;
import com.github.dockerjava.api.command.RestartContainerCmd;
import com.github.dockerjava.api.command.SaveImageCmd;
import com.github.dockerjava.api.command.SaveImagesCmd;
Expand Down Expand Up @@ -132,6 +134,8 @@
import com.github.dockerjava.core.command.RemoveServiceCmdImpl;
import com.github.dockerjava.core.command.RemoveVolumeCmdImpl;
import com.github.dockerjava.core.command.RenameContainerCmdImpl;
import com.github.dockerjava.core.command.ResizeContainerCmdImpl;
import com.github.dockerjava.core.command.ResizeExecCmdImpl;
import com.github.dockerjava.core.command.RestartContainerCmdImpl;
import com.github.dockerjava.core.command.SaveImageCmdImpl;
import com.github.dockerjava.core.command.SaveImagesCmdImpl;
Expand Down Expand Up @@ -386,6 +390,11 @@ public ExecCreateCmd execCreateCmd(String containerId) {
return new ExecCreateCmdImpl(getDockerCmdExecFactory().createExecCmdExec(), containerId);
}

@Override
public ResizeExecCmd resizeExecCmd(@Nonnull String execId) {
return new ResizeExecCmdImpl(getDockerCmdExecFactory().createResizeExecCmdExec(), execId);
}

@Override
public RemoveContainerCmd removeContainerCmd(String containerId) {
return new RemoveContainerCmdImpl(getDockerCmdExecFactory().createRemoveContainerCmdExec(), containerId);
Expand Down Expand Up @@ -464,6 +473,11 @@ public RestartContainerCmd restartContainerCmd(String containerId) {
return new RestartContainerCmdImpl(getDockerCmdExecFactory().createRestartContainerCmdExec(), containerId);
}

@Override
public ResizeContainerCmd resizeContainerCmd(@Nonnull String containerId) {
return new ResizeContainerCmdImpl(getDockerCmdExecFactory().createResizeContainerCmdExec(), containerId);
}

@Override
public CommitCmd commitCmd(String containerId) {
return new CommitCmdImpl(getDockerCmdExecFactory().createCommitCmdExec(), containerId);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
package com.github.dockerjava.core.command;

import com.github.dockerjava.api.command.ResizeContainerCmd;
import com.github.dockerjava.api.exception.NotFoundException;

import static com.google.common.base.Preconditions.checkNotNull;

public class ResizeContainerCmdImpl extends AbstrDockerCmd<ResizeContainerCmd, Void> implements ResizeContainerCmd {

private String containerId;

private Integer height;

private Integer width;

public ResizeContainerCmdImpl(ResizeContainerCmd.Exec exec, String execId) {
super(exec);
withContainerId(execId);
}

@Override
public String getContainerId() {
return containerId;
}

@Override
public Integer getHeight() {
return height;
}

@Override
public Integer getWidth() {
return width;
}

@Override
public ResizeContainerCmd withContainerId(String containerId) {
checkNotNull(containerId, "containerId was not specified");
this.containerId = containerId;
return this;
}

@Override
public ResizeContainerCmd withSize(int height, int width) {
this.height = height;
this.width = width;
return this;
}

/**
* @throws NotFoundException no such exec instance
*/
@Override
public Void exec() throws NotFoundException {
return super.exec();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package com.github.dockerjava.core.command;

import com.github.dockerjava.api.command.ResizeExecCmd;
import com.github.dockerjava.api.exception.NotFoundException;

import static com.google.common.base.Preconditions.checkNotNull;

public class ResizeExecCmdImpl extends AbstrDockerCmd<ResizeExecCmd, Void> implements ResizeExecCmd {

private String execId;

private Integer height;

private Integer width;

public ResizeExecCmdImpl(ResizeExecCmd.Exec exec, String execId) {
super(exec);
withExecId(execId);
}

@Override
public String getExecId() {
return execId;
}

@Override
public Integer getHeight() {
return height;
}

@Override
public Integer getWidth() {
return width;
}

@Override
public ResizeExecCmd withExecId(String execId) {
checkNotNull(execId, "execId was not specified");
this.execId = execId;
return this;
}

@Override
public ResizeExecCmd withSize(int height, int width) {
this.height = height;
this.width = width;
return this;
}

/**
* @throws NotFoundException no such exec instance
*/
@Override
public Void exec() throws NotFoundException {
return super.exec();
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.github.dockerjava.core.exec;

import com.github.dockerjava.api.command.ResizeContainerCmd;
import com.github.dockerjava.core.DockerClientConfig;
import com.github.dockerjava.core.MediaType;
import com.github.dockerjava.core.WebTarget;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class ResizeContainerCmdExec extends AbstrSyncDockerCmdExec<ResizeContainerCmd, Void> 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()).queryParam("h", command.getHeight())
.queryParam("w", command.getWidth());

LOGGER.trace("POST: {}", webResource);

webResource.request().accept(MediaType.APPLICATION_JSON).post(command);

return null;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.github.dockerjava.core.exec;

import com.github.dockerjava.api.command.ResizeExecCmd;
import com.github.dockerjava.core.DockerClientConfig;
import com.github.dockerjava.core.MediaType;
import com.github.dockerjava.core.WebTarget;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


public class ResizeExecCmdExec extends AbstrSyncDockerCmdExec<ResizeExecCmd, Void> implements ResizeExecCmd.Exec {

private static final Logger LOGGER = LoggerFactory.getLogger(ResizeExecCmdExec.class);

public ResizeExecCmdExec(WebTarget baseResource, DockerClientConfig dockerClientConfig) {
super(baseResource, dockerClientConfig);
}

@Override
protected Void execute(ResizeExecCmd command) {
WebTarget webResource = getBaseResource().path("/exec/{id}/resize")
.resolveTemplate("id", command.getExecId()).queryParam("h", command.getHeight()).queryParam("w", command.getWidth());

LOGGER.trace("POST: {}", webResource);

webResource.request().accept(MediaType.APPLICATION_JSON).post(null);

return null;
}

}
Loading