diff --git a/src/main/java/com/github/dockerjava/api/async/ResultCallback.java b/src/main/java/com/github/dockerjava/api/async/ResultCallback.java index 1eb7ebce1..2016e1980 100644 --- a/src/main/java/com/github/dockerjava/api/async/ResultCallback.java +++ b/src/main/java/com/github/dockerjava/api/async/ResultCallback.java @@ -20,5 +20,4 @@ public interface ResultCallback extends Closeable { /** Called when processing was finished either by reaching the end or by aborting it */ void onComplete(); - } diff --git a/src/main/java/com/github/dockerjava/api/command/AttachContainerCmd.java b/src/main/java/com/github/dockerjava/api/command/AttachContainerCmd.java index f837c89c5..13979fb8b 100644 --- a/src/main/java/com/github/dockerjava/api/command/AttachContainerCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/AttachContainerCmd.java @@ -2,6 +2,9 @@ import java.io.InputStream; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.DockerClient; import com.github.dockerjava.api.model.Frame; @@ -22,45 +25,40 @@ */ public interface AttachContainerCmd extends AsyncDockerCmd { + @CheckForNull public String getContainerId(); - public boolean hasLogsEnabled(); - - public boolean hasFollowStreamEnabled(); + @CheckForNull + public Boolean hasLogsEnabled(); - public boolean hasTimestampsEnabled(); + @CheckForNull + public Boolean hasFollowStreamEnabled(); - public boolean hasStdoutEnabled(); + @CheckForNull + public Boolean hasTimestampsEnabled(); - public boolean hasStderrEnabled(); + @CheckForNull + public Boolean hasStdoutEnabled(); - public AttachContainerCmd withContainerId(String containerId); + @CheckForNull + public Boolean hasStderrEnabled(); - /** - * See {@link #withFollowStream(boolean)} - */ - public AttachContainerCmd withFollowStream(); + public AttachContainerCmd withContainerId(@Nonnull String containerId); /** * Following the stream means the resulting {@link InputStream} returned by {@link #exec()} reads infinitely. So a * {@link InputStream#read()} MAY BLOCK FOREVER as long as no data is streamed from the docker host to * {@link DockerClient}! */ - public AttachContainerCmd withFollowStream(boolean followStream); - - public AttachContainerCmd withTimestamps(boolean timestamps); - - public AttachContainerCmd withStdOut(); - - public AttachContainerCmd withStdOut(boolean stdout); + public AttachContainerCmd withFollowStream(Boolean followStream); - public AttachContainerCmd withStdErr(); + public AttachContainerCmd withTimestamps(Boolean timestamps); - public AttachContainerCmd withStdErr(boolean stderr); + public AttachContainerCmd withStdOut(Boolean stdout); - public AttachContainerCmd withLogs(boolean logs); + public AttachContainerCmd withStdErr(Boolean stderr); - public AttachContainerCmd withLogs(); + public AttachContainerCmd withLogs(Boolean logs); public static interface Exec extends DockerCmdAsyncExec { } diff --git a/src/main/java/com/github/dockerjava/api/command/AuthCmd.java b/src/main/java/com/github/dockerjava/api/command/AuthCmd.java index 26e05c1e6..da7d47a7a 100644 --- a/src/main/java/com/github/dockerjava/api/command/AuthCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/AuthCmd.java @@ -1,5 +1,8 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.UnauthorizedException; import com.github.dockerjava.api.model.AuthConfig; import com.github.dockerjava.api.model.AuthResponse; @@ -11,9 +14,10 @@ */ public interface AuthCmd extends SyncDockerCmd { + @CheckForNull public AuthConfig getAuthConfig(); - public AuthCmd withAuthConfig(AuthConfig authConfig); + public AuthCmd withAuthConfig(@Nonnull AuthConfig authConfig); /** * @return The status. Based on it's value you may mean you need to authorise your account, e.g.: diff --git a/src/main/java/com/github/dockerjava/api/command/BuildImageCmd.java b/src/main/java/com/github/dockerjava/api/command/BuildImageCmd.java index dadaac4c5..99a065629 100644 --- a/src/main/java/com/github/dockerjava/api/command/BuildImageCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/BuildImageCmd.java @@ -4,6 +4,8 @@ import com.github.dockerjava.api.model.BuildResponseItem; import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import java.io.File; import java.io.InputStream; import java.net.URI; @@ -20,8 +22,10 @@ public interface BuildImageCmd extends AsyncDockerCmd { } diff --git a/src/main/java/com/github/dockerjava/api/command/CommitCmd.java b/src/main/java/com/github/dockerjava/api/command/CommitCmd.java index 10de66459..77e19363c 100644 --- a/src/main/java/com/github/dockerjava/api/command/CommitCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/CommitCmd.java @@ -1,5 +1,8 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.NotFoundException; import com.github.dockerjava.api.model.ExposedPorts; import com.github.dockerjava.api.model.Volumes; @@ -11,96 +14,104 @@ */ public interface CommitCmd extends SyncDockerCmd { + @CheckForNull + public String getAuthor(); + + @CheckForNull public String getContainerId(); - public CommitCmd withContainerId(String containerId); + @CheckForNull + public String[] getEnv(); - public String getRepository(); + @CheckForNull + public ExposedPorts getExposedPorts(); - public String getTag(); + @CheckForNull + public String getHostname(); + + @CheckForNull + public Integer getMemory(); + @CheckForNull + public Integer getMemorySwap(); + + @CheckForNull public String getMessage(); - public String getAuthor(); + @CheckForNull + public String[] getPortSpecs(); - public boolean hasPauseEnabled(); + @CheckForNull + public String getRepository(); - public CommitCmd withAttachStderr(boolean attachStderr); + @CheckForNull + public String getTag(); - public CommitCmd withAttachStderr(); + @CheckForNull + public String getUser(); - public CommitCmd withAttachStdin(boolean attachStdin); + @CheckForNull + public Volumes getVolumes(); - public CommitCmd withAttachStdin(); + @CheckForNull + public String getWorkingDir(); - public CommitCmd withAttachStdout(boolean attachStdout); + @CheckForNull + public Boolean hasPauseEnabled(); - public CommitCmd withAttachStdout(); + @CheckForNull + public Boolean isOpenStdin(); - public CommitCmd withCmd(String... cmd); + @CheckForNull + public Boolean isStdinOnce(); - public CommitCmd withDisableNetwork(boolean disableNetwork); + @CheckForNull + public Boolean isTty(); - public CommitCmd withAuthor(String author); + public CommitCmd withAttachStderr(Boolean attachStderr); - public CommitCmd withMessage(String message); + public CommitCmd withAttachStdin(Boolean attachStdin); - public CommitCmd withTag(String tag); + public CommitCmd withAttachStdout(Boolean attachStdout); - public CommitCmd withRepository(String repository); + public CommitCmd withAuthor(String author); - public CommitCmd withPause(boolean pause); + public CommitCmd withCmd(String... cmd); - public String[] getEnv(); + public CommitCmd withContainerId(@Nonnull String containerId); - public CommitCmd withEnv(String... env); + public CommitCmd withDisableNetwork(Boolean disableNetwork); - public ExposedPorts getExposedPorts(); + public CommitCmd withEnv(String... env); public CommitCmd withExposedPorts(ExposedPorts exposedPorts); - public String getHostname(); - public CommitCmd withHostname(String hostname); - public Integer getMemory(); - public CommitCmd withMemory(Integer memory); - public Integer getMemorySwap(); - public CommitCmd withMemorySwap(Integer memorySwap); - public boolean isOpenStdin(); + public CommitCmd withMessage(String message); - public CommitCmd withOpenStdin(boolean openStdin); + public CommitCmd withOpenStdin(Boolean openStdin); - public String[] getPortSpecs(); + public CommitCmd withPause(Boolean pause); public CommitCmd withPortSpecs(String... portSpecs); - public boolean isStdinOnce(); - - public CommitCmd withStdinOnce(boolean stdinOnce); - - public CommitCmd withStdinOnce(); - - public boolean isTty(); + public CommitCmd withRepository(String repository); - public CommitCmd withTty(boolean tty); + public CommitCmd withStdinOnce(Boolean stdinOnce); - public CommitCmd withTty(); + public CommitCmd withTag(String tag); - public String getUser(); + public CommitCmd withTty(Boolean tty); public CommitCmd withUser(String user); - public Volumes getVolumes(); - public CommitCmd withVolumes(Volumes volumes); - public String getWorkingDir(); - public CommitCmd withWorkingDir(String workingDir); /** @@ -112,5 +123,4 @@ public interface CommitCmd extends SyncDockerCmd { public static interface Exec extends DockerCmdSyncExec { } - } \ No newline at end of file diff --git a/src/main/java/com/github/dockerjava/api/command/ContainerDiffCmd.java b/src/main/java/com/github/dockerjava/api/command/ContainerDiffCmd.java index 968fb5c7c..42ae5e9dd 100644 --- a/src/main/java/com/github/dockerjava/api/command/ContainerDiffCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/ContainerDiffCmd.java @@ -2,6 +2,9 @@ import java.util.List; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.DockerException; import com.github.dockerjava.api.InternalServerErrorException; import com.github.dockerjava.api.NotFoundException; @@ -9,9 +12,10 @@ public interface ContainerDiffCmd extends SyncDockerCmd> { + @CheckForNull public String getContainerId(); - public ContainerDiffCmd withContainerId(String containerId); + public ContainerDiffCmd withContainerId(@Nonnull String containerId); @Override public String toString(); diff --git a/src/main/java/com/github/dockerjava/api/command/CopyFileFromContainerCmd.java b/src/main/java/com/github/dockerjava/api/command/CopyFileFromContainerCmd.java index 1bc3ca909..e51b8ac46 100644 --- a/src/main/java/com/github/dockerjava/api/command/CopyFileFromContainerCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/CopyFileFromContainerCmd.java @@ -2,22 +2,28 @@ import java.io.InputStream; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.NotFoundException; public interface CopyFileFromContainerCmd extends SyncDockerCmd { + @CheckForNull public String getContainerId(); - public String getResource(); - - public CopyFileFromContainerCmd withContainerId(String containerId); + @CheckForNull + public String getHostPath(); - public CopyFileFromContainerCmd withResource(String resource); + @CheckForNull + public String getResource(); - public String getHostPath(); + public CopyFileFromContainerCmd withContainerId(@Nonnull String containerId); public CopyFileFromContainerCmd withHostPath(String hostPath); + public CopyFileFromContainerCmd withResource(@Nonnull String resource); + /** * Its the responsibility of the caller to consume and/or close the {@link InputStream} to prevent connection leaks. * @@ -29,5 +35,4 @@ public interface CopyFileFromContainerCmd extends SyncDockerCmd { public static interface Exec extends DockerCmdSyncExec { } - } \ No newline at end of file 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 4dba937fe..0a070acfa 100644 --- a/src/main/java/com/github/dockerjava/api/command/CreateContainerCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/CreateContainerCmd.java @@ -1,7 +1,10 @@ package com.github.dockerjava.api.command; +import java.util.List; import java.util.Map; +import javax.annotation.CheckForNull; + import com.github.dockerjava.api.ConflictException; import com.github.dockerjava.api.NotFoundException; import com.github.dockerjava.api.model.Bind; @@ -18,135 +21,179 @@ import com.github.dockerjava.api.model.Volume; import com.github.dockerjava.api.model.VolumesFrom; -import javax.annotation.CheckForNull; - public interface CreateContainerCmd extends SyncDockerCmd { - public static interface Exec extends DockerCmdSyncExec { - } + @CheckForNull + public Bind[] getBinds(); /** - * @throws NotFoundException - * No such container - * @throws ConflictException - * Named container already exists + * @since 1.19 */ - @Override - public CreateContainerResponse exec() throws NotFoundException, ConflictException; - - public Bind[] getBinds(); + @CheckForNull + public Integer getBlkioWeight(); + @CheckForNull public Capability[] getCapAdd(); + @CheckForNull public Capability[] getCapDrop(); + @CheckForNull public String[] getCmd(); - public String getCpuset(); - - public int getCpuShares(); - /** * @since 1.19 */ + @CheckForNull public Integer getCpuPeriod(); - /** - * @since 1.19 - */ - public String getCpusetMems(); + @CheckForNull + public String getCpusetCpus(); /** * @since 1.19 */ - public Integer getBlkioWeight(); + @CheckForNull + public String getCpusetMems(); - /** - * @since 1.19 - */ - public Boolean isOomKillDisable(); + @CheckForNull + public Integer getCpuShares(); + @CheckForNull public Device[] getDevices(); + @CheckForNull public String[] getDns(); + @CheckForNull public String[] getDnsSearch(); + @CheckForNull + public String getDomainName(); + + @CheckForNull public String[] getEntrypoint(); + @CheckForNull public String[] getEnv(); + @CheckForNull public ExposedPort[] getExposedPorts(); + @CheckForNull public String[] getExtraHosts(); + @CheckForNull public String getHostName(); - public String getDomainName(); - + @CheckForNull public String getImage(); - public Link[] getLinks(); + @CheckForNull + Map getLabels(); - public LxcConf[] getLxcConf(); + @CheckForNull + public Link[] getLinks(); + @CheckForNull public LogConfig getLogConfig(); + @CheckForNull + public LxcConf[] getLxcConf(); + + @CheckForNull public String getMacAddress(); - public long getMemoryLimit(); + @CheckForNull + public Long getMemory(); - public long getMemorySwap(); + @CheckForNull + public Long getMemorySwap(); + @CheckForNull public String getName(); + @CheckForNull public String getNetworkMode(); + @CheckForNull public Ports getPortBindings(); + @CheckForNull public String[] getPortSpecs(); + @CheckForNull public RestartPolicy getRestartPolicy(); + @CheckForNull + public Ulimit[] getUlimits(); + + @CheckForNull public String getUser(); + @CheckForNull public Volume[] getVolumes(); + @CheckForNull public VolumesFrom[] getVolumesFrom(); + @CheckForNull public String getWorkingDir(); - public Ulimit[] getUlimits(); + @CheckForNull + public Boolean isAttachStderr(); - public boolean isAttachStderr(); + @CheckForNull + public Boolean isAttachStdin(); - public boolean isAttachStdin(); + @CheckForNull + public Boolean isAttachStdout(); - public boolean isAttachStdout(); + @CheckForNull + public Boolean isNetworkDisabled(); - public boolean isNetworkDisabled(); + /** + * @since 1.19 + */ + @CheckForNull + public Boolean isOomKillDisable(); + @CheckForNull public Boolean isPrivileged(); + @CheckForNull public Boolean isPublishAllPorts(); - public boolean isStdInOnce(); + @CheckForNull + public Boolean isReadonlyRootfs(); - public boolean isStdinOpen(); + @CheckForNull + public Boolean isStdInOnce(); - public boolean isTty(); + @CheckForNull + public Boolean isStdinOpen(); @CheckForNull public String getPidMode(); - public CreateContainerCmd withAttachStderr(boolean attachStderr); + @CheckForNull + public Boolean isTty(); + + public CreateContainerCmd withAttachStderr(Boolean attachStderr); - public CreateContainerCmd withAttachStdin(boolean attachStdin); + public CreateContainerCmd withAttachStdin(Boolean attachStdin); - public CreateContainerCmd withAttachStdout(boolean attachStdout); + public CreateContainerCmd withAttachStdout(Boolean attachStdout); public CreateContainerCmd withBinds(Bind... binds); + public CreateContainerCmd withBinds(List binds); + + /** + * @since 1.19 + */ + public CreateContainerCmd withBlkioWeight(Integer blkioWeight); + /** * Add linux kernel capability to the * container. For example: adding {@link Capability#MKNOD} allows the container to create special files using the @@ -154,6 +201,13 @@ public static interface Exec extends DockerCmdSyncExeckernel capability to the + * container. For example: adding {@link Capability#MKNOD} allows the container to create special files using the + * 'mknod' command. + */ + public CreateContainerCmd withCapAdd(List capAdd); + /** * Drop linux kernel capability from the * container. For example: dropping {@link Capability#CHOWN} prevents the container from changing the owner of any @@ -161,63 +215,88 @@ public static interface Exec extends DockerCmdSyncExeckernel capability from the + * container. For example: dropping {@link Capability#CHOWN} prevents the container from changing the owner of any + * files. + */ + public CreateContainerCmd withCapDrop(List capDrop); + public CreateContainerCmd withCmd(String... cmd); - public CreateContainerCmd withCpuset(String cpuset); + public CreateContainerCmd withCmd(List cmd); - public CreateContainerCmd withCpuShares(int cpuShares); + public CreateContainerCmd withContainerIDFile(String containerIDFile); /** * @since 1.19 */ public CreateContainerCmd withCpuPeriod(Integer cpuPeriod); + public CreateContainerCmd withCpusetCpus(String cpusetCpus); + /** * @since 1.19 */ public CreateContainerCmd withCpusetMems(String cpusetMems); - /** - * @since 1.19 - */ - public CreateContainerCmd withBlkioWeight(Integer blkioWeight); + public CreateContainerCmd withCpuShares(Integer cpuShares); /** - * @since 1.19 + * Add host devices to the container */ - public CreateContainerCmd withOomKillDisable(Boolean oomKillDisable); + public CreateContainerCmd withDevices(Device... devices); /** * Add host devices to the container */ - public CreateContainerCmd withDevices(Device... devices); - - public CreateContainerCmd withNetworkDisabled(boolean disableNetwork); + public CreateContainerCmd withDevices(List devices); /** * Set custom DNS servers */ public CreateContainerCmd withDns(String... dns); + /** + * Set custom DNS servers + */ + public CreateContainerCmd withDns(List dns); + /** * Set custom DNS search domains */ public CreateContainerCmd withDnsSearch(String... dnsSearch); + /** + * Set custom DNS search domains + */ + public CreateContainerCmd withDnsSearch(List dnsSearch); + + public CreateContainerCmd withDomainName(String domainName); + public CreateContainerCmd withEntrypoint(String... entrypoint); + public CreateContainerCmd withEntrypoint(List entrypoint); + public CreateContainerCmd withEnv(String... env); + public CreateContainerCmd withEnv(List env); + public CreateContainerCmd withExposedPorts(ExposedPort... exposedPorts); + public CreateContainerCmd withExposedPorts(List exposedPorts); + /** * Add hostnames to /etc/hosts in the container */ public CreateContainerCmd withExtraHosts(String... extraHosts); - public CreateContainerCmd withHostName(String hostName); + /** + * Add hostnames to /etc/hosts in the container + */ + public CreateContainerCmd withExtraHosts(List extraHosts); - public CreateContainerCmd withDomainName(String domainName); + public CreateContainerCmd withHostName(String hostName); public CreateContainerCmd withImage(String image); @@ -228,16 +307,27 @@ public static interface Exec extends DockerCmdSyncExec links); public CreateContainerCmd withLogConfig(LogConfig logConfig); - public CreateContainerCmd withMemoryLimit(long memoryLimit); + public CreateContainerCmd withLxcConf(LxcConf... lxcConf); + + public CreateContainerCmd withLxcConf(List lxcConf); - public CreateContainerCmd withMemorySwap(long memorySwap); + public CreateContainerCmd withMacAddress(String macAddress); + + public CreateContainerCmd withMemory(Long memory); + + public CreateContainerCmd withMemorySwap(Long memorySwap); public CreateContainerCmd withName(String name); + public CreateContainerCmd withNetworkDisabled(Boolean disableNetwork); + /** * Set the Network mode for the container *
    @@ -250,12 +340,23 @@ public static interface Exec extends DockerCmdSyncExec--publish (-p) option of * the docker run CLI command. */ public CreateContainerCmd withPortBindings(PortBinding... portBindings); + /** + * Add one or more {@link PortBinding}s. This corresponds to the --publish (-p) option of + * the docker run CLI command. + */ + public CreateContainerCmd withPortBindings(List portBindings); + /** * Add the port bindings that are contained in the given {@link Ports} object. * @@ -265,36 +366,40 @@ public static interface Exec extends DockerCmdSyncExec portSpecs); + + public CreateContainerCmd withPrivileged(Boolean privileged); - public CreateContainerCmd withPublishAllPorts(boolean publishAllPorts); + public CreateContainerCmd withPublishAllPorts(Boolean publishAllPorts); + + public CreateContainerCmd withReadonlyRootfs(Boolean readonlyRootfs); /** * Set custom {@link RestartPolicy} for the container. Defaults to {@link RestartPolicy#noRestart()} */ public CreateContainerCmd withRestartPolicy(RestartPolicy restartPolicy); - public CreateContainerCmd withStdInOnce(boolean stdInOnce); + public CreateContainerCmd withStdInOnce(Boolean stdInOnce); - public CreateContainerCmd withStdinOpen(boolean stdinOpen); + public CreateContainerCmd withStdinOpen(Boolean stdinOpen); - public CreateContainerCmd withTty(boolean tty); + public CreateContainerCmd withTty(Boolean tty); - public CreateContainerCmd withUser(String user); + public CreateContainerCmd withUlimits(Ulimit... ulimits); - public CreateContainerCmd withVolumes(Volume... volumes); + public CreateContainerCmd withUlimits(List ulimits); - public CreateContainerCmd withVolumesFrom(VolumesFrom... volumesFrom); + public CreateContainerCmd withUser(String user); - public CreateContainerCmd withWorkingDir(String workingDir); + public CreateContainerCmd withVolumes(Volume... volumes); - public CreateContainerCmd withMacAddress(String macAddress); + public CreateContainerCmd withVolumes(List volumes); - public CreateContainerCmd withUlimits(Ulimit[] ulimits); + public CreateContainerCmd withVolumesFrom(VolumesFrom... volumesFrom); - public CreateContainerCmd withReadonlyRootfs(boolean readonlyRootfs); + public CreateContainerCmd withVolumesFrom(List volumesFrom); - public CreateContainerCmd withContainerIDFile(String containerIDFile); + public CreateContainerCmd withWorkingDir(String workingDir); /** * Set the PID (Process) Namespace mode for the container, 'host': use the host's PID namespace inside the container @@ -302,8 +407,14 @@ public static interface Exec extends DockerCmdSyncExec getLabels(); + @Override + public CreateContainerResponse exec() throws NotFoundException, ConflictException; + public static interface Exec extends DockerCmdSyncExec { + } } diff --git a/src/main/java/com/github/dockerjava/api/command/CreateImageCmd.java b/src/main/java/com/github/dockerjava/api/command/CreateImageCmd.java index 93b00efac..66df49c98 100644 --- a/src/main/java/com/github/dockerjava/api/command/CreateImageCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/CreateImageCmd.java @@ -2,20 +2,25 @@ import java.io.InputStream; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + public interface CreateImageCmd extends SyncDockerCmd { + @CheckForNull public String getRepository(); - // TODO remove method + @CheckForNull public String getTag(); + @CheckForNull public InputStream getImageStream(); /** * @param repository * the repository to import to */ - public CreateImageCmd withRepository(String repository); + public CreateImageCmd withRepository(@Nonnull String repository); /** * @param imageStream diff --git a/src/main/java/com/github/dockerjava/api/command/EventsCmd.java b/src/main/java/com/github/dockerjava/api/command/EventsCmd.java index e1e57c534..4020a8e72 100644 --- a/src/main/java/com/github/dockerjava/api/command/EventsCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/EventsCmd.java @@ -1,5 +1,7 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; + import com.github.dockerjava.api.model.Event; import com.github.dockerjava.api.model.Filters; @@ -12,19 +14,22 @@ * - Stream events until this timestamp */ public interface EventsCmd extends AsyncDockerCmd { - public EventsCmd withSince(String since); - public EventsCmd withUntil(String until); + @CheckForNull + public Filters getFilters(); + @CheckForNull public String getSince(); + @CheckForNull public String getUntil(); - public Filters getFilters(); - public EventsCmd withFilters(Filters filters); - public static interface Exec extends DockerCmdAsyncExec { + public EventsCmd withSince(String since); + public EventsCmd withUntil(String until); + + public static interface Exec extends DockerCmdAsyncExec { } } diff --git a/src/main/java/com/github/dockerjava/api/command/ExecCreateCmd.java b/src/main/java/com/github/dockerjava/api/command/ExecCreateCmd.java index 8094f371e..67ffe5818 100644 --- a/src/main/java/com/github/dockerjava/api/command/ExecCreateCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/ExecCreateCmd.java @@ -1,37 +1,38 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + public interface ExecCreateCmd extends SyncDockerCmd { + @CheckForNull public String getContainerId(); - public ExecCreateCmd withContainerId(String containerId); - - public ExecCreateCmd withCmd(String... cmd); - - public ExecCreateCmd withAttachStdin(boolean attachStdin); + @CheckForNull + public Boolean hasAttachStderrEnabled(); - public ExecCreateCmd withAttachStdin(); + @CheckForNull + public Boolean hasAttachStdinEnabled(); - public boolean hasAttachStdinEnabled(); + @CheckForNull + public Boolean hasAttachStdoutEnabled(); - public ExecCreateCmd withAttachStdout(boolean attachStdout); + @CheckForNull + public Boolean hasTtyEnabled(); - public ExecCreateCmd withAttachStdout(); + public ExecCreateCmd withAttachStderr(Boolean attachStderr); - public boolean hasAttachStdoutEnabled(); + public ExecCreateCmd withAttachStdin(Boolean attachStdin); - public ExecCreateCmd withAttachStderr(boolean attachStderr); + public ExecCreateCmd withAttachStdout(Boolean attachStdout); - public ExecCreateCmd withAttachStderr(); - - public boolean hasAttachStderrEnabled(); - - public ExecCreateCmd withTty(boolean tty); + public ExecCreateCmd withCmd(String... cmd); - public ExecCreateCmd withTty(); + public ExecCreateCmd withContainerId(@Nonnull String containerId); - public boolean hasTtyEnabled(); + public ExecCreateCmd withTty(Boolean tty); public static interface Exec extends DockerCmdSyncExec { } + } diff --git a/src/main/java/com/github/dockerjava/api/command/ExecStartCmd.java b/src/main/java/com/github/dockerjava/api/command/ExecStartCmd.java index f769fb193..c9e0d3f00 100644 --- a/src/main/java/com/github/dockerjava/api/command/ExecStartCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/ExecStartCmd.java @@ -2,25 +2,27 @@ import java.io.InputStream; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.NotFoundException; public interface ExecStartCmd extends SyncDockerCmd { + @CheckForNull public String getExecId(); - public ExecStartCmd withExecId(String execId); - - public boolean hasDetachEnabled(); + @CheckForNull + public Boolean hasDetachEnabled(); - public ExecStartCmd withDetach(boolean detach); + @CheckForNull + public Boolean hasTtyEnabled(); - public ExecStartCmd withDetach(); + public ExecStartCmd withDetach(Boolean detach); - public boolean hasTtyEnabled(); + public ExecStartCmd withExecId(@Nonnull String execId); - public ExecStartCmd withTty(boolean tty); - - public ExecStartCmd withTty(); + public ExecStartCmd withTty(Boolean tty); /** * Its the responsibility of the caller to consume and/or close the {@link InputStream} to prevent connection leaks. @@ -33,4 +35,5 @@ public interface ExecStartCmd extends SyncDockerCmd { public static interface Exec extends DockerCmdSyncExec { } + } diff --git a/src/main/java/com/github/dockerjava/api/command/InspectContainerCmd.java b/src/main/java/com/github/dockerjava/api/command/InspectContainerCmd.java index d9988085f..875ed7c32 100644 --- a/src/main/java/com/github/dockerjava/api/command/InspectContainerCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/InspectContainerCmd.java @@ -1,12 +1,16 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.NotFoundException; public interface InspectContainerCmd extends SyncDockerCmd { + @CheckForNull public String getContainerId(); - public InspectContainerCmd withContainerId(String containerId); + public InspectContainerCmd withContainerId(@Nonnull String containerId); /** * @throws NotFoundException @@ -17,5 +21,4 @@ public interface InspectContainerCmd extends SyncDockerCmd { } - } \ No newline at end of file diff --git a/src/main/java/com/github/dockerjava/api/command/InspectContainerResponse.java b/src/main/java/com/github/dockerjava/api/command/InspectContainerResponse.java index 3f2fedd77..e37e28471 100644 --- a/src/main/java/com/github/dockerjava/api/command/InspectContainerResponse.java +++ b/src/main/java/com/github/dockerjava/api/command/InspectContainerResponse.java @@ -178,7 +178,7 @@ public class NetworkSettings { private String ipAddress; @JsonProperty("IPPrefixLen") - private int ipPrefixLen; + private Integer ipPrefixLen; @JsonProperty("Gateway") private String gateway; @@ -196,7 +196,7 @@ public String getIpAddress() { return ipAddress; } - public int getIpPrefixLen() { + public Integer getIpPrefixLen() { return ipPrefixLen; } @@ -226,16 +226,16 @@ public String toString() { public class ContainerState { @JsonProperty("Running") - private boolean running; + private Boolean running; @JsonProperty("Paused") - private boolean paused; + private Boolean paused; @JsonProperty("Pid") - private int pid; + private Integer pid; @JsonProperty("ExitCode") - private int exitCode; + private Integer exitCode; @JsonProperty("StartedAt") private String startedAt; @@ -243,19 +243,19 @@ public class ContainerState { @JsonProperty("FinishedAt") private String finishedAt; - public boolean isRunning() { + public Boolean isRunning() { return running; } - public boolean isPaused() { + public Boolean isPaused() { return paused; } - public int getPid() { + public Integer getPid() { return pid; } - public int getExitCode() { + public Integer getExitCode() { return exitCode; } diff --git a/src/main/java/com/github/dockerjava/api/command/InspectExecCmd.java b/src/main/java/com/github/dockerjava/api/command/InspectExecCmd.java index 36ce45fc5..4abc73e79 100644 --- a/src/main/java/com/github/dockerjava/api/command/InspectExecCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/InspectExecCmd.java @@ -1,11 +1,16 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.NotFoundException; public interface InspectExecCmd extends SyncDockerCmd { + + @CheckForNull public String getExecId(); - public InspectExecCmd withExecId(String execId); + public InspectExecCmd withExecId(@Nonnull String execId); /** * @throws NotFoundException diff --git a/src/main/java/com/github/dockerjava/api/command/InspectExecResponse.java b/src/main/java/com/github/dockerjava/api/command/InspectExecResponse.java index 8a9a24a1b..b1cb09b20 100644 --- a/src/main/java/com/github/dockerjava/api/command/InspectExecResponse.java +++ b/src/main/java/com/github/dockerjava/api/command/InspectExecResponse.java @@ -13,41 +13,41 @@ public class InspectExecResponse { private String id; @JsonProperty("OpenStdin") - private boolean openStdin; + private Boolean openStdin; @JsonProperty("OpenStderr") - private boolean openStderr; + private Boolean openStderr; @JsonProperty("OpenStdout") - private boolean openStdout; + private Boolean openStdout; @JsonProperty("Running") - private boolean running; + private Boolean running; @JsonProperty("ExitCode") - private int exitCode; + private Integer exitCode; public String getId() { return id; } - public boolean isOpenStdin() { + public Boolean isOpenStdin() { return openStdin; } - public boolean isOpenStderr() { + public Boolean isOpenStderr() { return openStderr; } - public boolean isOpenStdout() { + public Boolean isOpenStdout() { return openStdout; } - public boolean isRunning() { + public Boolean isRunning() { return running; } - public int getExitCode() { + public Integer getExitCode() { return exitCode; } @@ -65,10 +65,10 @@ public class ProcessConfig { private String entryPoint; @JsonProperty("privileged") - private boolean privileged; + private Boolean privileged; @JsonProperty("tty") - private boolean tty; + private Boolean tty; @JsonProperty("user") private String user; @@ -81,11 +81,11 @@ public String getEntryPoint() { return entryPoint; } - public boolean isPrivileged() { + public Boolean isPrivileged() { return privileged; } - public boolean isTty() { + public Boolean isTty() { return tty; } diff --git a/src/main/java/com/github/dockerjava/api/command/InspectImageCmd.java b/src/main/java/com/github/dockerjava/api/command/InspectImageCmd.java index 6eaea9075..54ae3c228 100644 --- a/src/main/java/com/github/dockerjava/api/command/InspectImageCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/InspectImageCmd.java @@ -1,5 +1,8 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.NotFoundException; /** @@ -7,9 +10,10 @@ */ public interface InspectImageCmd extends SyncDockerCmd { + @CheckForNull public String getImageId(); - public InspectImageCmd withImageId(String imageId); + public InspectImageCmd withImageId(@Nonnull String imageId); /** * @throws NotFoundException diff --git a/src/main/java/com/github/dockerjava/api/command/InspectImageResponse.java b/src/main/java/com/github/dockerjava/api/command/InspectImageResponse.java index 5c1a0185e..db9184c6d 100644 --- a/src/main/java/com/github/dockerjava/api/command/InspectImageResponse.java +++ b/src/main/java/com/github/dockerjava/api/command/InspectImageResponse.java @@ -48,7 +48,7 @@ public class InspectImageResponse { private String parent; @JsonProperty("Size") - private long size; + private Long size; public String getId() { return id; @@ -70,7 +70,7 @@ public ContainerConfig getContainerConfig() { return containerConfig; } - public long getSize() { + public Long getSize() { return size; } diff --git a/src/main/java/com/github/dockerjava/api/command/KillContainerCmd.java b/src/main/java/com/github/dockerjava/api/command/KillContainerCmd.java index 513bf09c5..c751506a5 100644 --- a/src/main/java/com/github/dockerjava/api/command/KillContainerCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/KillContainerCmd.java @@ -1,5 +1,8 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.NotFoundException; /** @@ -7,11 +10,13 @@ */ public interface KillContainerCmd extends SyncDockerCmd { + @CheckForNull public String getContainerId(); + @CheckForNull public String getSignal(); - public KillContainerCmd withContainerId(String containerId); + public KillContainerCmd withContainerId(@Nonnull String containerId); public KillContainerCmd withSignal(String signal); diff --git a/src/main/java/com/github/dockerjava/api/command/ListContainersCmd.java b/src/main/java/com/github/dockerjava/api/command/ListContainersCmd.java index 5cba11755..cec5f66c2 100644 --- a/src/main/java/com/github/dockerjava/api/command/ListContainersCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/ListContainersCmd.java @@ -2,6 +2,8 @@ import java.util.List; +import javax.annotation.CheckForNull; + import com.github.dockerjava.api.model.Container; import com.github.dockerjava.api.model.Filters; @@ -22,29 +24,35 @@ */ public interface ListContainersCmd extends SyncDockerCmd> { - public int getLimit(); + @CheckForNull + public String getBeforeId(); - public boolean hasShowSizeEnabled(); + @CheckForNull + public Filters getFilters(); - public boolean hasShowAllEnabled(); + @CheckForNull + public Integer getLimit(); + @CheckForNull public String getSinceId(); - public String getBeforeId(); + @CheckForNull + public Boolean hasShowAllEnabled(); - public Filters getFilters(); + @CheckForNull + public Boolean hasShowSizeEnabled(); - public ListContainersCmd withShowAll(boolean showAll); + public ListContainersCmd withBefore(String before); - public ListContainersCmd withShowSize(boolean showSize); + public ListContainersCmd withFilters(Filters filters); - public ListContainersCmd withLimit(int limit); + public ListContainersCmd withLimit(Integer limit); - public ListContainersCmd withSince(String since); + public ListContainersCmd withShowAll(Boolean showAll); - public ListContainersCmd withBefore(String before); + public ListContainersCmd withShowSize(Boolean showSize); - public ListContainersCmd withFilters(Filters filters); + public ListContainersCmd withSince(String since); public static interface Exec extends DockerCmdSyncExec> { } diff --git a/src/main/java/com/github/dockerjava/api/command/ListImagesCmd.java b/src/main/java/com/github/dockerjava/api/command/ListImagesCmd.java index 170ed8102..481bf7e49 100644 --- a/src/main/java/com/github/dockerjava/api/command/ListImagesCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/ListImagesCmd.java @@ -2,6 +2,8 @@ import java.util.List; +import javax.annotation.CheckForNull; + import com.github.dockerjava.api.model.Image; /** @@ -14,11 +16,13 @@ */ public interface ListImagesCmd extends SyncDockerCmd> { + @CheckForNull public String getFilters(); - public boolean hasShowAllEnabled(); + @CheckForNull + public Boolean hasShowAllEnabled(); - public ListImagesCmd withShowAll(boolean showAll); + public ListImagesCmd withShowAll(Boolean showAll); public ListImagesCmd withFilters(String filters); diff --git a/src/main/java/com/github/dockerjava/api/command/LogContainerCmd.java b/src/main/java/com/github/dockerjava/api/command/LogContainerCmd.java index 4c09d1f44..f06a715cb 100644 --- a/src/main/java/com/github/dockerjava/api/command/LogContainerCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/LogContainerCmd.java @@ -2,6 +2,9 @@ import java.io.InputStream; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.DockerClient; import com.github.dockerjava.api.model.Frame; @@ -24,51 +27,47 @@ */ public interface LogContainerCmd extends AsyncDockerCmd { + @CheckForNull public String getContainerId(); - public int getTail(); - - public boolean hasFollowStreamEnabled(); + @CheckForNull + public Integer getTail(); - public boolean hasTimestampsEnabled(); + @CheckForNull + public Boolean hasFollowStreamEnabled(); - public boolean hasStdoutEnabled(); + @CheckForNull + public Boolean hasTimestampsEnabled(); - public boolean hasStderrEnabled(); + @CheckForNull + public Boolean hasStdoutEnabled(); - public int getSince(); + @CheckForNull + public Boolean hasStderrEnabled(); - public LogContainerCmd withContainerId(String containerId); + @CheckForNull + public Integer getSince(); - /** - * See {@link #withFollowStream(boolean)} - */ - public LogContainerCmd withFollowStream(); + public LogContainerCmd withContainerId(@Nonnull String containerId); /** * Following the stream means the resulting {@link InputStream} returned by {@link #exec()} reads infinitely. So a * {@link InputStream#read()} MAY BLOCK FOREVER as long as no data is streamed from the docker host to * {@link DockerClient}! */ - public LogContainerCmd withFollowStream(boolean followStream); - - public LogContainerCmd withTimestamps(); - - public LogContainerCmd withTimestamps(boolean timestamps); - - public LogContainerCmd withStdOut(); + public LogContainerCmd withFollowStream(Boolean followStream); - public LogContainerCmd withStdOut(boolean stdout); + public LogContainerCmd withTimestamps(Boolean timestamps); - public LogContainerCmd withStdErr(); + public LogContainerCmd withStdOut(Boolean stdout); - public LogContainerCmd withStdErr(boolean stderr); + public LogContainerCmd withStdErr(Boolean stderr); public LogContainerCmd withTailAll(); - public LogContainerCmd withTail(int tail); + public LogContainerCmd withTail(Integer tail); - public LogContainerCmd withSince(int since); + public LogContainerCmd withSince(Integer since); public static interface Exec extends DockerCmdAsyncExec { } diff --git a/src/main/java/com/github/dockerjava/api/command/PauseContainerCmd.java b/src/main/java/com/github/dockerjava/api/command/PauseContainerCmd.java index 21039bb42..be179a5c4 100644 --- a/src/main/java/com/github/dockerjava/api/command/PauseContainerCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/PauseContainerCmd.java @@ -1,5 +1,8 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.NotFoundException; /** @@ -11,9 +14,10 @@ */ public interface PauseContainerCmd extends SyncDockerCmd { + @CheckForNull public String getContainerId(); - public PauseContainerCmd withContainerId(String containerId); + public PauseContainerCmd withContainerId(@Nonnull String containerId); /** * @throws NotFoundException diff --git a/src/main/java/com/github/dockerjava/api/command/PullImageCmd.java b/src/main/java/com/github/dockerjava/api/command/PullImageCmd.java index 53edbe9a4..641258fd1 100644 --- a/src/main/java/com/github/dockerjava/api/command/PullImageCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/PullImageCmd.java @@ -1,5 +1,8 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.model.AuthConfig; import com.github.dockerjava.api.model.PullResponseItem; @@ -10,15 +13,18 @@ */ public interface PullImageCmd extends AsyncDockerCmd { + @CheckForNull public String getRepository(); + @CheckForNull public String getTag(); + @CheckForNull public String getRegistry(); public AuthConfig getAuthConfig(); - public PullImageCmd withRepository(String repository); + public PullImageCmd withRepository(@Nonnull String repository); public PullImageCmd withTag(String tag); diff --git a/src/main/java/com/github/dockerjava/api/command/PushImageCmd.java b/src/main/java/com/github/dockerjava/api/command/PushImageCmd.java index 9b8c55918..3fddd0dba 100644 --- a/src/main/java/com/github/dockerjava/api/command/PushImageCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/PushImageCmd.java @@ -1,5 +1,8 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.NotFoundException; import com.github.dockerjava.api.async.ResultCallback; import com.github.dockerjava.api.model.AuthConfig; @@ -13,15 +16,20 @@ */ public interface PushImageCmd extends AsyncDockerCmd { + @CheckForNull + public AuthConfig getAuthConfig(); + + @CheckForNull public String getName(); + @CheckForNull public String getTag(); /** * @param name * The name, e.g. "alexec/busybox" or just "busybox" if you want to default. Not null. */ - public PushImageCmd withName(String name); + public PushImageCmd withName(@Nonnull String name); /** * @param tag @@ -29,8 +37,6 @@ public interface PushImageCmd extends AsyncDockerCmd { + @CheckForNull public String getContainerId(); - public boolean hasRemoveVolumesEnabled(); - - public boolean hasForceEnabled(); + @CheckForNull + public Boolean hasRemoveVolumesEnabled(); - public RemoveContainerCmd withContainerId(String containerId); + @CheckForNull + public Boolean hasForceEnabled(); - public RemoveContainerCmd withRemoveVolumes(boolean removeVolumes); + public RemoveContainerCmd withContainerId(@Nonnull String containerId); - public RemoveContainerCmd withForce(); + public RemoveContainerCmd withRemoveVolumes(Boolean removeVolumes); - public RemoveContainerCmd withForce(boolean force); + public RemoveContainerCmd withForce(Boolean force); /** * @throws NotFoundException diff --git a/src/main/java/com/github/dockerjava/api/command/RemoveImageCmd.java b/src/main/java/com/github/dockerjava/api/command/RemoveImageCmd.java index 99f2835f8..e2cb9ca22 100644 --- a/src/main/java/com/github/dockerjava/api/command/RemoveImageCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/RemoveImageCmd.java @@ -1,5 +1,8 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.NotFoundException; /** @@ -9,34 +12,27 @@ */ public interface RemoveImageCmd extends SyncDockerCmd { + @CheckForNull public String getImageId(); - public boolean hasForceEnabled(); - - public boolean hasNoPruneEnabled(); + @CheckForNull + public Boolean hasForceEnabled(); - public RemoveImageCmd withImageId(String imageId); + @CheckForNull + public Boolean hasNoPruneEnabled(); - /** - * force delete of an image, even if it's tagged in multiple repositories - */ - public RemoveImageCmd withForce(); + public RemoveImageCmd withImageId(@Nonnull String imageId); /** * force parameter to force delete of an image, even if it's tagged in multiple repositories */ - public RemoveImageCmd withForce(boolean force); - - /** - * prevent the deletion of parent images - */ - public RemoveImageCmd withNoPrune(); + public RemoveImageCmd withForce(Boolean force); /** * noprune parameter to prevent the deletion of parent images * */ - public RemoveImageCmd withNoPrune(boolean noPrune); + public RemoveImageCmd withNoPrune(Boolean noPrune); /** * @throws NotFoundException diff --git a/src/main/java/com/github/dockerjava/api/command/RestartContainerCmd.java b/src/main/java/com/github/dockerjava/api/command/RestartContainerCmd.java index c2a5219a8..07e8776e3 100644 --- a/src/main/java/com/github/dockerjava/api/command/RestartContainerCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/RestartContainerCmd.java @@ -1,5 +1,8 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.NotFoundException; /** @@ -11,13 +14,15 @@ */ public interface RestartContainerCmd extends SyncDockerCmd { + @CheckForNull public String getContainerId(); - public int getTimeout(); + @CheckForNull + public Integer getTimeout(); - public RestartContainerCmd withContainerId(String containerId); + public RestartContainerCmd withContainerId(@Nonnull String containerId); - public RestartContainerCmd withtTimeout(int timeout); + public RestartContainerCmd withtTimeout(Integer timeout); /** * @throws NotFoundException diff --git a/src/main/java/com/github/dockerjava/api/command/SaveImageCmd.java b/src/main/java/com/github/dockerjava/api/command/SaveImageCmd.java index 459beb047..1469eabba 100644 --- a/src/main/java/com/github/dockerjava/api/command/SaveImageCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/SaveImageCmd.java @@ -2,19 +2,24 @@ import java.io.InputStream; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.NotFoundException; public interface SaveImageCmd extends SyncDockerCmd { + @CheckForNull public String getName(); + @CheckForNull public String getTag(); /** * @param name * The name, e.g. "alexec/busybox" or just "busybox" if you want to default. Not null. */ - public SaveImageCmd withName(String name); + public SaveImageCmd withName(@Nonnull String name); /** * @param tag diff --git a/src/main/java/com/github/dockerjava/api/command/SearchImagesCmd.java b/src/main/java/com/github/dockerjava/api/command/SearchImagesCmd.java index a1229da9c..897623517 100644 --- a/src/main/java/com/github/dockerjava/api/command/SearchImagesCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/SearchImagesCmd.java @@ -2,6 +2,9 @@ import java.util.List; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.model.SearchItem; /** @@ -13,9 +16,10 @@ */ public interface SearchImagesCmd extends SyncDockerCmd> { + @CheckForNull public String getTerm(); - public SearchImagesCmd withTerm(String term); + public SearchImagesCmd withTerm(@Nonnull String term); public static interface Exec extends DockerCmdSyncExec> { } diff --git a/src/main/java/com/github/dockerjava/api/command/StartContainerCmd.java b/src/main/java/com/github/dockerjava/api/command/StartContainerCmd.java index 0cfb3ea8e..6c64a4d29 100644 --- a/src/main/java/com/github/dockerjava/api/command/StartContainerCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/StartContainerCmd.java @@ -1,5 +1,8 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.NotFoundException; import com.github.dockerjava.api.NotModifiedException; @@ -9,12 +12,10 @@ */ public interface StartContainerCmd extends SyncDockerCmd { - public static interface Exec extends DockerCmdSyncExec { - } - + @CheckForNull String getContainerId(); - StartContainerCmd withContainerId(String containerId); + StartContainerCmd withContainerId(@Nonnull String containerId); /** * @throws NotFoundException @@ -24,4 +25,7 @@ public static interface Exec extends DockerCmdSyncExec */ @Override public Void exec() throws NotFoundException, NotModifiedException; + + public static interface Exec extends DockerCmdSyncExec { + } } diff --git a/src/main/java/com/github/dockerjava/api/command/StatsCmd.java b/src/main/java/com/github/dockerjava/api/command/StatsCmd.java index 64b38d472..653cd3bb2 100644 --- a/src/main/java/com/github/dockerjava/api/command/StatsCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/StatsCmd.java @@ -1,5 +1,8 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.model.Statistics; /** @@ -7,10 +10,12 @@ * block when a container is stopped until the container is up again. */ public interface StatsCmd extends AsyncDockerCmd { - public StatsCmd withContainerId(String containerId); + @CheckForNull public String getContainerId(); + public StatsCmd withContainerId(@Nonnull String containerId); + public static interface Exec extends DockerCmdAsyncExec { } } diff --git a/src/main/java/com/github/dockerjava/api/command/StopContainerCmd.java b/src/main/java/com/github/dockerjava/api/command/StopContainerCmd.java index dc620b699..af63c5c92 100644 --- a/src/main/java/com/github/dockerjava/api/command/StopContainerCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/StopContainerCmd.java @@ -1,5 +1,8 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.NotFoundException; import com.github.dockerjava.api.NotModifiedException; @@ -14,13 +17,15 @@ */ public interface StopContainerCmd extends SyncDockerCmd { + @CheckForNull public String getContainerId(); - public int getTimeout(); + @CheckForNull + public Integer getTimeout(); - public StopContainerCmd withContainerId(String containerId); + public StopContainerCmd withContainerId(@Nonnull String containerId); - public StopContainerCmd withTimeout(int timeout); + public StopContainerCmd withTimeout(Integer timeout); /** * @throws NotFoundException diff --git a/src/main/java/com/github/dockerjava/api/command/TagImageCmd.java b/src/main/java/com/github/dockerjava/api/command/TagImageCmd.java index 21895e358..8ceab3656 100644 --- a/src/main/java/com/github/dockerjava/api/command/TagImageCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/TagImageCmd.java @@ -1,5 +1,8 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + /** * Tag an image into a repository * @@ -13,15 +16,19 @@ */ public interface TagImageCmd extends SyncDockerCmd { + @CheckForNull public String getImageId(); + @CheckForNull public String getRepository(); + @CheckForNull public String getTag(); - public boolean hasForceEnabled(); + @CheckForNull + public Boolean hasForceEnabled(); - public TagImageCmd withImageId(String imageId); + public TagImageCmd withImageId(@Nonnull String imageId); public TagImageCmd withRepository(String repository); @@ -29,7 +36,7 @@ public interface TagImageCmd extends SyncDockerCmd { public TagImageCmd withForce(); - public TagImageCmd withForce(boolean force); + public TagImageCmd withForce(Boolean force); public static interface Exec extends DockerCmdSyncExec { } diff --git a/src/main/java/com/github/dockerjava/api/command/TopContainerCmd.java b/src/main/java/com/github/dockerjava/api/command/TopContainerCmd.java index 3e1762f1d..d3eb69c17 100644 --- a/src/main/java/com/github/dockerjava/api/command/TopContainerCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/TopContainerCmd.java @@ -1,5 +1,8 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.NotFoundException; /** @@ -7,11 +10,13 @@ */ public interface TopContainerCmd extends SyncDockerCmd { + @CheckForNull public String getContainerId(); + @CheckForNull public String getPsArgs(); - public TopContainerCmd withContainerId(String containerId); + public TopContainerCmd withContainerId(@Nonnull String containerId); public TopContainerCmd withPsArgs(String psArgs); diff --git a/src/main/java/com/github/dockerjava/api/command/UnpauseContainerCmd.java b/src/main/java/com/github/dockerjava/api/command/UnpauseContainerCmd.java index 44f5658e2..0d7892468 100644 --- a/src/main/java/com/github/dockerjava/api/command/UnpauseContainerCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/UnpauseContainerCmd.java @@ -1,5 +1,8 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.NotFoundException; /** @@ -11,9 +14,10 @@ */ public interface UnpauseContainerCmd extends SyncDockerCmd { + @CheckForNull public String getContainerId(); - public UnpauseContainerCmd withContainerId(String containerId); + public UnpauseContainerCmd withContainerId(@Nonnull String containerId); /** * @throws NotFoundException diff --git a/src/main/java/com/github/dockerjava/api/command/WaitContainerCmd.java b/src/main/java/com/github/dockerjava/api/command/WaitContainerCmd.java index f92ca655a..3192a8bf1 100644 --- a/src/main/java/com/github/dockerjava/api/command/WaitContainerCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/WaitContainerCmd.java @@ -1,5 +1,8 @@ package com.github.dockerjava.api.command; +import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import com.github.dockerjava.api.NotFoundException; import com.github.dockerjava.api.async.ResultCallback; import com.github.dockerjava.api.model.BuildResponseItem; @@ -12,9 +15,10 @@ */ public interface WaitContainerCmd extends AsyncDockerCmd { + @CheckForNull public String getContainerId(); - public WaitContainerCmd withContainerId(String containerId); + public WaitContainerCmd withContainerId(@Nonnull String containerId); /** * @throws NotFoundException @@ -26,4 +30,4 @@ public interface WaitContainerCmd extends AsyncDockerCmd { } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/dockerjava/api/model/AuthConfig.java b/src/main/java/com/github/dockerjava/api/model/AuthConfig.java index c7ee0af7f..93bf4a7bf 100644 --- a/src/main/java/com/github/dockerjava/api/model/AuthConfig.java +++ b/src/main/java/com/github/dockerjava/api/model/AuthConfig.java @@ -1,8 +1,14 @@ package com.github.dockerjava.api.model; +import org.apache.commons.lang.builder.ReflectionToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; + import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +@JsonInclude(Include.NON_NULL) public class AuthConfig { /** @@ -70,8 +76,7 @@ public void setAuth(String auth) { @Override public String toString() { - return "AuthConfig{" + "username='" + username + '\'' + ", password='" + password + '\'' + ", email='" + email - + '\'' + ", serverAddress='" + serverAddress + '\'' + '}'; + return ReflectionToStringBuilder.toString(this, ToStringStyle.SHORT_PREFIX_STYLE); } @Override diff --git a/src/main/java/com/github/dockerjava/api/model/Bind.java b/src/main/java/com/github/dockerjava/api/model/Bind.java index 60c64d096..f7f6954f5 100644 --- a/src/main/java/com/github/dockerjava/api/model/Bind.java +++ b/src/main/java/com/github/dockerjava/api/model/Bind.java @@ -39,7 +39,7 @@ public AccessMode getAccessMode() { /** * Parses a bind mount specification to a {@link Bind}. - * + * * @param serialized * the specification, e.g. /host:/container:ro * @return a {@link Bind} matching the specification @@ -85,7 +85,7 @@ public int hashCode() { * Returns a string representation of this {@link Bind} suitable for inclusion in a JSON message. The format is * <host path>:<container path>:<access mode>, like the argument in * {@link #parse(String)}. - * + * * @return a string representation of this {@link Bind} */ @Override diff --git a/src/main/java/com/github/dockerjava/api/model/ChangeLog.java b/src/main/java/com/github/dockerjava/api/model/ChangeLog.java index f565cfaa7..36804362c 100644 --- a/src/main/java/com/github/dockerjava/api/model/ChangeLog.java +++ b/src/main/java/com/github/dockerjava/api/model/ChangeLog.java @@ -17,13 +17,13 @@ public class ChangeLog { private String path; @JsonProperty("Kind") - private int kind; + private Integer kind; public String getPath() { return path; } - public int getKind() { + public Integer getKind() { return kind; } diff --git a/src/main/java/com/github/dockerjava/api/model/Container.java b/src/main/java/com/github/dockerjava/api/model/Container.java index 8152974e3..f6a7dbfd2 100644 --- a/src/main/java/com/github/dockerjava/api/model/Container.java +++ b/src/main/java/com/github/dockerjava/api/model/Container.java @@ -5,7 +5,9 @@ import org.apache.commons.lang.builder.ToStringBuilder; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonInclude.Include; /** * @@ -13,13 +15,14 @@ * */ @JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(Include.NON_NULL) public class Container { @JsonProperty("Command") private String command; @JsonProperty("Created") - private long created; + private Long created; @JsonProperty("Id") private String id; @@ -51,7 +54,7 @@ public String getImage() { return image; } - public long getCreated() { + public Long getCreated() { return created; } diff --git a/src/main/java/com/github/dockerjava/api/model/ContainerConfig.java b/src/main/java/com/github/dockerjava/api/model/ContainerConfig.java index 34cb71d4d..7c527dfe2 100644 --- a/src/main/java/com/github/dockerjava/api/model/ContainerConfig.java +++ b/src/main/java/com/github/dockerjava/api/model/ContainerConfig.java @@ -6,7 +6,9 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonInclude.Include; /** * @@ -14,25 +16,26 @@ * */ @JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(Include.NON_NULL) public class ContainerConfig { @JsonProperty("AttachStderr") - private boolean attachStderr = false; + private Boolean attachStderr; @JsonProperty("AttachStdin") - private boolean attachStdin = false; + private Boolean attachStdin; @JsonProperty("AttachStdout") - private boolean attachStdout = false; + private Boolean attachStdout; @JsonProperty("Cmd") private String[] cmd; @JsonProperty("Domainname") - private String domainName = ""; + private String domainName; @JsonProperty("Entrypoint") - private String[] entrypoint = new String[] {}; + private String[] entrypoint; @JsonProperty("Env") private String[] env; @@ -41,7 +44,7 @@ public class ContainerConfig { private ExposedPorts exposedPorts; @JsonProperty("Hostname") - private String hostName = ""; + private String hostName; @JsonProperty("Image") private String image; @@ -53,38 +56,38 @@ public class ContainerConfig { private String macAddress; @JsonProperty("NetworkDisabled") - private boolean networkDisabled = false; + private Boolean networkDisabled; @JsonProperty("OnBuild") private String[] onBuild; @JsonProperty("OpenStdin") - private boolean stdinOpen = false; + private Boolean stdinOpen; @JsonProperty("PortSpecs") private String[] portSpecs; @JsonProperty("StdinOnce") - private boolean stdInOnce = false; + private Boolean stdInOnce; @JsonProperty("Tty") - private boolean tty = false; + private Boolean tty; @JsonProperty("User") - private String user = ""; + private String user; @JsonProperty("Volumes") private Map volumes; @JsonProperty("WorkingDir") - private String workingDir = ""; + private String workingDir; @JsonIgnore public ExposedPort[] getExposedPorts() { return exposedPorts.getExposedPorts(); } - public boolean isNetworkDisabled() { + public Boolean isNetworkDisabled() { return networkDisabled; } @@ -108,15 +111,15 @@ public String getUser() { return user; } - public boolean isTty() { + public Boolean isTty() { return tty; } - public boolean isStdinOpen() { + public Boolean isStdinOpen() { return stdinOpen; } - public boolean isStdInOnce() { + public Boolean isStdInOnce() { return stdInOnce; } @@ -124,15 +127,15 @@ public String getMacAddress() { return macAddress; } - public boolean isAttachStdin() { + public Boolean isAttachStdin() { return attachStdin; } - public boolean isAttachStdout() { + public Boolean isAttachStdout() { return attachStdout; } - public boolean isAttachStderr() { + public Boolean isAttachStderr() { return attachStderr; } diff --git a/src/main/java/com/github/dockerjava/api/model/Device.java b/src/main/java/com/github/dockerjava/api/model/Device.java index 713c0d61a..71402dd68 100644 --- a/src/main/java/com/github/dockerjava/api/model/Device.java +++ b/src/main/java/com/github/dockerjava/api/model/Device.java @@ -5,8 +5,11 @@ import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; +import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +@JsonInclude(Include.NON_NULL) public class Device { @JsonProperty("CgroupPermissions") diff --git a/src/main/java/com/github/dockerjava/api/model/DriverStatus.java b/src/main/java/com/github/dockerjava/api/model/DriverStatus.java index 303e820ba..0bef3c28d 100644 --- a/src/main/java/com/github/dockerjava/api/model/DriverStatus.java +++ b/src/main/java/com/github/dockerjava/api/model/DriverStatus.java @@ -3,25 +3,28 @@ import org.apache.commons.lang.builder.ToStringBuilder; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonInclude.Include; /** * Created by ben on 12/12/13. */ @JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(Include.NON_NULL) public class DriverStatus { @JsonProperty("Root Dir") private String rootDir; @JsonProperty("Dirs") - private int dirs; + private Integer dirs; public String getRootDir() { return rootDir; } - public int getDirs() { + public Integer getDirs() { return dirs; } diff --git a/src/main/java/com/github/dockerjava/api/model/ErrorDetail.java b/src/main/java/com/github/dockerjava/api/model/ErrorDetail.java index 8abffe6c4..5f8c01670 100644 --- a/src/main/java/com/github/dockerjava/api/model/ErrorDetail.java +++ b/src/main/java/com/github/dockerjava/api/model/ErrorDetail.java @@ -1,7 +1,10 @@ package com.github.dockerjava.api.model; +import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +@JsonInclude(Include.NON_NULL) public class ErrorDetail { @JsonProperty private String message; diff --git a/src/main/java/com/github/dockerjava/api/model/ErrorResponse.java b/src/main/java/com/github/dockerjava/api/model/ErrorResponse.java index d589a31d1..6723cd070 100644 --- a/src/main/java/com/github/dockerjava/api/model/ErrorResponse.java +++ b/src/main/java/com/github/dockerjava/api/model/ErrorResponse.java @@ -1,7 +1,10 @@ package com.github.dockerjava.api.model; +import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +@JsonInclude(Include.NON_NULL) public class ErrorResponse { @JsonProperty private ErrorDetail errorDetail; diff --git a/src/main/java/com/github/dockerjava/api/model/Event.java b/src/main/java/com/github/dockerjava/api/model/Event.java index 8d3877ff2..1ec0f433d 100644 --- a/src/main/java/com/github/dockerjava/api/model/Event.java +++ b/src/main/java/com/github/dockerjava/api/model/Event.java @@ -3,11 +3,14 @@ import org.apache.commons.lang.builder.ToStringBuilder; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; /** * Representation of a Docker event. */ @JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(Include.NON_NULL) public class Event { private String status; @@ -15,7 +18,7 @@ public class Event { private String from; - private long time; + private Long time; @JsonIgnoreProperties private Node node; @@ -41,7 +44,7 @@ public Event() { * Event time The time is specified in milliseconds since January 1, 1970, 00:00:00 GMT * @since TODO */ - public Event(String status, String id, String from, long time) { + public Event(String status, String id, String from, Long time) { this.status = status; this.id = id; this.from = from; @@ -82,7 +85,7 @@ public String getFrom() { * * @return Event time in the specified format. */ - public long getTime() { + public Long getTime() { return time; } diff --git a/src/main/java/com/github/dockerjava/api/model/ExposedPort.java b/src/main/java/com/github/dockerjava/api/model/ExposedPort.java index 23510e50a..4dbdbe19b 100644 --- a/src/main/java/com/github/dockerjava/api/model/ExposedPort.java +++ b/src/main/java/com/github/dockerjava/api/model/ExposedPort.java @@ -38,7 +38,7 @@ public class ExposedPort { /** * Creates an {@link ExposedPort} for the given parameters. - * + * * @param port * the {@link #getPort() port number} * @param protocol @@ -51,7 +51,7 @@ public ExposedPort(int port, InternetProtocol protocol) { /** * Creates an {@link ExposedPort} for the given {@link #getPort() port number} and {@link InternetProtocol#DEFAULT}. - * + * * @param port * the {@link #getPort() port number} */ @@ -61,7 +61,7 @@ public ExposedPort(int port) { /** * Creates an {@link ExposedPort} for the given parameters. - * + * * @param scheme * the {@link #getScheme() scheme}, tcp or udp * @param port @@ -112,7 +112,7 @@ public static ExposedPort udp(int port) { /** * Parses a textual port specification (as used by the Docker CLI) to an {@link ExposedPort}. - * + * * @param serialized * the specification, e.g. 80/tcp * @return an {@link ExposedPort} matching the specification @@ -138,7 +138,7 @@ public static ExposedPort parse(String serialized) throws IllegalArgumentExcepti /** * Returns a string representation of this {@link ExposedPort} suitable for inclusion in a JSON message. The format * is port/protocol, like the argument in {@link #parse(String)}. - * + * * @return a string representation of this {@link ExposedPort} */ @Override 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 cbb6e84de..35e51927b 100644 --- a/src/main/java/com/github/dockerjava/api/model/HostConfig.java +++ b/src/main/java/com/github/dockerjava/api/model/HostConfig.java @@ -4,36 +4,45 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonProperty; import javax.annotation.CheckForNull; @JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(Include.NON_NULL) public class HostConfig { @JsonProperty("Binds") private Binds binds; - @JsonProperty("Links") - private Links links; + @JsonProperty("BlkioWeight") + private Integer blkioWeight; - @JsonProperty("LxcConf") - private LxcConf[] lxcConf; + @JsonProperty("CapAdd") + private Capability[] capAdd; - @JsonProperty("LogConfig") - private LogConfig logConfig; + @JsonProperty("CapDrop") + private Capability[] capDrop; - @JsonProperty("PortBindings") - private Ports portBindings; + @JsonProperty("ContainerIDFile") + private String containerIDFile; - @JsonProperty("PublishAllPorts") - private boolean publishAllPorts; + @JsonProperty("CpuPeriod") + private Integer cpuPeriod; - @JsonProperty("Privileged") - private boolean privileged; + @JsonProperty("CpuShares") + private Integer cpuShares; - @JsonProperty("ReadonlyRootfs") - private boolean readonlyRootfs; + @JsonProperty("CpusetCpus") + private String cpusetCpus; + + @JsonProperty("CpusetMems") + private String cpusetMems; + + @JsonProperty("Devices") + private Device[] devices; @JsonProperty("Dns") private String[] dns; @@ -41,164 +50,163 @@ public class HostConfig { @JsonProperty("DnsSearch") private String[] dnsSearch; - @JsonProperty("VolumesFrom") - private VolumesFrom[] volumesFrom; + @JsonProperty("ExtraHosts") + private String[] extraHosts; - @JsonProperty("ContainerIDFile") - private String containerIDFile; + @JsonProperty("Links") + private Links links; - @JsonProperty("CapAdd") - private Capability[] capAdd; + @JsonProperty("LogConfig") + private LogConfig logConfig; - @JsonProperty("CapDrop") - private Capability[] capDrop; + @JsonProperty("LxcConf") + private LxcConf[] lxcConf; - @JsonProperty("RestartPolicy") - private RestartPolicy restartPolicy; + @JsonProperty("Memory") + private Long memory; + + @JsonProperty("MemorySwap") + private Long memorySwap; @JsonProperty("NetworkMode") private String networkMode; - @JsonProperty("Devices") - private Device[] devices; + @JsonProperty("OomKillDisable") + private Boolean oomKillDisable; - @JsonProperty("ExtraHosts") - private String[] extraHosts; + @JsonProperty("PortBindings") + private Ports portBindings; - @JsonProperty("Ulimits") - private Ulimit[] ulimits; + @JsonProperty("Privileged") + private Boolean privileged; - @JsonProperty("Memory") - private long memoryLimit = 0; + @JsonProperty("PublishAllPorts") + private Boolean publishAllPorts; - @JsonProperty("MemorySwap") - private long memorySwap = 0; + @JsonProperty("ReadonlyRootfs") + private Boolean readonlyRootfs; - @JsonProperty("CpuShares") - private int cpuShares = 0; + @JsonProperty("RestartPolicy") + private RestartPolicy restartPolicy; - @JsonProperty("PidMode") - private String pidMode; + @JsonProperty("Ulimits") + private Ulimit[] ulimits; - public HostConfig() { - } + @JsonProperty("VolumesFrom") + private VolumesFrom[] volumesFrom; - public HostConfig(Bind[] binds, Link[] links, LxcConf[] lxcConf, LogConfig logConfig, Ports portBindings, - boolean publishAllPorts, boolean privileged, boolean readonlyRootfs, String[] dns, String[] dnsSearch, - VolumesFrom[] volumesFrom, String containerIDFile, Capability[] capAdd, Capability[] capDrop, - RestartPolicy restartPolicy, String networkMode, Device[] devices, String[] extraHosts, Ulimit[] ulimits, - String pidMode) { - this.binds = new Binds(binds); - this.links = new Links(links); - this.lxcConf = lxcConf; - this.logConfig = logConfig; - this.portBindings = portBindings; - this.publishAllPorts = publishAllPorts; - this.privileged = privileged; - this.readonlyRootfs = readonlyRootfs; - this.dns = dns; - this.dnsSearch = dnsSearch; - this.volumesFrom = volumesFrom; - this.containerIDFile = containerIDFile; - this.capAdd = capAdd; - this.capDrop = capDrop; - this.restartPolicy = restartPolicy; - this.networkMode = networkMode; - this.devices = devices; - this.extraHosts = extraHosts; - this.ulimits = ulimits; - this.pidMode = pidMode; - } + @JsonProperty("PidMode") + private String pidMode; @JsonIgnore public Bind[] getBinds() { return (binds == null) ? new Bind[0] : binds.getBinds(); } - public LxcConf[] getLxcConf() { - return lxcConf; + public Integer getBlkioWeight() { + return blkioWeight; } - @JsonIgnore - public LogConfig getLogConfig() { - return (logConfig == null) ? new LogConfig() : logConfig; + public Capability[] getCapAdd() { + return capAdd; } - public Ports getPortBindings() { - return portBindings; + public Capability[] getCapDrop() { + return capDrop; } - public boolean isPublishAllPorts() { - return publishAllPorts; + public String getContainerIDFile() { + return containerIDFile; } - public boolean isPrivileged() { - return privileged; + public Integer getCpuPeriod() { + return cpuPeriod; } - public boolean isReadonlyRootfs() { - return readonlyRootfs; + public Integer getCpuShares() { + return cpuShares; } - public String[] getDns() { - return dns; + public String getCpusetCpus() { + return cpusetCpus; } - public VolumesFrom[] getVolumesFrom() { - return volumesFrom; + public String getCpusetMems() { + return cpusetMems; } - public String getContainerIDFile() { - return containerIDFile; + public Device[] getDevices() { + return devices; + } + + public String[] getDns() { + return dns; } public String[] getDnsSearch() { return dnsSearch; } + public String[] getExtraHosts() { + return extraHosts; + } + @JsonIgnore public Link[] getLinks() { return (links == null) ? new Link[0] : links.getLinks(); } - public String getNetworkMode() { - return networkMode; + @JsonIgnore + public LogConfig getLogConfig() { + return (logConfig == null) ? new LogConfig() : logConfig; } - public Device[] getDevices() { - return devices; + public LxcConf[] getLxcConf() { + return lxcConf; } - public String[] getExtraHosts() { - return extraHosts; + public Long getMemory() { + return memory; } - public RestartPolicy getRestartPolicy() { - return restartPolicy; + public Long getMemorySwap() { + return memorySwap; } - public Capability[] getCapAdd() { - return capAdd; + public String getNetworkMode() { + return networkMode; } - public Capability[] getCapDrop() { - return capDrop; + public Ports getPortBindings() { + return portBindings; + } + + public RestartPolicy getRestartPolicy() { + return restartPolicy; } public Ulimit[] getUlimits() { return ulimits; } - public long getMemoryLimit() { - return memoryLimit; + public VolumesFrom[] getVolumesFrom() { + return volumesFrom; } - public long getMemorySwap() { - return memorySwap; + public Boolean isOomKillDisable() { + return oomKillDisable; } - public int getCpuShares() { - return cpuShares; + public Boolean isPrivileged() { + return privileged; + } + + public Boolean isPublishAllPorts() { + return publishAllPorts; + } + + public Boolean isReadonlyRootfs() { + return readonlyRootfs; } @CheckForNull @@ -211,34 +219,40 @@ public void setBinds(Bind... binds) { this.binds = new Binds(binds); } - @JsonIgnore - public void setLinks(Link... links) { - this.links = new Links(links); + public void setBlkioWeight(Integer blkioWeight) { + this.blkioWeight = blkioWeight; } - public void setLxcConf(LxcConf[] lxcConf) { - this.lxcConf = lxcConf; + public void setCpuPeriod(Integer cpuPeriod) { + this.cpuPeriod = cpuPeriod; } - @JsonIgnore - public void setLogConfig(LogConfig logConfig) { - this.logConfig = logConfig; + public void setCpuShares(Integer cpuShares) { + this.cpuShares = cpuShares; } - public void setPortBindings(Ports portBindings) { - this.portBindings = portBindings; + public void setCpusetCpus(String cpusetCpus) { + this.cpusetCpus = cpusetCpus; } - public void setPublishAllPorts(boolean publishAllPorts) { - this.publishAllPorts = publishAllPorts; + public void setCpusetMems(String cpusetMems) { + this.cpusetMems = cpusetMems; } - public void setPrivileged(boolean privileged) { - this.privileged = privileged; + public void setCapAdd(Capability[] capAdd) { + this.capAdd = capAdd; } - public void setReadonlyRootfs(boolean readonlyRootfs) { - this.readonlyRootfs = readonlyRootfs; + public void setCapDrop(Capability[] capDrop) { + this.capDrop = capDrop; + } + + public void setContainerIDFile(String containerIDFile) { + this.containerIDFile = containerIDFile; + } + + public void setDevices(Device[] devices) { + this.devices = devices; } public void setDns(String[] dns) { @@ -249,42 +263,68 @@ public void setDnsSearch(String[] dnsSearch) { this.dnsSearch = dnsSearch; } - public void setVolumesFrom(VolumesFrom[] volumesFrom) { - this.volumesFrom = volumesFrom; + public void setExtraHosts(String[] extraHosts) { + this.extraHosts = extraHosts; } - public void setContainerIDFile(String containerIDFile) { - this.containerIDFile = containerIDFile; + @JsonIgnore + public void setLinks(Link... links) { + this.links = new Links(links); } - public void setCapAdd(Capability[] capAdd) { - this.capAdd = capAdd; + @JsonIgnore + public void setLogConfig(LogConfig logConfig) { + this.logConfig = logConfig; } - public void setCapDrop(Capability[] capDrop) { - this.capDrop = capDrop; + public void setLxcConf(LxcConf[] lxcConf) { + this.lxcConf = lxcConf; } - public void setRestartPolicy(RestartPolicy restartPolicy) { - this.restartPolicy = restartPolicy; + public void setMemory(Long memory) { + this.memory = memory; + } + + public void setMemorySwap(Long memorySwap) { + this.memorySwap = memorySwap; } public void setNetworkMode(String networkMode) { this.networkMode = networkMode; } - public void setDevices(Device[] devices) { - this.devices = devices; + public void setOomKillDisable(Boolean oomKillDisable) { + this.oomKillDisable = oomKillDisable; } - public void setExtraHosts(String[] extraHosts) { - this.extraHosts = extraHosts; + public void setPortBindings(Ports portBindings) { + this.portBindings = portBindings; + } + + public void setPrivileged(Boolean privileged) { + this.privileged = privileged; + } + + public void setPublishAllPorts(Boolean publishAllPorts) { + this.publishAllPorts = publishAllPorts; + } + + public void setReadonlyRootfs(Boolean readonlyRootfs) { + this.readonlyRootfs = readonlyRootfs; + } + + public void setRestartPolicy(RestartPolicy restartPolicy) { + this.restartPolicy = restartPolicy; } public void setUlimits(Ulimit[] ulimits) { this.ulimits = ulimits; } + public void setVolumesFrom(VolumesFrom[] volumesFrom) { + this.volumesFrom = volumesFrom; + } + public void setPidMode(String pidMode) { this.pidMode = pidMode; } diff --git a/src/main/java/com/github/dockerjava/api/model/Image.java b/src/main/java/com/github/dockerjava/api/model/Image.java index 9df8aacef..3c84c9584 100644 --- a/src/main/java/com/github/dockerjava/api/model/Image.java +++ b/src/main/java/com/github/dockerjava/api/model/Image.java @@ -3,7 +3,9 @@ import org.apache.commons.lang.builder.ToStringBuilder; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonInclude.Include; /** * @@ -11,10 +13,11 @@ * */ @JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(Include.NON_NULL) public class Image { @JsonProperty("Created") - private long created; + private Long created; @JsonProperty("Id") private String id; @@ -26,10 +29,10 @@ public class Image { private String[] repoTags; @JsonProperty("Size") - private long size; + private Long size; @JsonProperty("VirtualSize") - private long virtualSize; + private Long virtualSize; public String getId() { return id; @@ -43,15 +46,15 @@ public String getParentId() { return parentId; } - public long getCreated() { + public Long getCreated() { return created; } - public long getSize() { + public Long getSize() { return size; } - public long getVirtualSize() { + public Long getVirtualSize() { return virtualSize; } diff --git a/src/main/java/com/github/dockerjava/api/model/Info.java b/src/main/java/com/github/dockerjava/api/model/Info.java index 5ff53a597..d038df878 100644 --- a/src/main/java/com/github/dockerjava/api/model/Info.java +++ b/src/main/java/com/github/dockerjava/api/model/Info.java @@ -8,23 +8,21 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; /** * * @author Konstantin Pelykh (kpelykh@gmail.com) * */ -@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) public class Info { @JsonProperty("Containers") - private int containers; + private Integer containers; @JsonProperty("Debug") - private boolean debug; + private Boolean debug; @JsonProperty("DockerRootDir") private String DockerRootDir; @@ -42,10 +40,10 @@ public class Info { private String ID; @JsonProperty("IPv4Forwarding") - private boolean IPv4Forwarding; + private Boolean IPv4Forwarding; @JsonProperty("Images") - private int images; + private Integer images; @JsonProperty("IndexServerAddress") private String IndexServerAddress; @@ -63,25 +61,25 @@ public class Info { private String[] Labels; @JsonProperty("MemoryLimit") - private boolean memoryLimit; + private Boolean memoryLimit; @JsonProperty("MemTotal") - private long memTotal; + private Long memTotal; @JsonProperty("Name") private String name; @JsonProperty("NCPU") - private int NCPU; + private Integer NCPU; @JsonProperty("NEventsListener") - private long nEventListener; + private Long nEventListener; @JsonProperty("NFd") - private int NFd; + private Integer NFd; @JsonProperty("NGoroutines") - private int NGoroutines; + private Integer NGoroutines; @JsonProperty("OperatingSystem") private String OperatingSystem; @@ -90,13 +88,13 @@ public class Info { private String[] sockets; @JsonProperty("SwapLimit") - private boolean swapLimit; + private Boolean swapLimit; - public boolean isDebug() { + public Boolean isDebug() { return debug; } - public int getContainers() { + public Integer getContainers() { return containers; } @@ -112,7 +110,7 @@ public List getDriverStatuses() { return driverStatuses; } - public int getImages() { + public Integer getImages() { return images; } @@ -120,7 +118,7 @@ public String getID() { return ID; } - public boolean getIPv4Forwarding() { + public Boolean getIPv4Forwarding() { return IPv4Forwarding; } @@ -148,15 +146,15 @@ public String[] getSockets() { return sockets; } - public boolean isMemoryLimit() { + public Boolean isMemoryLimit() { return memoryLimit; } - public long getnEventListener() { + public Long getnEventListener() { return nEventListener; } - public long getMemTotal() { + public Long getMemTotal() { return memTotal; } @@ -164,15 +162,15 @@ public String getName() { return name; } - public int getNCPU() { + public Integer getNCPU() { return NCPU; } - public int getNFd() { + public Integer getNFd() { return NFd; } - public int getNGoroutines() { + public Integer getNGoroutines() { return NGoroutines; } @@ -180,7 +178,7 @@ public String getOperatingSystem() { return OperatingSystem; } - public boolean getSwapLimit() { + public Boolean getSwapLimit() { return swapLimit; } diff --git a/src/main/java/com/github/dockerjava/api/model/Link.java b/src/main/java/com/github/dockerjava/api/model/Link.java index 0b2c828f3..43f9de65b 100644 --- a/src/main/java/com/github/dockerjava/api/model/Link.java +++ b/src/main/java/com/github/dockerjava/api/model/Link.java @@ -17,7 +17,7 @@ public class Link { /** * Creates a {@link Link} for the container with the given name and an aliased name for use in the target container. - * + * * @param name * the name of the container that you want to link into the target container * @param alias @@ -44,7 +44,7 @@ public String getAlias() { /** * Parses a textual link specification (as used by the Docker CLI) to a {@link Link}. - * + * * @param serialized * the specification, e.g. name:alias or /name1:/name2/alias * @return a {@link Link} matching the specification @@ -86,7 +86,7 @@ public int hashCode() { /** * Returns a string representation of this {@link Link} suitable for inclusion in a JSON message. The format is * name:alias, like the argument in {@link #parse(String)}. - * + * * @return a string representation of this {@link Link} */ @Override diff --git a/src/main/java/com/github/dockerjava/api/model/LxcConf.java b/src/main/java/com/github/dockerjava/api/model/LxcConf.java index f97588308..779aa4c78 100644 --- a/src/main/java/com/github/dockerjava/api/model/LxcConf.java +++ b/src/main/java/com/github/dockerjava/api/model/LxcConf.java @@ -1,7 +1,10 @@ package com.github.dockerjava.api.model; +import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +@JsonInclude(Include.NON_NULL) public class LxcConf { @JsonProperty("Key") public String key; diff --git a/src/main/java/com/github/dockerjava/api/model/Node.java b/src/main/java/com/github/dockerjava/api/model/Node.java index 4bbeeec38..902f805b8 100644 --- a/src/main/java/com/github/dockerjava/api/model/Node.java +++ b/src/main/java/com/github/dockerjava/api/model/Node.java @@ -1,10 +1,13 @@ package com.github.dockerjava.api.model; +import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonInclude.Include; /** * A node as returned by the /events API, for instance, when Swarm is used. */ +@JsonInclude(Include.NON_NULL) public class Node { @JsonProperty("Name") diff --git a/src/main/java/com/github/dockerjava/api/model/Ports.java b/src/main/java/com/github/dockerjava/api/model/Ports.java index 54aa8b226..a5f13977b 100644 --- a/src/main/java/com/github/dockerjava/api/model/Ports.java +++ b/src/main/java/com/github/dockerjava/api/model/Ports.java @@ -30,7 +30,7 @@ *

    * Note: This is an abstraction used for querying existing port bindings from a container configuration. It is not to * be confused with the {@link PortBinding} abstraction used for adding new port bindings to a container. - * + * * @see HostConfig#getPortBindings() * @see NetworkSettings#getPorts() */ @@ -93,7 +93,7 @@ public String toString() { /** * Returns the port bindings in the format used by the Docker remote API, i.e. the {@link Binding}s grouped by * {@link ExposedPort}. - * + * * @return the port bindings as a {@link Map} that contains one or more {@link Binding}s per {@link ExposedPort}. */ public Map getBindings() { @@ -128,7 +128,7 @@ public static Binding Binding(Integer hostPort) { * A {@link Binding} represents a socket on the Docker host that is used in a {@link PortBinding}. It is * characterized by an {@link #getHostIp() IP address} and a {@link #getHostPort() port number}. Both properties may * be null in order to let Docker assign them dynamically/using defaults. - * + * * @see Ports#bind(ExposedPort, Binding) * @see ExposedPort */ @@ -141,7 +141,7 @@ public static class Binding { /** * Creates a {@link Binding} for the given {@link #getHostIp() IP address} and {@link #getHostPort() port * number}. - * + * * @see Ports#bind(ExposedPort, Binding) * @see ExposedPort */ @@ -153,7 +153,7 @@ public Binding(String hostIp, Integer hostPort) { /** * Creates a {@link Binding} for the given {@link #getHostPort() port number}, leaving the {@link #getHostIp() * IP address} undefined. - * + * * @see Ports#bind(ExposedPort, Binding) * @see ExposedPort */ @@ -197,7 +197,7 @@ public Integer getHostPort() { * Parses a textual host and port specification (as used by the Docker CLI) to a {@link Binding}. *

    * Legal syntax: IP|IP:port|port - * + * * @param serialized * serialized the specification, e.g. 127.0.0.1:80 * @return a {@link Binding} matching the specification @@ -230,7 +230,7 @@ public static Binding parse(String serialized) throws IllegalArgumentException { /** * Returns a string representation of this {@link Binding} suitable for inclusion in a JSON message. The format * is [IP:]Port, like the argument in {@link #parse(String)}. - * + * * @return a string representation of this {@link Binding} */ @Override diff --git a/src/main/java/com/github/dockerjava/api/model/RestartPolicy.java b/src/main/java/com/github/dockerjava/api/model/RestartPolicy.java index e96821cf1..cd437667f 100644 --- a/src/main/java/com/github/dockerjava/api/model/RestartPolicy.java +++ b/src/main/java/com/github/dockerjava/api/model/RestartPolicy.java @@ -9,16 +9,16 @@ /** * Container restart policy - * + * *

    *
    no
    *
    Do not restart the container if it dies. (default)
    - * + * *
    on-failure
    *
    Restart the container if it exits with a non-zero exit code. Can also accept an optional maximum restart count * (e.g. on-failure:5). *
    - * + * *
    always
    *
    Always restart the container no matter what exit code is returned. *
    @@ -30,7 +30,7 @@ public class RestartPolicy { @JsonProperty("MaximumRetryCount") - private int maximumRetryCount = 0; + private Integer maximumRetryCount = 0; @JsonProperty("Name") private String name = ""; @@ -60,7 +60,7 @@ public static RestartPolicy alwaysRestart() { /** * Restart the container if it exits with a non-zero exit code. - * + * * @param maximumRetryCount * the maximum number of restarts. Set to 0 for unlimited retries. */ @@ -68,7 +68,7 @@ public static RestartPolicy onFailureRestart(int maximumRetryCount) { return new RestartPolicy(maximumRetryCount, "on-failure"); } - public int getMaximumRetryCount() { + public Integer getMaximumRetryCount() { return maximumRetryCount; } @@ -78,7 +78,7 @@ public String getName() { /** * Parses a textual restart polixy specification (as used by the Docker CLI) to a {@link RestartPolicy}. - * + * * @param serialized * the specification, e.g. on-failure:2 * @return a {@link RestartPolicy} matching the specification @@ -109,7 +109,7 @@ public static RestartPolicy parse(String serialized) throws IllegalArgumentExcep /** * Returns a string representation of this {@link RestartPolicy}. The format is name[:count], like the * argument in {@link #parse(String)}. - * + * * @return a string representation of this {@link RestartPolicy} */ @Override diff --git a/src/main/java/com/github/dockerjava/api/model/SearchItem.java b/src/main/java/com/github/dockerjava/api/model/SearchItem.java index 5c5206616..0a5843838 100644 --- a/src/main/java/com/github/dockerjava/api/model/SearchItem.java +++ b/src/main/java/com/github/dockerjava/api/model/SearchItem.java @@ -14,13 +14,13 @@ public class SearchItem { @JsonProperty("star_count") - private int starCount; + private Integer starCount; @JsonProperty("is_official") - private boolean isOfficial; + private Boolean isOfficial; @JsonProperty("is_trusted") - private boolean isTrusted; + private Boolean isTrusted; @JsonProperty("name") private String name; @@ -28,15 +28,15 @@ public class SearchItem { @JsonProperty("description") private String description; - public int getStarCount() { + public Integer getStarCount() { return starCount; } - public boolean isOfficial() { + public Boolean isOfficial() { return isOfficial; } - public boolean isTrusted() { + public Boolean isTrusted() { return isTrusted; } diff --git a/src/main/java/com/github/dockerjava/api/model/Statistics.java b/src/main/java/com/github/dockerjava/api/model/Statistics.java index f6acf16ee..13747339b 100644 --- a/src/main/java/com/github/dockerjava/api/model/Statistics.java +++ b/src/main/java/com/github/dockerjava/api/model/Statistics.java @@ -5,12 +5,15 @@ import org.apache.commons.lang.builder.ToStringBuilder; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonInclude.Include; /** * Representation of a Docker statistics. */ @JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(Include.NON_NULL) public class Statistics { @JsonProperty("read") diff --git a/src/main/java/com/github/dockerjava/api/model/Ulimit.java b/src/main/java/com/github/dockerjava/api/model/Ulimit.java index d385adbe2..209eb22fe 100644 --- a/src/main/java/com/github/dockerjava/api/model/Ulimit.java +++ b/src/main/java/com/github/dockerjava/api/model/Ulimit.java @@ -16,10 +16,10 @@ public class Ulimit { private String name; @JsonProperty("Soft") - private int soft; + private Integer soft; @JsonProperty("Hard") - private int hard; + private Integer hard; public Ulimit() { @@ -37,11 +37,11 @@ public String getName() { return name; } - public int getSoft() { + public Integer getSoft() { return soft; } - public int getHard() { + public Integer getHard() { return hard; } diff --git a/src/main/java/com/github/dockerjava/api/model/Volume.java b/src/main/java/com/github/dockerjava/api/model/Volume.java index f7ff8e288..93f7e4e4f 100644 --- a/src/main/java/com/github/dockerjava/api/model/Volume.java +++ b/src/main/java/com/github/dockerjava/api/model/Volume.java @@ -5,7 +5,7 @@ /** * Represents a bind mounted volume in a Docker container. - * + * * @see Bind */ public class Volume { diff --git a/src/main/java/com/github/dockerjava/api/model/VolumeRW.java b/src/main/java/com/github/dockerjava/api/model/VolumeRW.java index 09a2d8d6a..46d4539b4 100644 --- a/src/main/java/com/github/dockerjava/api/model/VolumeRW.java +++ b/src/main/java/com/github/dockerjava/api/model/VolumeRW.java @@ -21,7 +21,7 @@ /** * Represents a bind mounted volume in a Docker container. - * + * * @see Bind */ @JsonDeserialize(using = VolumeRW.Deserializer.class) @@ -52,7 +52,7 @@ public AccessMode getAccessMode() { /** * Returns a string representation of this {@link VolumeRW} suitable for inclusion in a JSON message. The returned * String is simply the container path, {@link #getPath()}. - * + * * @return a string representation of this {@link VolumeRW} */ @Override diff --git a/src/main/java/com/github/dockerjava/api/model/Volumes.java b/src/main/java/com/github/dockerjava/api/model/Volumes.java index 434a0edad..46175548d 100644 --- a/src/main/java/com/github/dockerjava/api/model/Volumes.java +++ b/src/main/java/com/github/dockerjava/api/model/Volumes.java @@ -48,7 +48,6 @@ public void serialize(Volumes volumes, JsonGenerator jsonGen, SerializerProvider jsonGen.writeFieldName(volume.getPath()); jsonGen.writeStartObject(); jsonGen.writeEndObject(); - // jsonGen.writeString(Boolean.toString(volume.getAccessMode().equals(AccessMode.rw) ? true: false)); } jsonGen.writeEndObject(); } diff --git a/src/main/java/com/github/dockerjava/api/model/VolumesFrom.java b/src/main/java/com/github/dockerjava/api/model/VolumesFrom.java index c884a633e..01f80aba9 100644 --- a/src/main/java/com/github/dockerjava/api/model/VolumesFrom.java +++ b/src/main/java/com/github/dockerjava/api/model/VolumesFrom.java @@ -44,7 +44,7 @@ public AccessMode getAccessMode() { /** * Parses a volume from specification to a {@link VolumesFrom}. - * + * * @param serialized * the specification, e.g. container:ro * @return a {@link VolumesFrom} matching the specification @@ -89,7 +89,7 @@ public int hashCode() { /** * Returns a string representation of this {@link VolumesFrom} suitable for inclusion in a JSON message. The format * is <container>:<access mode>, like the argument in {@link #parse(String)}. - * + * * @return a string representation of this {@link VolumesFrom} */ @Override diff --git a/src/main/java/com/github/dockerjava/core/CertificateUtils.java b/src/main/java/com/github/dockerjava/core/CertificateUtils.java index 465b06460..cae59836f 100644 --- a/src/main/java/com/github/dockerjava/core/CertificateUtils.java +++ b/src/main/java/com/github/dockerjava/core/CertificateUtils.java @@ -31,10 +31,7 @@ public static boolean verifyCertificatesExist(String dockerCertPath) { String[] files = { "ca.pem", "cert.pem", "key.pem" }; for (String file : files) { File path = new File(dockerCertPath, file); - boolean exists = path.exists(); - if (!exists) { - return false; - } + return path.exists(); } return true; diff --git a/src/main/java/com/github/dockerjava/core/GoLangFileMatch.java b/src/main/java/com/github/dockerjava/core/GoLangFileMatch.java index 6ebdd604b..85267e698 100644 --- a/src/main/java/com/github/dockerjava/core/GoLangFileMatch.java +++ b/src/main/java/com/github/dockerjava/core/GoLangFileMatch.java @@ -24,16 +24,16 @@ * character class (must be non-empty) * c matches character c (c != '*', '?', '\\', '[') * '\\' c matches character c - * + * * character-range: * c matches character c (c != '\\', '-', ']') * '\\' c matches character c * lo '-' hi matches character c for lo <= c <= hi - * + * * Match requires pattern to match all of name, not just a substring. * The only possible returned error is ErrBadPattern, when pattern * is malformed. - * + * * On Windows, escaping is disabled. Instead, '\\' is treated as * path separator. * diff --git a/src/main/java/com/github/dockerjava/core/LocalDirectorySSLConfig.java b/src/main/java/com/github/dockerjava/core/LocalDirectorySSLConfig.java index 44310e9ce..c667d49e6 100644 --- a/src/main/java/com/github/dockerjava/core/LocalDirectorySSLConfig.java +++ b/src/main/java/com/github/dockerjava/core/LocalDirectorySSLConfig.java @@ -17,6 +17,8 @@ */ public class LocalDirectorySSLConfig implements SSLConfig, Serializable { + private static final long serialVersionUID = -4736328026418377358L; + private final String dockerCertPath; public LocalDirectorySSLConfig(String dockerCertPath) { diff --git a/src/main/java/com/github/dockerjava/core/async/JsonStreamProcessor.java b/src/main/java/com/github/dockerjava/core/async/JsonStreamProcessor.java index 4e1ce6765..522d5b189 100644 --- a/src/main/java/com/github/dockerjava/core/async/JsonStreamProcessor.java +++ b/src/main/java/com/github/dockerjava/core/async/JsonStreamProcessor.java @@ -37,7 +37,7 @@ public void processResponseStream(InputStream response, ResultCallback result try { JsonParser jp = JSON_FACTORY.createParser(response); - boolean closed = jp.isClosed(); + Boolean closed = jp.isClosed(); JsonToken nextToken = jp.nextToken(); while (!closed && nextToken != null && nextToken != JsonToken.END_OBJECT) { try { diff --git a/src/main/java/com/github/dockerjava/core/command/AbstrDockerCmd.java b/src/main/java/com/github/dockerjava/core/command/AbstrDockerCmd.java index 3594f960f..868bf3e97 100644 --- a/src/main/java/com/github/dockerjava/core/command/AbstrDockerCmd.java +++ b/src/main/java/com/github/dockerjava/core/command/AbstrDockerCmd.java @@ -5,6 +5,8 @@ import java.io.IOException; import org.apache.commons.codec.binary.Base64; +import org.apache.commons.lang.builder.ReflectionToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,6 +39,11 @@ public RES_T exec() throws DockerException { public void close() { } + @Override + public String toString() { + return ReflectionToStringBuilder.toString(this, ToStringStyle.SIMPLE_STYLE); + } + protected String registryAuth(AuthConfig authConfig) { try { return Base64.encodeBase64String(new ObjectMapper().writeValueAsString(authConfig).getBytes()); diff --git a/src/main/java/com/github/dockerjava/core/command/AttachContainerCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/AttachContainerCmdImpl.java index d25517df1..629990ff1 100644 --- a/src/main/java/com/github/dockerjava/core/command/AttachContainerCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/AttachContainerCmdImpl.java @@ -25,7 +25,7 @@ public class AttachContainerCmdImpl extends AbstrAsyncDockerCmd implements AuthCmd { @@ -21,9 +21,4 @@ public AuthCmdImpl(AuthCmd.Exec exec, AuthConfig authConfig) { public AuthResponse exec() throws UnauthorizedException { return super.exec(); } - - @Override - public String toString() { - return "authenticate using " + this.getAuthConfig(); - } } diff --git a/src/main/java/com/github/dockerjava/core/command/BuildImageCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/BuildImageCmdImpl.java index 4be5a4ede..16bdbbaf2 100644 --- a/src/main/java/com/github/dockerjava/core/command/BuildImageCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/BuildImageCmdImpl.java @@ -12,10 +12,6 @@ import com.github.dockerjava.api.model.BuildResponseItem; import com.github.dockerjava.core.FilePathUtil; import com.github.dockerjava.core.dockerfile.Dockerfile; -import org.apache.commons.lang.builder.ReflectionToStringBuilder; -import org.apache.commons.lang.builder.ToStringStyle; - -import javax.annotation.CheckForNull; /** * @@ -24,45 +20,34 @@ */ public class BuildImageCmdImpl extends AbstrAsyncDockerCmd implements BuildImageCmd { - @CheckForNull private InputStream tarInputStream; - @CheckForNull private String tag; - private boolean noCache; + private Boolean noCache; - private boolean remove = true; + private Boolean remove = true; - private boolean quiet; + private Boolean quiet; - private boolean pull; + private Boolean pull; - @CheckForNull private AuthConfigurations buildAuthConfigs; - @CheckForNull private File dockerFile; - @CheckForNull private File baseDirectory; - @CheckForNull private String cpusetcpus; - @CheckForNull private Long memory; - @CheckForNull private String cpushares; - @CheckForNull private Boolean forcerm; - @CheckForNull private Long memswap; - @CheckForNull private URI remote; public BuildImageCmdImpl(BuildImageCmd.Exec exec) { @@ -100,32 +85,27 @@ public URI getRemote() { } @Override - public boolean hasNoCacheEnabled() { + public Boolean hasNoCacheEnabled() { return noCache; } @Override - public boolean hasRemoveEnabled() { + public Boolean hasRemoveEnabled() { return remove; } @Override - public boolean isForcerm() { - return forcerm != null && forcerm; - } - - @Override - public Boolean getForcerm() { + public Boolean isForcerm() { return forcerm; } @Override - public boolean isQuiet() { + public Boolean isQuiet() { return quiet; } @Override - public boolean hasPullEnabled() { + public Boolean hasPullEnabled() { return pull; } @@ -186,32 +166,17 @@ public BuildImageCmd withRemote(URI remote) { } @Override - public BuildImageCmdImpl withNoCache() { - return withNoCache(true); - } - - @Override - public BuildImageCmdImpl withNoCache(boolean noCache) { + public BuildImageCmdImpl withNoCache(Boolean noCache) { this.noCache = noCache; return this; } @Override - public BuildImageCmdImpl withRemove() { - return withRemove(true); - } - - @Override - public BuildImageCmdImpl withRemove(boolean rm) { + public BuildImageCmdImpl withRemove(Boolean rm) { this.remove = rm; return this; } - @Override - public BuildImageCmd withForcerm() { - return withForcerm(true); - } - @Override public BuildImageCmd withForcerm(Boolean forcerm) { this.forcerm = forcerm; @@ -219,35 +184,25 @@ public BuildImageCmd withForcerm(Boolean forcerm) { } @Override - public BuildImageCmdImpl withQuiet() { - return withQuiet(true); - } - - @Override - public BuildImageCmdImpl withQuiet(boolean quiet) { + public BuildImageCmdImpl withQuiet(Boolean quiet) { this.quiet = quiet; return this; } @Override - public BuildImageCmdImpl withPull() { - return withPull(true); - } - - @Override - public BuildImageCmdImpl withPull(boolean pull) { + public BuildImageCmdImpl withPull(Boolean pull) { this.pull = pull; return this; } @Override - public BuildImageCmd withMemory(long memory) { + public BuildImageCmd withMemory(Long memory) { this.memory = memory; return this; } @Override - public BuildImageCmd withMemswap(long memswap) { + public BuildImageCmd withMemswap(Long memswap) { this.memswap = memswap; return this; } @@ -318,9 +273,4 @@ public void close() { throw new RuntimeException(e); } } - - @Override - public String toString() { - return ReflectionToStringBuilder.toString(this, ToStringStyle.SIMPLE_STYLE); - } } diff --git a/src/main/java/com/github/dockerjava/core/command/CommitCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/CommitCmdImpl.java index 497d08c3f..dbd437470 100644 --- a/src/main/java/com/github/dockerjava/core/command/CommitCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/CommitCmdImpl.java @@ -2,8 +2,6 @@ import static com.google.common.base.Preconditions.checkNotNull; -import org.apache.commons.lang.builder.ToStringBuilder; - import com.fasterxml.jackson.annotation.JsonProperty; import com.github.dockerjava.api.NotFoundException; import com.github.dockerjava.api.command.CommitCmd; @@ -19,22 +17,22 @@ public class CommitCmdImpl extends AbstrDockerCmd implements private String containerId, repository, tag, message, author; - private boolean pause = true; + private Boolean pause = true; @JsonProperty("AttachStdin") - private boolean attachStdin; + private Boolean attachStdin; @JsonProperty("AttachStdout") - private boolean attachStdout; + private Boolean attachStdout; @JsonProperty("AttachStderr") - private boolean attachStderr; + private Boolean attachStderr; @JsonProperty("Cmd") private String[] cmd; @JsonProperty("DisableNetwork") - private boolean disableNetwork; + private Boolean disableNetwork; @JsonProperty("Env") private String[] env; @@ -52,16 +50,16 @@ public class CommitCmdImpl extends AbstrDockerCmd implements private Integer memorySwap; @JsonProperty("OpenStdin") - private boolean openStdin; + private Boolean openStdin; @JsonProperty("PortSpecs") private String[] portSpecs; @JsonProperty("StdinOnce") - private boolean stdinOnce; + private Boolean stdinOnce; @JsonProperty("Tty") - private boolean tty; + private Boolean tty; @JsonProperty("User") private String user; @@ -110,43 +108,28 @@ public String getAuthor() { } @Override - public boolean hasPauseEnabled() { + public Boolean hasPauseEnabled() { return pause; } @Override - public CommitCmdImpl withAttachStderr(boolean attachStderr) { + public CommitCmdImpl withAttachStderr(Boolean attachStderr) { this.attachStderr = attachStderr; return this; } @Override - public CommitCmdImpl withAttachStderr() { - return withAttachStderr(true); - } - - @Override - public CommitCmdImpl withAttachStdin(boolean attachStdin) { + public CommitCmdImpl withAttachStdin(Boolean attachStdin) { this.attachStdin = attachStdin; return this; } @Override - public CommitCmdImpl withAttachStdin() { - return withAttachStdin(true); - } - - @Override - public CommitCmdImpl withAttachStdout(boolean attachStdout) { + public CommitCmdImpl withAttachStdout(Boolean attachStdout) { this.attachStdout = attachStdout; return this; } - @Override - public CommitCmdImpl withAttachStdout() { - return withAttachStdout(true); - } - @Override public CommitCmdImpl withCmd(String... cmd) { checkNotNull(cmd, "cmd was not specified"); @@ -155,7 +138,7 @@ public CommitCmdImpl withCmd(String... cmd) { } @Override - public CommitCmdImpl withDisableNetwork(boolean disableNetwork) { + public CommitCmdImpl withDisableNetwork(Boolean disableNetwork) { this.disableNetwork = disableNetwork; return this; } @@ -189,7 +172,7 @@ public CommitCmdImpl withRepository(String repository) { } @Override - public CommitCmdImpl withPause(boolean pause) { + public CommitCmdImpl withPause(Boolean pause) { this.pause = pause; return this; } @@ -255,12 +238,12 @@ public CommitCmdImpl withMemorySwap(Integer memorySwap) { } @Override - public boolean isOpenStdin() { + public Boolean isOpenStdin() { return openStdin; } @Override - public CommitCmdImpl withOpenStdin(boolean openStdin) { + public CommitCmdImpl withOpenStdin(Boolean openStdin) { checkNotNull(openStdin, "openStdin was not specified"); this.openStdin = openStdin; return this; @@ -279,37 +262,27 @@ public CommitCmdImpl withPortSpecs(String... portSpecs) { } @Override - public boolean isStdinOnce() { + public Boolean isStdinOnce() { return stdinOnce; } @Override - public CommitCmdImpl withStdinOnce(boolean stdinOnce) { + public CommitCmdImpl withStdinOnce(Boolean stdinOnce) { this.stdinOnce = stdinOnce; return this; } @Override - public CommitCmdImpl withStdinOnce() { - return withStdinOnce(true); - } - - @Override - public boolean isTty() { + public Boolean isTty() { return tty; } @Override - public CommitCmdImpl withTty(boolean tty) { + public CommitCmdImpl withTty(Boolean tty) { this.tty = tty; return this; } - @Override - public CommitCmdImpl withTty() { - return withTty(true); - } - @Override public String getUser() { return user; @@ -346,13 +319,6 @@ public CommitCmdImpl withWorkingDir(String workingDir) { return this; } - @Override - public String toString() { - return new ToStringBuilder(this).append("commit ").append(author != null ? "--author " + author + " " : "") - .append(message != null ? "--message " + message + " " : "").append(containerId) - .append(repository != null ? " " + repository + ":" : " ").append(tag != null ? tag : "").toString(); - } - /** * @throws NotFoundException * No such container diff --git a/src/main/java/com/github/dockerjava/core/command/ContainerDiffCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ContainerDiffCmdImpl.java index a394c535c..2651ddb77 100644 --- a/src/main/java/com/github/dockerjava/core/command/ContainerDiffCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/ContainerDiffCmdImpl.java @@ -38,11 +38,6 @@ public ContainerDiffCmdImpl withContainerId(String containerId) { return this; } - @Override - public String toString() { - return new StringBuilder("diff ").append(containerId).toString(); - } - /** * @throws NotFoundException * No such container diff --git a/src/main/java/com/github/dockerjava/core/command/CopyFileFromContainerCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/CopyFileFromContainerCmdImpl.java index ef5f86a7a..6258fc4ed 100644 --- a/src/main/java/com/github/dockerjava/core/command/CopyFileFromContainerCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/CopyFileFromContainerCmdImpl.java @@ -4,8 +4,6 @@ import java.io.InputStream; -import org.apache.commons.lang.builder.ToStringBuilder; - import com.fasterxml.jackson.annotation.JsonProperty; import com.github.dockerjava.api.NotFoundException; import com.github.dockerjava.api.command.CopyFileFromContainerCmd; @@ -68,11 +66,6 @@ public CopyFileFromContainerCmdImpl withHostPath(String hostPath) { return this; } - @Override - public String toString() { - return new ToStringBuilder(this).append("cp ").append(containerId).append(":").append(resource).toString(); - } - /** * @throws NotFoundException * No such container 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 570153c69..41f31dee4 100644 --- a/src/main/java/com/github/dockerjava/core/command/CreateContainerCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/CreateContainerCmdImpl.java @@ -1,6 +1,13 @@ package com.github.dockerjava.core.command; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang.builder.ToStringBuilder; + import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonProperty; import com.github.dockerjava.api.ConflictException; import com.github.dockerjava.api.NotFoundException; @@ -22,9 +29,6 @@ import com.github.dockerjava.api.model.Volume; import com.github.dockerjava.api.model.Volumes; import com.github.dockerjava.api.model.VolumesFrom; -import org.apache.commons.lang.builder.ToStringBuilder; - -import java.util.Map; import static com.google.common.base.Preconditions.checkNotNull; @@ -33,55 +37,41 @@ * Creates a new container. * */ +@JsonInclude(Include.NON_NULL) public class CreateContainerCmdImpl extends AbstrDockerCmd implements CreateContainerCmd { private String name; @JsonProperty("Hostname") - private String hostName = ""; + private String hostName; @JsonProperty("Domainname") - private String domainName = ""; + private String domainName; @JsonProperty("User") - private String user = ""; - - @JsonProperty("Memory") - private long memoryLimit = 0; - - @JsonProperty("MemorySwap") - private long memorySwap = 0; - - @JsonProperty("CpuShares") - private int cpuShares = 0; - - @JsonProperty("CpuPeriod") - private Integer cpuPeriod; - - @JsonProperty("Cpuset") - private String cpuset; + private String user; @JsonProperty("AttachStdin") - private boolean attachStdin = false; + private Boolean attachStdin; @JsonProperty("AttachStdout") - private boolean attachStdout = false; + private Boolean attachStdout; @JsonProperty("AttachStderr") - private boolean attachStderr = false; + private Boolean attachStderr; @JsonProperty("PortSpecs") private String[] portSpecs; @JsonProperty("Tty") - private boolean tty = false; + private Boolean tty; @JsonProperty("OpenStdin") - private boolean stdinOpen = false; + private Boolean stdinOpen; @JsonProperty("StdinOnce") - private boolean stdInOnce = false; + private Boolean stdInOnce; @JsonProperty("Env") private String[] env; @@ -99,13 +89,13 @@ public class CreateContainerCmdImpl extends AbstrDockerCmd labels; - @JsonProperty("CpusetMems") - private String cpusetMems; - - @JsonProperty("BlkioWeight") - private Integer blkioWeight; - - @JsonProperty("OomKillDisable") - private Boolean oomKillDisable; - public CreateContainerCmdImpl(CreateContainerCmd.Exec exec, String image) { super(exec); checkNotNull(image, "image was not specified"); @@ -149,16 +130,19 @@ public Bind[] getBinds() { } @Override + @JsonIgnore public Integer getBlkioWeight() { - return blkioWeight; + return hostConfig.getBlkioWeight(); } @Override + @JsonIgnore public Capability[] getCapAdd() { return hostConfig.getCapAdd(); } @Override + @JsonIgnore public Capability[] getCapDrop() { return hostConfig.getCapDrop(); } @@ -168,28 +152,28 @@ public String[] getCmd() { return cmd; } - public String getContainerIDFile() { - return hostConfig.getContainerIDFile(); - } - @Override + @JsonIgnore public Integer getCpuPeriod() { - return cpuPeriod; + return hostConfig.getCpuPeriod(); } @Override - public String getCpuset() { - return cpuset; + @JsonIgnore + public String getCpusetCpus() { + return hostConfig.getCpusetCpus(); } @Override + @JsonIgnore public String getCpusetMems() { - return cpusetMems; + return hostConfig.getCpusetMems(); } @Override - public int getCpuShares() { - return cpuShares; + @JsonIgnore + public Integer getCpuShares() { + return hostConfig.getCpuShares(); } @Override @@ -271,18 +255,21 @@ public LogConfig getLogConfig() { return hostConfig.getLogConfig(); } + @Override public String getMacAddress() { return macAddress; } @Override - public long getMemoryLimit() { - return memoryLimit; + @JsonIgnore + public Long getMemory() { + return hostConfig.getMemory(); } @Override - public long getMemorySwap() { - return memorySwap; + @JsonIgnore + public Long getMemorySwap() { + return hostConfig.getMemorySwap(); } @Override @@ -314,6 +301,7 @@ public RestartPolicy getRestartPolicy() { } @Override + @JsonIgnore public Ulimit[] getUlimits() { return hostConfig.getUlimits(); } @@ -341,28 +329,29 @@ public String getWorkingDir() { } @Override - public boolean isAttachStderr() { + public Boolean isAttachStderr() { return attachStderr; } @Override - public boolean isAttachStdin() { + public Boolean isAttachStdin() { return attachStdin; } @Override - public boolean isAttachStdout() { + public Boolean isAttachStdout() { return attachStdout; } @Override - public boolean isNetworkDisabled() { + public Boolean isNetworkDisabled() { return networkDisabled; } @Override + @JsonIgnore public Boolean isOomKillDisable() { - return oomKillDisable; + return hostConfig.isOomKillDisable(); } @Override @@ -377,22 +366,24 @@ public Boolean isPublishAllPorts() { return hostConfig.isPublishAllPorts(); } - public boolean isReadonlyRootfs() { + @Override + @JsonIgnore + public Boolean isReadonlyRootfs() { return hostConfig.isReadonlyRootfs(); } @Override - public boolean isStdInOnce() { + public Boolean isStdInOnce() { return stdInOnce; } @Override - public boolean isStdinOpen() { + public Boolean isStdinOpen() { return stdinOpen; } @Override - public boolean isTty() { + public Boolean isTty() { return tty; } @@ -409,19 +400,22 @@ public String toString() { } @Override - public CreateContainerCmdImpl withAttachStderr(boolean attachStderr) { + public CreateContainerCmd withAttachStderr(Boolean attachStderr) { + checkNotNull(attachStderr, "attachStderr was not specified"); this.attachStderr = attachStderr; return this; } @Override - public CreateContainerCmdImpl withAttachStdin(boolean attachStdin) { + public CreateContainerCmd withAttachStdin(Boolean attachStdin) { + checkNotNull(attachStdin, "attachStdin was not specified"); this.attachStdin = attachStdin; return this; } @Override - public CreateContainerCmdImpl withAttachStdout(boolean attachStdout) { + public CreateContainerCmd withAttachStdout(Boolean attachStdout) { + checkNotNull(attachStdout, "attachStdout was not specified"); this.attachStdout = attachStdout; return this; } @@ -433,11 +427,17 @@ public CreateContainerCmd withBinds(Bind... binds) { return this; } + @Override + public CreateContainerCmd withBinds(List binds) { + checkNotNull(binds, "binds was not specified"); + return withBinds(binds.toArray(new Bind[binds.size()])); + } + @Override public CreateContainerCmd withBlkioWeight(Integer blkioWeight) { checkNotNull(blkioWeight, "blkioWeight was not specified"); - this.blkioWeight = blkioWeight; - return null; + hostConfig.setBlkioWeight(blkioWeight); + return this; } @Override @@ -447,6 +447,12 @@ public CreateContainerCmd withCapAdd(Capability... capAdd) { return this; } + @Override + public CreateContainerCmd withCapAdd(List capAdd) { + checkNotNull(capAdd, "capAdd was not specified"); + return withCapAdd(capAdd.toArray(new Capability[capAdd.size()])); + } + @Override public CreateContainerCmd withCapDrop(Capability... capDrop) { checkNotNull(capDrop, "capDrop was not specified"); @@ -455,12 +461,24 @@ public CreateContainerCmd withCapDrop(Capability... capDrop) { } @Override - public CreateContainerCmdImpl withCmd(String... cmd) { + public CreateContainerCmd withCapDrop(List capDrop) { + checkNotNull(capDrop, "capDrop was not specified"); + return withCapDrop(capDrop.toArray(new Capability[capDrop.size()])); + } + + @Override + public CreateContainerCmd withCmd(String... cmd) { checkNotNull(cmd, "cmd was not specified"); this.cmd = cmd; return this; } + @Override + public CreateContainerCmd withCmd(List cmd) { + checkNotNull(cmd, "cmd was not specified"); + return withCmd(cmd.toArray(new String[cmd.size()])); + } + @Override public CreateContainerCmd withContainerIDFile(String containerIDFile) { checkNotNull(containerIDFile, "no containerIDFile was specified"); @@ -471,27 +489,28 @@ public CreateContainerCmd withContainerIDFile(String containerIDFile) { @Override public CreateContainerCmd withCpuPeriod(Integer cpuPeriod) { checkNotNull(cpuPeriod, "cpuPeriod was not specified"); - this.cpuPeriod = cpuPeriod; + hostConfig.setCpuPeriod(cpuPeriod); return this; } @Override - public CreateContainerCmdImpl withCpuset(String cpuset) { - checkNotNull(cpuset, "cpuset was not specified"); - this.cpuset = cpuset; + public CreateContainerCmd withCpusetCpus(String cpusetCpus) { + checkNotNull(cpusetCpus, "cpusetCpus was not specified"); + hostConfig.setCpusetCpus(cpusetCpus); return this; } @Override public CreateContainerCmd withCpusetMems(String cpusetMems) { checkNotNull(cpusetMems, "cpusetMems was not specified"); - this.cpusetMems = cpusetMems; - return null; + hostConfig.setCpusetMems(cpusetMems); + return this; } @Override - public CreateContainerCmdImpl withCpuShares(int cpuShares) { - this.cpuShares = cpuShares; + public CreateContainerCmd withCpuShares(Integer cpuShares) { + checkNotNull(cpuShares, "cpuShares was not specified"); + hostConfig.setCpuShares(cpuShares); return this; } @@ -503,12 +522,24 @@ public CreateContainerCmd withDevices(Device... devices) { } @Override - public CreateContainerCmdImpl withDns(String... dns) { + public CreateContainerCmd withDevices(List devices) { + checkNotNull(devices, "devices was not specified"); + return withDevices(devices.toArray(new Device[devices.size()])); + } + + @Override + public CreateContainerCmd withDns(String... dns) { checkNotNull(dns, "dns was not specified"); this.hostConfig.setDns(dns); return this; } + @Override + public CreateContainerCmd withDns(List dns) { + checkNotNull(dns, "dns was not specified"); + return withDns(dns.toArray(new String[dns.size()])); + } + @Override public CreateContainerCmd withDnsSearch(String... dnsSearch) { checkNotNull(dnsSearch, "dnsSearch was not specified"); @@ -517,33 +548,57 @@ public CreateContainerCmd withDnsSearch(String... dnsSearch) { } @Override - public CreateContainerCmdImpl withDomainName(String domainName) { + public CreateContainerCmd withDnsSearch(List dnsSearch) { + checkNotNull(dnsSearch, "dnsSearch was not specified"); + return withDnsSearch(dnsSearch.toArray(new String[0])); + } + + @Override + public CreateContainerCmd withDomainName(String domainName) { checkNotNull(domainName, "no domainName was specified"); this.domainName = domainName; return this; } @Override - public CreateContainerCmdImpl withEntrypoint(String... entrypoint) { + public CreateContainerCmd withEntrypoint(String... entrypoint) { checkNotNull(entrypoint, "entrypoint was not specified"); this.entrypoint = entrypoint; return this; } @Override - public CreateContainerCmdImpl withEnv(String... env) { + public CreateContainerCmd withEntrypoint(List entrypoint) { + checkNotNull(entrypoint, "entrypoint was not specified"); + return withEntrypoint(entrypoint.toArray(new String[entrypoint.size()])); + } + + @Override + public CreateContainerCmd withEnv(String... env) { checkNotNull(env, "env was not specified"); this.env = env; return this; } @Override - public CreateContainerCmdImpl withExposedPorts(ExposedPort... exposedPorts) { + public CreateContainerCmd withEnv(List env) { + checkNotNull(env, "env was not specified"); + return withEnv(env.toArray(new String[env.size()])); + } + + @Override + public CreateContainerCmd withExposedPorts(ExposedPort... exposedPorts) { checkNotNull(exposedPorts, "exposedPorts was not specified"); this.exposedPorts = new ExposedPorts(exposedPorts); return this; } + @Override + public CreateContainerCmd withExposedPorts(List exposedPorts) { + checkNotNull(exposedPorts, "exposedPorts was not specified"); + return withExposedPorts(exposedPorts.toArray(new ExposedPort[exposedPorts.size()])); + } + @Override public CreateContainerCmd withExtraHosts(String... extraHosts) { checkNotNull(extraHosts, "extraHosts was not specified"); @@ -552,33 +607,45 @@ public CreateContainerCmd withExtraHosts(String... extraHosts) { } @Override - public CreateContainerCmdImpl withHostName(String hostName) { + public CreateContainerCmd withExtraHosts(List extraHosts) { + checkNotNull(extraHosts, "extraHosts was not specified"); + return withExtraHosts(extraHosts.toArray(new String[extraHosts.size()])); + } + + @Override + public CreateContainerCmd withHostName(String hostName) { checkNotNull(hostConfig, "no hostName was specified"); this.hostName = hostName; return this; } @Override - public CreateContainerCmdImpl withImage(String image) { + public CreateContainerCmd withImage(String image) { checkNotNull(image, "no image was specified"); this.image = image; return this; } @Override - public CreateContainerCmdImpl withLabels(Map labels) { + public CreateContainerCmd withLabels(Map labels) { checkNotNull(labels, "labels was not specified"); this.labels = labels; return this; } @Override - public CreateContainerCmdImpl withLinks(Link... links) { + public CreateContainerCmd withLinks(Link... links) { checkNotNull(links, "links was not specified"); this.hostConfig.setLinks(links); return this; } + @Override + public CreateContainerCmd withLinks(List links) { + checkNotNull(links, "links was not specified"); + return withLinks(links.toArray(new Link[links.size()])); + } + @Override public CreateContainerCmd withLxcConf(LxcConf... lxcConf) { checkNotNull(lxcConf, "lxcConf was not specified"); @@ -586,6 +653,12 @@ public CreateContainerCmd withLxcConf(LxcConf... lxcConf) { return this; } + @Override + public CreateContainerCmd withLxcConf(List lxcConf) { + checkNotNull(lxcConf, "lxcConf was not specified"); + return withLxcConf(lxcConf.toArray(new LxcConf[0])); + } + @Override public CreateContainerCmd withLogConfig(LogConfig logConfig) { checkNotNull(logConfig, "logConfig was not specified"); @@ -594,33 +667,36 @@ public CreateContainerCmd withLogConfig(LogConfig logConfig) { } @Override - public CreateContainerCmdImpl withMacAddress(String macAddress) { + public CreateContainerCmd withMacAddress(String macAddress) { checkNotNull(macAddress, "macAddress was not specified"); this.macAddress = macAddress; return this; } @Override - public CreateContainerCmdImpl withMemoryLimit(long memoryLimit) { - this.memoryLimit = memoryLimit; + public CreateContainerCmd withMemory(Long memory) { + checkNotNull(memory, "memory was not specified"); + hostConfig.setMemory(memory); return this; } @Override - public CreateContainerCmdImpl withMemorySwap(long memorySwap) { - this.memorySwap = memorySwap; + public CreateContainerCmd withMemorySwap(Long memorySwap) { + checkNotNull(memorySwap, "memorySwap was not specified"); + hostConfig.setMemorySwap(memorySwap); return this; } @Override - public CreateContainerCmdImpl withName(String name) { + public CreateContainerCmd withName(String name) { checkNotNull(name, "name was not specified"); this.name = name; return this; } @Override - public CreateContainerCmdImpl withNetworkDisabled(boolean disableNetwork) { + public CreateContainerCmd withNetworkDisabled(Boolean disableNetwork) { + checkNotNull(disableNetwork, "disableNetwork was not specified"); this.networkDisabled = disableNetwork; return this; } @@ -635,7 +711,7 @@ public CreateContainerCmd withNetworkMode(String networkMode) { @Override public CreateContainerCmd withOomKillDisable(Boolean oomKillDisable) { checkNotNull(oomKillDisable, "oomKillDisable was not specified"); - this.oomKillDisable = oomKillDisable; + hostConfig.setOomKillDisable(oomKillDisable); return this; } @@ -646,6 +722,12 @@ public CreateContainerCmd withPortBindings(PortBinding... portBindings) { return this; } + @Override + public CreateContainerCmd withPortBindings(List portBindings) { + checkNotNull(portBindings, "portBindings was not specified"); + return withPortBindings(portBindings.toArray(new PortBinding[0])); + } + @Override public CreateContainerCmd withPortBindings(Ports portBindings) { checkNotNull(portBindings, "portBindings was not specified"); @@ -654,26 +736,35 @@ public CreateContainerCmd withPortBindings(Ports portBindings) { } @Override - public CreateContainerCmdImpl withPortSpecs(String... portSpecs) { + public CreateContainerCmd withPortSpecs(String... portSpecs) { checkNotNull(portSpecs, "portSpecs was not specified"); this.portSpecs = portSpecs; return this; } @Override - public CreateContainerCmd withPrivileged(boolean privileged) { + public CreateContainerCmd withPortSpecs(List portSpecs) { + checkNotNull(portSpecs, "portSpecs was not specified"); + return withPortSpecs(portSpecs.toArray(new String[portSpecs.size()])); + } + + @Override + public CreateContainerCmd withPrivileged(Boolean privileged) { + checkNotNull(privileged, "no privileged was specified"); this.hostConfig.setPrivileged(privileged); return this; } @Override - public CreateContainerCmd withPublishAllPorts(boolean publishAllPorts) { + public CreateContainerCmd withPublishAllPorts(Boolean publishAllPorts) { + checkNotNull(publishAllPorts, "no publishAllPorts was specified"); this.hostConfig.setPublishAllPorts(publishAllPorts); return this; } @Override - public CreateContainerCmd withReadonlyRootfs(boolean readonlyRootfs) { + public CreateContainerCmd withReadonlyRootfs(Boolean readonlyRootfs) { + checkNotNull(readonlyRootfs, "no readonlyRootfs was specified"); hostConfig.setReadonlyRootfs(readonlyRootfs); return this; } @@ -686,53 +777,74 @@ public CreateContainerCmd withRestartPolicy(RestartPolicy restartPolicy) { } @Override - public CreateContainerCmdImpl withStdInOnce(boolean stdInOnce) { + public CreateContainerCmd withStdInOnce(Boolean stdInOnce) { + checkNotNull(stdInOnce, "no stdInOnce was specified"); this.stdInOnce = stdInOnce; return this; } @Override - public CreateContainerCmdImpl withStdinOpen(boolean stdinOpen) { + public CreateContainerCmd withStdinOpen(Boolean stdinOpen) { + checkNotNull(stdinOpen, "no stdinOpen was specified"); this.stdinOpen = stdinOpen; return this; } @Override - public CreateContainerCmdImpl withTty(boolean tty) { + public CreateContainerCmd withTty(Boolean tty) { + checkNotNull(tty, "no tty was specified"); this.tty = tty; return this; } @Override - public CreateContainerCmd withUlimits(Ulimit[] ulimits) { + public CreateContainerCmd withUlimits(Ulimit... ulimits) { checkNotNull(ulimits, "no ulimits was specified"); hostConfig.setUlimits(ulimits); return this; } @Override - public CreateContainerCmdImpl withUser(String user) { + public CreateContainerCmd withUlimits(List ulimits) { + checkNotNull(ulimits, "no ulimits was specified"); + return withUlimits(ulimits.toArray(new Ulimit[ulimits.size()])); + } + + @Override + public CreateContainerCmd withUser(String user) { checkNotNull(user, "user was not specified"); this.user = user; return this; } @Override - public CreateContainerCmdImpl withVolumes(Volume... volumes) { + public CreateContainerCmd withVolumes(Volume... volumes) { checkNotNull(volumes, "volumes was not specified"); this.volumes = new Volumes(volumes); return this; } @Override - public CreateContainerCmdImpl withVolumesFrom(VolumesFrom... volumesFrom) { + public CreateContainerCmd withVolumes(List volumes) { + checkNotNull(volumes, "volumes was not specified"); + return withVolumes(volumes.toArray(new Volume[volumes.size()])); + } + + @Override + public CreateContainerCmd withVolumesFrom(VolumesFrom... volumesFrom) { checkNotNull(volumesFrom, "volumesFrom was not specified"); this.hostConfig.setVolumesFrom(volumesFrom); return this; } @Override - public CreateContainerCmdImpl withWorkingDir(String workingDir) { + public CreateContainerCmd withVolumesFrom(List volumesFrom) { + checkNotNull(volumesFrom, "volumesFrom was not specified"); + return withVolumesFrom(volumesFrom.toArray(new VolumesFrom[volumesFrom.size()])); + } + + @Override + public CreateContainerCmd withWorkingDir(String workingDir) { checkNotNull(workingDir, "workingDir was not specified"); this.workingDir = workingDir; return this; diff --git a/src/main/java/com/github/dockerjava/core/command/CreateImageCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/CreateImageCmdImpl.java index 3ed2f912e..57ddc2908 100644 --- a/src/main/java/com/github/dockerjava/core/command/CreateImageCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/CreateImageCmdImpl.java @@ -4,8 +4,6 @@ import java.io.InputStream; -import org.apache.commons.lang.builder.ToStringBuilder; - import com.github.dockerjava.api.command.CreateImageCmd; import com.github.dockerjava.api.command.CreateImageResponse; @@ -77,10 +75,4 @@ public CreateImageCmdImpl withTag(String tag) { this.tag = tag; return this; } - - @Override - public String toString() { - return new ToStringBuilder(this).append("import - ").append(repository != null ? repository + ":" : "") - .append(tag != null ? tag : "").toString(); - } } diff --git a/src/main/java/com/github/dockerjava/core/command/EventsCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/EventsCmdImpl.java index 5cb801db7..9bd34e57d 100644 --- a/src/main/java/com/github/dockerjava/core/command/EventsCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/EventsCmdImpl.java @@ -55,10 +55,4 @@ public Filters getFilters() { return filters; } - @Override - public String toString() { - return new StringBuilder("events").append(since != null ? " --since=" + since : "") - .append(until != null ? " --until=" + until : "") - .append(filters != null ? " --filters=" + filters : "").toString(); - } } diff --git a/src/main/java/com/github/dockerjava/core/command/ExecCreateCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ExecCreateCmdImpl.java index 3b00d22c5..5df38860c 100644 --- a/src/main/java/com/github/dockerjava/core/command/ExecCreateCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/ExecCreateCmdImpl.java @@ -2,26 +2,29 @@ import static com.google.common.base.Preconditions.checkNotNull; +import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.github.dockerjava.api.NotFoundException; import com.github.dockerjava.api.command.ExecCreateCmd; import com.github.dockerjava.api.command.ExecCreateCmdResponse; +@JsonInclude(Include.NON_NULL) public class ExecCreateCmdImpl extends AbstrDockerCmd implements ExecCreateCmd { private String containerId; @JsonProperty("AttachStdin") - private boolean attachStdin; + private Boolean attachStdin; @JsonProperty("AttachStdout") - private boolean attachStdout; + private Boolean attachStdout; @JsonProperty("AttachStderr") - private boolean attachStderr; + private Boolean attachStderr; @JsonProperty("Tty") - private boolean tty; + private Boolean tty; @JsonProperty("Cmd") private String[] cmd; @@ -39,49 +42,29 @@ public ExecCreateCmd withContainerId(String containerId) { } @Override - public ExecCreateCmd withAttachStdin(boolean attachStdin) { + public ExecCreateCmd withAttachStdin(Boolean attachStdin) { this.attachStdin = attachStdin; return this; } @Override - public ExecCreateCmd withAttachStdin() { - return withAttachStdin(true); - } - - @Override - public ExecCreateCmd withAttachStdout(boolean attachStdout) { + public ExecCreateCmd withAttachStdout(Boolean attachStdout) { this.attachStdout = attachStdout; return this; } @Override - public ExecCreateCmd withAttachStdout() { - return withAttachStdout(true); - } - - @Override - public ExecCreateCmd withAttachStderr(boolean attachStderr) { + public ExecCreateCmd withAttachStderr(Boolean attachStderr) { this.attachStderr = attachStderr; return this; } @Override - public ExecCreateCmd withAttachStderr() { - return withAttachStderr(true); - } - - @Override - public ExecCreateCmd withTty(boolean tty) { + public ExecCreateCmd withTty(Boolean tty) { this.tty = tty; return this; } - @Override - public ExecCreateCmd withTty() { - return withTty(true); - } - @Override public ExecCreateCmd withCmd(String... cmd) { this.cmd = cmd; @@ -94,22 +77,22 @@ public String getContainerId() { } @Override - public boolean hasAttachStdinEnabled() { + public Boolean hasAttachStdinEnabled() { return attachStdin; } @Override - public boolean hasAttachStdoutEnabled() { + public Boolean hasAttachStdoutEnabled() { return attachStdout; } @Override - public boolean hasAttachStderrEnabled() { + public Boolean hasAttachStderrEnabled() { return attachStderr; } @Override - public boolean hasTtyEnabled() { + public Boolean hasTtyEnabled() { return tty; } diff --git a/src/main/java/com/github/dockerjava/core/command/ExecStartCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ExecStartCmdImpl.java index a479a91f2..72efd3052 100644 --- a/src/main/java/com/github/dockerjava/core/command/ExecStartCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/ExecStartCmdImpl.java @@ -11,7 +11,7 @@ public class ExecStartCmdImpl extends AbstrDockerCmd private String execId; - private boolean detach, tty; + private Boolean detach, tty; public ExecStartCmdImpl(ExecStartCmd.Exec exec, String execId) { super(exec); @@ -31,37 +31,27 @@ public ExecStartCmd withExecId(String execId) { } @Override - public boolean hasDetachEnabled() { + public Boolean hasDetachEnabled() { return detach; } @Override - public boolean hasTtyEnabled() { + public Boolean hasTtyEnabled() { return tty; } @Override - public ExecStartCmd withDetach(boolean detach) { + public ExecStartCmd withDetach(Boolean detach) { this.detach = detach; return this; } @Override - public ExecStartCmd withTty(boolean tty) { + public ExecStartCmd withTty(Boolean tty) { this.tty = tty; return this; } - @Override - public ExecStartCmd withDetach() { - return withDetach(true); - } - - @Override - public ExecStartCmd withTty() { - return withTty(true); - } - /** * @throws com.github.dockerjava.api.NotFoundException * No such exec instance diff --git a/src/main/java/com/github/dockerjava/core/command/FrameReader.java b/src/main/java/com/github/dockerjava/core/command/FrameReader.java index bb5a5d17a..78db8359f 100644 --- a/src/main/java/com/github/dockerjava/core/command/FrameReader.java +++ b/src/main/java/com/github/dockerjava/core/command/FrameReader.java @@ -18,7 +18,7 @@ public class FrameReader implements AutoCloseable { private final InputStream inputStream; - private boolean rawStreamDetected = false; + private Boolean rawStreamDetected = false; private final byte[] rawBuffer = new byte[1000]; diff --git a/src/main/java/com/github/dockerjava/core/command/InfoCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/InfoCmdImpl.java index f2dd3ca82..ea27537c7 100644 --- a/src/main/java/com/github/dockerjava/core/command/InfoCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/InfoCmdImpl.java @@ -12,8 +12,4 @@ public InfoCmdImpl(InfoCmd.Exec exec) { super(exec); } - @Override - public String toString() { - return "info"; - } } diff --git a/src/main/java/com/github/dockerjava/core/command/InspectContainerCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/InspectContainerCmdImpl.java index c3fe5f6d5..5b4090a4e 100644 --- a/src/main/java/com/github/dockerjava/core/command/InspectContainerCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/InspectContainerCmdImpl.java @@ -31,11 +31,6 @@ public InspectContainerCmd withContainerId(String containerId) { return this; } - @Override - public String toString() { - return "inspect " + containerId; - } - /** * @throws NotFoundException * No such container diff --git a/src/main/java/com/github/dockerjava/core/command/InspectExecCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/InspectExecCmdImpl.java index 8ee8f79c3..0d93afc4e 100644 --- a/src/main/java/com/github/dockerjava/core/command/InspectExecCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/InspectExecCmdImpl.java @@ -25,11 +25,6 @@ public InspectExecCmd withExecId(String execId) { return this; } - @Override - public String toString() { - return "inspect " + execId; - } - /** * @throws NotFoundException * No such exec diff --git a/src/main/java/com/github/dockerjava/core/command/InspectImageCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/InspectImageCmdImpl.java index 3e28bd488..93043f8e6 100644 --- a/src/main/java/com/github/dockerjava/core/command/InspectImageCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/InspectImageCmdImpl.java @@ -31,11 +31,6 @@ public InspectImageCmd withImageId(String imageId) { return this; } - @Override - public String toString() { - return "inspect " + imageId; - } - /** * @throws NotFoundException * No such image diff --git a/src/main/java/com/github/dockerjava/core/command/KillContainerCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/KillContainerCmdImpl.java index 05e709f37..45c5e38ba 100644 --- a/src/main/java/com/github/dockerjava/core/command/KillContainerCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/KillContainerCmdImpl.java @@ -41,11 +41,6 @@ public KillContainerCmd withSignal(String signal) { return this; } - @Override - public String toString() { - return "kill " + containerId; - } - /** * @throws NotFoundException * No such container diff --git a/src/main/java/com/github/dockerjava/core/command/ListContainersCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ListContainersCmdImpl.java index 5759cfc53..b7a70603d 100644 --- a/src/main/java/com/github/dockerjava/core/command/ListContainersCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/ListContainersCmdImpl.java @@ -27,9 +27,9 @@ public class ListContainersCmdImpl extends AbstrDockerCmd> implements ListContainersCmd { - private int limit = -1; + private Integer limit = -1; - private boolean showSize, showAll = false; + private Boolean showSize, showAll = false; private String sinceId, beforeId; @@ -40,17 +40,17 @@ public ListContainersCmdImpl(ListContainersCmd.Exec exec) { } @Override - public int getLimit() { + public Integer getLimit() { return limit; } @Override - public boolean hasShowSizeEnabled() { + public Boolean hasShowSizeEnabled() { return showSize; } @Override - public boolean hasShowAllEnabled() { + public Boolean hasShowAllEnabled() { return showAll; } @@ -70,19 +70,20 @@ public Filters getFilters() { } @Override - public ListContainersCmd withShowAll(boolean showAll) { + public ListContainersCmd withShowAll(Boolean showAll) { this.showAll = showAll; return this; } @Override - public ListContainersCmd withShowSize(boolean showSize) { + public ListContainersCmd withShowSize(Boolean showSize) { this.showSize = showSize; return this; } @Override - public ListContainersCmd withLimit(int limit) { + public ListContainersCmd withLimit(Integer limit) { + checkNotNull(limit, "limit was not specified"); checkArgument(limit > 0, "limit must be greater 0"); this.limit = limit; return this; @@ -109,11 +110,4 @@ public ListContainersCmd withFilters(Filters filters) { return this; } - @Override - public String toString() { - return new StringBuilder("ps ").append(showAll ? "--all=true" : "").append(showSize ? "--size=true" : "") - .append(sinceId != null ? " --since " + sinceId : "") - .append(beforeId != null ? " --before " + beforeId : "").append(limit != -1 ? "-n " + limit : "") - .append(filters != null ? " --filters " + filters : "").toString(); - } } diff --git a/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java index ddd4dc79f..69879b673 100644 --- a/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java @@ -19,7 +19,7 @@ public class ListImagesCmdImpl extends AbstrDockerCmd private String filters; - private boolean showAll = false; + private Boolean showAll = false; public ListImagesCmdImpl(ListImagesCmd.Exec exec) { super(exec); @@ -31,12 +31,12 @@ public String getFilters() { } @Override - public boolean hasShowAllEnabled() { + public Boolean hasShowAllEnabled() { return showAll; } @Override - public ListImagesCmd withShowAll(boolean showAll) { + public ListImagesCmd withShowAll(Boolean showAll) { this.showAll = showAll; return this; } @@ -48,9 +48,4 @@ public ListImagesCmd withFilters(String filter) { return this; } - @Override - public String toString() { - return new StringBuilder("images ").append(showAll ? "--all=true" : "") - .append(filters != null ? "--filter " + filters : "").toString(); - } } diff --git a/src/main/java/com/github/dockerjava/core/command/LogContainerCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/LogContainerCmdImpl.java index d9b34e7fb..f561a6deb 100644 --- a/src/main/java/com/github/dockerjava/core/command/LogContainerCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/LogContainerCmdImpl.java @@ -2,6 +2,9 @@ import static com.google.common.base.Preconditions.checkNotNull; +import org.apache.commons.lang.builder.ReflectionToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; + import com.github.dockerjava.api.command.LogContainerCmd; import com.github.dockerjava.api.model.Frame; @@ -26,11 +29,9 @@ public class LogContainerCmdImpl extends AbstrAsyncDockerCmd 0 ? "--since=" + since : "") - .append(containerId).toString(); + return ReflectionToStringBuilder.toString(this, ToStringStyle.SHORT_PREFIX_STYLE); } } diff --git a/src/main/java/com/github/dockerjava/core/command/PauseContainerCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/PauseContainerCmdImpl.java index 81a30dcde..1102b0893 100644 --- a/src/main/java/com/github/dockerjava/core/command/PauseContainerCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/PauseContainerCmdImpl.java @@ -33,11 +33,6 @@ public PauseContainerCmd withContainerId(String containerId) { return this; } - @Override - public String toString() { - return new StringBuilder("pause ").append(containerId).toString(); - } - /** * @throws NotFoundException * No such container diff --git a/src/main/java/com/github/dockerjava/core/command/PullImageCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/PullImageCmdImpl.java index 2416401b0..547fc6519 100644 --- a/src/main/java/com/github/dockerjava/core/command/PullImageCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/PullImageCmdImpl.java @@ -73,8 +73,4 @@ public PullImageCmd withRegistry(String registry) { return this; } - @Override - public String toString() { - return new StringBuilder("pull ").append(repository).append(tag != null ? ":" + tag : "").toString(); - } } diff --git a/src/main/java/com/github/dockerjava/core/command/PullImageResultCallback.java b/src/main/java/com/github/dockerjava/core/command/PullImageResultCallback.java index 956a088a3..c0eaa5d3d 100644 --- a/src/main/java/com/github/dockerjava/core/command/PullImageResultCallback.java +++ b/src/main/java/com/github/dockerjava/core/command/PullImageResultCallback.java @@ -46,7 +46,8 @@ public void awaitSuccess() { if (latestItem == null) { throw new DockerClientException("Could not pull image"); } else if (!latestItem.isPullSuccessIndicated()) { - throw new DockerClientException("Could not pull image: " + latestItem.getError()); + String message = (latestItem.getError() != null) ? latestItem.getError() : latestItem.getStatus(); + throw new DockerClientException("Could not pull image: " + message); } } } diff --git a/src/main/java/com/github/dockerjava/core/command/PushImageCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/PushImageCmdImpl.java index 709113a09..621c4a7a4 100644 --- a/src/main/java/com/github/dockerjava/core/command/PushImageCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/PushImageCmdImpl.java @@ -71,9 +71,4 @@ private PushImageCmd withOptionalAuthConfig(AuthConfig authConfig) { return this; } - @Override - public String toString() { - return new StringBuilder("push ").append(name).toString(); - } - } diff --git a/src/main/java/com/github/dockerjava/core/command/RemoveContainerCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/RemoveContainerCmdImpl.java index ff23023d2..d23323d2f 100644 --- a/src/main/java/com/github/dockerjava/core/command/RemoveContainerCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/RemoveContainerCmdImpl.java @@ -2,12 +2,15 @@ import static com.google.common.base.Preconditions.checkNotNull; +import org.apache.commons.lang.builder.ReflectionToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; + import com.github.dockerjava.api.NotFoundException; import com.github.dockerjava.api.command.RemoveContainerCmd; /** * Remove a container. - * + * * @param removeVolumes * - true or false, Remove the volumes associated to the container. Defaults to false * @param force @@ -17,7 +20,7 @@ public class RemoveContainerCmdImpl extends AbstrDockerCmd imp private String imageId; - private boolean force, noPrune; + private Boolean force, noPrune; public RemoveImageCmdImpl(RemoveImageCmd.Exec exec, String imageId) { super(exec); @@ -27,12 +30,12 @@ public String getImageId() { } @Override - public boolean hasForceEnabled() { + public Boolean hasForceEnabled() { return force; } @Override - public boolean hasNoPruneEnabled() { + public Boolean hasNoPruneEnabled() { return noPrune; } @@ -44,33 +47,17 @@ public RemoveImageCmd withImageId(String imageId) { } @Override - public RemoveImageCmd withForce() { - return withForce(true); - } - - @Override - public RemoveImageCmd withForce(boolean force) { + public RemoveImageCmd withForce(Boolean force) { this.force = force; return this; } @Override - public RemoveImageCmd withNoPrune() { - return withNoPrune(true); - } - - @Override - public RemoveImageCmd withNoPrune(boolean noPrune) { + public RemoveImageCmd withNoPrune(Boolean noPrune) { this.noPrune = noPrune; return this; } - @Override - public String toString() { - return new StringBuilder("rmi ").append(noPrune ? "--no-prune=true" : "").append(force ? "--force=true" : "") - .append(imageId).toString(); - } - /** * @throws NotFoundException * No such image diff --git a/src/main/java/com/github/dockerjava/core/command/RestartContainerCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/RestartContainerCmdImpl.java index 4766dfdb4..fe99477fa 100644 --- a/src/main/java/com/github/dockerjava/core/command/RestartContainerCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/RestartContainerCmdImpl.java @@ -17,7 +17,7 @@ public class RestartContainerCmdImpl extends AbstrDockerCmd= 0, "timeout must be greater or equal 0"); this.timeout = timeout; return this; } - @Override - public String toString() { - return new StringBuilder("restart ").append("--time=" + timeout + " ").append(containerId).toString(); - } - /** * @throws NotFoundException * No such container diff --git a/src/main/java/com/github/dockerjava/core/command/SaveImageCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/SaveImageCmdImpl.java index 676b151af..12dafb7d9 100644 --- a/src/main/java/com/github/dockerjava/core/command/SaveImageCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/SaveImageCmdImpl.java @@ -49,11 +49,6 @@ public SaveImageCmd withTag(String tag) { return this; } - @Override - public String toString() { - return new StringBuilder("get ").append(name).toString(); - } - /** * @throws com.github.dockerjava.api.NotFoundException * No such image diff --git a/src/main/java/com/github/dockerjava/core/command/SearchImagesCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/SearchImagesCmdImpl.java index 6630377c8..342a7fbd2 100644 --- a/src/main/java/com/github/dockerjava/core/command/SearchImagesCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/SearchImagesCmdImpl.java @@ -35,8 +35,4 @@ public SearchImagesCmd withTerm(String term) { return this; } - @Override - public String toString() { - return new StringBuilder("search ").append(term).toString(); - } } diff --git a/src/main/java/com/github/dockerjava/core/command/StartContainerCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/StartContainerCmdImpl.java index 6fe60734d..9d432b7f3 100644 --- a/src/main/java/com/github/dockerjava/core/command/StartContainerCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/StartContainerCmdImpl.java @@ -37,11 +37,6 @@ public String getContainerId() { return containerId; } - @Override - public String toString() { - return ToStringBuilder.reflectionToString(this).toString(); - } - /** * @throws NotFoundException * No such container diff --git a/src/main/java/com/github/dockerjava/core/command/StatsCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/StatsCmdImpl.java index 9f0e3a00a..bcd187d6a 100644 --- a/src/main/java/com/github/dockerjava/core/command/StatsCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/StatsCmdImpl.java @@ -28,8 +28,4 @@ public String getContainerId() { return containerId; } - @Override - public String toString() { - return new StringBuilder("stats").append(containerId != null ? " --id=" + containerId : "").toString(); - } } diff --git a/src/main/java/com/github/dockerjava/core/command/StopContainerCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/StopContainerCmdImpl.java index 28373e2ce..bb3ff28e6 100644 --- a/src/main/java/com/github/dockerjava/core/command/StopContainerCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/StopContainerCmdImpl.java @@ -3,6 +3,9 @@ import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; +import org.apache.commons.lang.builder.ReflectionToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; + import com.github.dockerjava.api.NotFoundException; import com.github.dockerjava.api.NotModifiedException; import com.github.dockerjava.api.command.StopContainerCmd; @@ -20,7 +23,7 @@ public class StopContainerCmdImpl extends AbstrDockerCmd private String containerId; - private int timeout = 10; + private Integer timeout = 10; public StopContainerCmdImpl(StopContainerCmd.Exec exec, String containerId) { super(exec); @@ -33,7 +36,7 @@ public String getContainerId() { } @Override - public int getTimeout() { + public Integer getTimeout() { return timeout; } @@ -45,17 +48,13 @@ public StopContainerCmd withContainerId(String containerId) { } @Override - public StopContainerCmd withTimeout(int timeout) { + public StopContainerCmd withTimeout(Integer timeout) { + checkNotNull(timeout, "timeout was not specified"); checkArgument(timeout >= 0, "timeout must be greater or equal 0"); this.timeout = timeout; return this; } - @Override - public String toString() { - return new StringBuilder("stop ").append("--time=" + timeout + " ").append(containerId).toString(); - } - /** * @throws NotFoundException * No such container diff --git a/src/main/java/com/github/dockerjava/core/command/TagImageCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/TagImageCmdImpl.java index e31151147..afa3c3e52 100644 --- a/src/main/java/com/github/dockerjava/core/command/TagImageCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/TagImageCmdImpl.java @@ -2,6 +2,9 @@ import static com.google.common.base.Preconditions.checkNotNull; +import org.apache.commons.lang.builder.ReflectionToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; + import com.github.dockerjava.api.command.TagImageCmd; /** @@ -13,13 +16,13 @@ * The repository to tag in * @param force * (not documented) - * + * */ public class TagImageCmdImpl extends AbstrDockerCmd implements TagImageCmd { private String imageId, repository, tag; - private boolean force; + private Boolean force; public TagImageCmdImpl(TagImageCmd.Exec exec, String imageId, String repository, String tag) { super(exec); @@ -44,7 +47,7 @@ public String getTag() { } @Override - public boolean hasForceEnabled() { + public Boolean hasForceEnabled() { return force; } @@ -75,15 +78,9 @@ public TagImageCmd withForce() { } @Override - public TagImageCmd withForce(boolean force) { + public TagImageCmd withForce(Boolean force) { this.force = force; return this; } - @Override - public String toString() { - return new StringBuilder("tag ").append(force ? "--force=true " : "") - .append(repository != null ? repository + "/" : "").append(imageId) - .append(tag != null ? ":" + tag : "").toString(); - } } diff --git a/src/main/java/com/github/dockerjava/core/command/TopContainerCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/TopContainerCmdImpl.java index b4414f29e..44fc97be2 100644 --- a/src/main/java/com/github/dockerjava/core/command/TopContainerCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/TopContainerCmdImpl.java @@ -2,6 +2,9 @@ import static com.google.common.base.Preconditions.checkNotNull; +import org.apache.commons.lang.builder.ReflectionToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; + import com.github.dockerjava.api.NotFoundException; import com.github.dockerjava.api.command.TopContainerCmd; import com.github.dockerjava.api.command.TopContainerResponse; @@ -45,11 +48,6 @@ public TopContainerCmd withPsArgs(String psArgs) { return this; } - @Override - public String toString() { - return new StringBuilder("top ").append(containerId).append(psArgs != null ? " " + psArgs : "").toString(); - } - /** * @throws NotFoundException * No such container diff --git a/src/main/java/com/github/dockerjava/core/command/UnpauseContainerCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/UnpauseContainerCmdImpl.java index 583d519c8..949a7bb6f 100644 --- a/src/main/java/com/github/dockerjava/core/command/UnpauseContainerCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/UnpauseContainerCmdImpl.java @@ -33,11 +33,6 @@ public UnpauseContainerCmd withContainerId(String containerId) { return this; } - @Override - public String toString() { - return new StringBuilder("pause ").append(containerId).toString(); - } - /** * @throws NotFoundException * No such container diff --git a/src/main/java/com/github/dockerjava/core/command/VersionCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/VersionCmdImpl.java index 67f46ce3a..3f27eacf1 100644 --- a/src/main/java/com/github/dockerjava/core/command/VersionCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/VersionCmdImpl.java @@ -8,11 +8,6 @@ */ public class VersionCmdImpl extends AbstrDockerCmd implements VersionCmd { - @Override - public String toString() { - return "version"; - } - public VersionCmdImpl(VersionCmd.Exec exec) { super(exec); } diff --git a/src/main/java/com/github/dockerjava/core/command/WaitContainerCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/WaitContainerCmdImpl.java index 17f67fe49..af18a5895 100644 --- a/src/main/java/com/github/dockerjava/core/command/WaitContainerCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/WaitContainerCmdImpl.java @@ -31,8 +31,4 @@ public WaitContainerCmd withContainerId(String containerId) { return this; } - @Override - public String toString() { - return "wait " + containerId; - } } diff --git a/src/main/java/com/github/dockerjava/jaxrs/AbstrDockerCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/AbstrDockerCmdExec.java index 2ac9835bc..10ee7896d 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/AbstrDockerCmdExec.java +++ b/src/main/java/com/github/dockerjava/jaxrs/AbstrDockerCmdExec.java @@ -56,4 +56,16 @@ protected String registryConfigs(AuthConfigurations authConfigs) { } } + protected boolean bool(Boolean bool) { + return bool != null && bool; + } + + protected WebTarget booleanQueryParam(WebTarget webTarget, String name, Boolean value) { + if(bool(value)) { + webTarget = webTarget.queryParam(name, bool(value) + ""); + } + + return webTarget; + } + } diff --git a/src/main/java/com/github/dockerjava/jaxrs/AttachContainerCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/AttachContainerCmdExec.java index 37f13edc6..d0a5ae8f3 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/AttachContainerCmdExec.java +++ b/src/main/java/com/github/dockerjava/jaxrs/AttachContainerCmdExec.java @@ -26,12 +26,13 @@ protected AbstractCallbackNotifier callbackNotifier(AttachContainerCmd co ResultCallback resultCallback) { WebTarget webTarget = getBaseResource().path("/containers/{id}/attach") - .resolveTemplate("id", command.getContainerId()) - .queryParam("logs", command.hasLogsEnabled() ? "1" : "0") - // .queryParam("stdin", command.hasStdinEnabled() ? "1" : "0") - .queryParam("stdout", command.hasStdoutEnabled() ? "1" : "0") - .queryParam("stderr", command.hasStderrEnabled() ? "1" : "0") - .queryParam("stream", command.hasFollowStreamEnabled() ? "1" : "0"); + .resolveTemplate("id", command.getContainerId()); + + webTarget = booleanQueryParam(webTarget, "logs", command.hasLogsEnabled()); + webTarget = booleanQueryParam(webTarget, "stdout", command.hasStdoutEnabled()); + //webTarget = booleanQueryParam(webTarget, "stdin", command.hasStdinEnabled()); + webTarget = booleanQueryParam(webTarget, "stderr", command.hasStderrEnabled()); + webTarget = booleanQueryParam(webTarget, "stream", command.hasFollowStreamEnabled()); LOGGER.trace("POST: {}", webTarget); diff --git a/src/main/java/com/github/dockerjava/jaxrs/BuildImageCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/BuildImageCmdExec.java index 4f1a198d2..5ca6eea0b 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/BuildImageCmdExec.java +++ b/src/main/java/com/github/dockerjava/jaxrs/BuildImageCmdExec.java @@ -62,21 +62,18 @@ protected AbstractCallbackNotifier callbackNotifier(BuildImag if (command.getRemote() != null) { webTarget = webTarget.queryParam("remote", command.getRemote().toString()); } - if (command.isQuiet()) { - webTarget = webTarget.queryParam("q", "true"); - } - if (command.hasNoCacheEnabled()) { - webTarget = webTarget.queryParam("nocache", "true"); - } - if (command.hasPullEnabled()) { - webTarget = webTarget.queryParam("pull", "true"); - } - if (!command.hasRemoveEnabled()) { + + webTarget = booleanQueryParam(webTarget, "q", command.isQuiet()); + webTarget = booleanQueryParam(webTarget, "nocache", command.hasNoCacheEnabled()); + webTarget = booleanQueryParam(webTarget, "pull", command.hasPullEnabled()); + webTarget = booleanQueryParam(webTarget, "rm", command.hasRemoveEnabled()); + webTarget = booleanQueryParam(webTarget, "forcerm", command.isForcerm()); + + // this has to be handled differently as it should switch to 'false' + if (command.hasRemoveEnabled() == null || !command.hasRemoveEnabled()) { webTarget = webTarget.queryParam("rm", "false"); } - if (command.isForcerm()) { - webTarget = webTarget.queryParam("forcerm", "true"); - } + if (command.getMemory() != null) { webTarget = webTarget.queryParam("memory", command.getMemory()); } diff --git a/src/main/java/com/github/dockerjava/jaxrs/CommitCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/CommitCmdExec.java index ba4d78945..8a8fad231 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/CommitCmdExec.java +++ b/src/main/java/com/github/dockerjava/jaxrs/CommitCmdExec.java @@ -21,13 +21,14 @@ public CommitCmdExec(WebTarget baseResource, DockerClientConfig dockerClientConf @Override protected String execute(CommitCmd command) { - WebTarget webResource = getBaseResource().path("/commit").queryParam("container", command.getContainerId()) + WebTarget webTarget = getBaseResource().path("/commit").queryParam("container", command.getContainerId()) .queryParam("repo", command.getRepository()).queryParam("tag", command.getTag()) - .queryParam("m", command.getMessage()).queryParam("author", command.getAuthor()) - .queryParam("pause", command.hasPauseEnabled() ? "1" : "0"); + .queryParam("m", command.getMessage()).queryParam("author", command.getAuthor()); - LOGGER.trace("POST: {}", webResource); - ObjectNode objectNode = webResource.request().accept("application/vnd.docker.raw-stream") + webTarget = booleanQueryParam(webTarget, "pause", command.hasPauseEnabled()); + + LOGGER.trace("POST: {}", webTarget); + ObjectNode objectNode = webTarget.request().accept("application/vnd.docker.raw-stream") .post(entity(command, MediaType.APPLICATION_JSON), ObjectNode.class); return objectNode.get("Id").asText(); } diff --git a/src/main/java/com/github/dockerjava/jaxrs/ListContainersCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/ListContainersCmdExec.java index 01afaa6c5..4b087bc66 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/ListContainersCmdExec.java +++ b/src/main/java/com/github/dockerjava/jaxrs/ListContainersCmdExec.java @@ -24,22 +24,23 @@ public ListContainersCmdExec(WebTarget baseResource, DockerClientConfig dockerCl @Override protected List execute(ListContainersCmd command) { - WebTarget webResource = getBaseResource().path("/containers/json") - .queryParam("all", command.hasShowAllEnabled() ? "1" : "0").queryParam("since", command.getSinceId()) - .queryParam("before", command.getBeforeId()) - .queryParam("size", command.hasShowSizeEnabled() ? "1" : "0"); + WebTarget webTarget = getBaseResource().path("/containers/json").queryParam("since", command.getSinceId()) + .queryParam("before", command.getBeforeId()); - if (command.getLimit() >= 0) { - webResource = webResource.queryParam("limit", String.valueOf(command.getLimit())); + webTarget = booleanQueryParam(webTarget, "all", command.hasShowAllEnabled()); + webTarget = booleanQueryParam(webTarget, "size", command.hasShowSizeEnabled()); + + if (command.getLimit() != null && command.getLimit() >= 0) { + webTarget = webTarget.queryParam("limit", String.valueOf(command.getLimit())); } if (command.getFilters() != null) { - webResource = webResource.queryParam("filters", - urlPathSegmentEscaper().escape(command.getFilters().toString())); + webTarget = webTarget + .queryParam("filters", urlPathSegmentEscaper().escape(command.getFilters().toString())); } - LOGGER.trace("GET: {}", webResource); - List containers = webResource.request().accept(MediaType.APPLICATION_JSON) + LOGGER.trace("GET: {}", webTarget); + List containers = webTarget.request().accept(MediaType.APPLICATION_JSON) .get(new GenericType>() { }); LOGGER.trace("Response: {}", containers); diff --git a/src/main/java/com/github/dockerjava/jaxrs/ListImagesCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/ListImagesCmdExec.java index 06e7b782b..7bfecd1f2 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/ListImagesCmdExec.java +++ b/src/main/java/com/github/dockerjava/jaxrs/ListImagesCmdExec.java @@ -23,15 +23,16 @@ public ListImagesCmdExec(WebTarget baseResource, DockerClientConfig dockerClient @Override protected List execute(ListImagesCmd command) { - WebTarget webResource = getBaseResource().path("/images/json").queryParam("all", - command.hasShowAllEnabled() ? "1" : "0"); + WebTarget webTarget = getBaseResource().path("/images/json"); + + webTarget = booleanQueryParam(webTarget, "all", command.hasShowAllEnabled()); if (command.getFilters() != null) - webResource = webResource.queryParam("filters", urlPathSegmentEscaper().escape(command.getFilters())); + webTarget = webTarget.queryParam("filters", urlPathSegmentEscaper().escape(command.getFilters())); - LOGGER.trace("GET: {}", webResource); + LOGGER.trace("GET: {}", webTarget); - List images = webResource.request().accept(MediaType.APPLICATION_JSON) + List images = webTarget.request().accept(MediaType.APPLICATION_JSON) .get(new GenericType>() { }); LOGGER.trace("Response: {}", images); diff --git a/src/main/java/com/github/dockerjava/jaxrs/LogContainerCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/LogContainerCmdExec.java index 7bce2964d..086e98a87 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/LogContainerCmdExec.java +++ b/src/main/java/com/github/dockerjava/jaxrs/LogContainerCmdExec.java @@ -26,13 +26,20 @@ protected AbstractCallbackNotifier callbackNotifier(LogContainerCmd comma ResultCallback resultCallback) { WebTarget webTarget = getBaseResource().path("/containers/{id}/logs") - .resolveTemplate("id", command.getContainerId()) - .queryParam("timestamps", command.hasTimestampsEnabled() ? "1" : "0") - .queryParam("stdout", command.hasStdoutEnabled() ? "1" : "0") - .queryParam("stderr", command.hasStderrEnabled() ? "1" : "0") - .queryParam("follow", command.hasFollowStreamEnabled() ? "1" : "0") - .queryParam("since", command.getSince()) - .queryParam("tail", command.getTail() < 0 ? "all" : "" + command.getTail()); + .resolveTemplate("id", command.getContainerId()); + + if(command.getTail() != null) { + webTarget = webTarget.queryParam("tail", command.getTail()); + } + + if(command.getSince() != null) { + webTarget = webTarget.queryParam("since", command.getSince()); + } + + webTarget = booleanQueryParam(webTarget, "timestamps", command.hasTimestampsEnabled()); + webTarget = booleanQueryParam(webTarget, "stdout", command.hasStdoutEnabled()); + webTarget = booleanQueryParam(webTarget, "stderr", command.hasStderrEnabled()); + webTarget = booleanQueryParam(webTarget, "follow", command.hasFollowStreamEnabled()); LOGGER.trace("GET: {}", webTarget); diff --git a/src/main/java/com/github/dockerjava/jaxrs/RemoveContainerCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/RemoveContainerCmdExec.java index b11d7d457..f513714f6 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/RemoveContainerCmdExec.java +++ b/src/main/java/com/github/dockerjava/jaxrs/RemoveContainerCmdExec.java @@ -19,12 +19,13 @@ public RemoveContainerCmdExec(WebTarget baseResource, DockerClientConfig dockerC @Override protected Void execute(RemoveContainerCmd command) { - WebTarget webResource = getBaseResource().path("/containers/" + command.getContainerId()) - .queryParam("v", command.hasRemoveVolumesEnabled() ? "1" : "0") - .queryParam("force", command.hasForceEnabled() ? "1" : "0"); + WebTarget webTarget = getBaseResource().path("/containers/" + command.getContainerId()); - LOGGER.trace("DELETE: {}", webResource); - webResource.request().accept(MediaType.APPLICATION_JSON).delete().close(); + webTarget = booleanQueryParam(webTarget, "v", command.hasRemoveVolumesEnabled()); + webTarget = booleanQueryParam(webTarget, "force", command.hasForceEnabled()); + + LOGGER.trace("DELETE: {}", webTarget); + webTarget.request().accept(MediaType.APPLICATION_JSON).delete().close(); return null; } diff --git a/src/main/java/com/github/dockerjava/jaxrs/RemoveImageCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/RemoveImageCmdExec.java index 7ef7058e5..a3ceba4ea 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/RemoveImageCmdExec.java +++ b/src/main/java/com/github/dockerjava/jaxrs/RemoveImageCmdExec.java @@ -17,12 +17,13 @@ public RemoveImageCmdExec(WebTarget baseResource, DockerClientConfig dockerClien @Override protected Void execute(RemoveImageCmd command) { - WebTarget webResource = getBaseResource().path("/images/" + command.getImageId()) - .queryParam("force", command.hasForceEnabled() ? "1" : "0") - .queryParam("noprune", command.hasNoPruneEnabled() ? "1" : "0"); + WebTarget webTarget = getBaseResource().path("/images/" + command.getImageId()); - LOGGER.trace("DELETE: {}", webResource); - webResource.request().delete().close(); + webTarget = booleanQueryParam(webTarget, "force", command.hasForceEnabled()); + webTarget = booleanQueryParam(webTarget, "noprune", command.hasNoPruneEnabled()); + + LOGGER.trace("DELETE: {}", webTarget); + webTarget.request().delete().close(); return null; } diff --git a/src/main/java/com/github/dockerjava/jaxrs/RestartContainerCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/RestartContainerCmdExec.java index 918dfa361..bfc65ae27 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/RestartContainerCmdExec.java +++ b/src/main/java/com/github/dockerjava/jaxrs/RestartContainerCmdExec.java @@ -20,7 +20,11 @@ public RestartContainerCmdExec(WebTarget baseResource, DockerClientConfig docker @Override protected Void execute(RestartContainerCmd command) { WebTarget webResource = getBaseResource().path("/containers/{id}/restart") - .resolveTemplate("id", command.getContainerId()).queryParam("t", String.valueOf(command.getTimeout())); + .resolveTemplate("id", command.getContainerId()); + + if(command.getTimeout() != null) { + webResource = webResource.queryParam("t", String.valueOf(command.getTimeout())); + } LOGGER.trace("POST: {}", webResource); webResource.request().accept(MediaType.APPLICATION_JSON).post(null).close(); diff --git a/src/main/java/com/github/dockerjava/jaxrs/StopContainerCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/StopContainerCmdExec.java index 8805be6d0..ae9834750 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/StopContainerCmdExec.java +++ b/src/main/java/com/github/dockerjava/jaxrs/StopContainerCmdExec.java @@ -20,7 +20,11 @@ public StopContainerCmdExec(WebTarget baseResource, DockerClientConfig dockerCli @Override protected Void execute(StopContainerCmd command) { WebTarget webResource = getBaseResource().path("/containers/{id}/stop") - .resolveTemplate("id", command.getContainerId()).queryParam("t", String.valueOf(command.getTimeout())); + .resolveTemplate("id", command.getContainerId()); + + if(command.getTimeout() != null) { + webResource = webResource.queryParam("t", String.valueOf(command.getTimeout())); + } LOGGER.trace("POST: {}", webResource); webResource.request().accept(MediaType.APPLICATION_JSON).post(null).close(); diff --git a/src/main/java/com/github/dockerjava/jaxrs/TagImageCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/TagImageCmdExec.java index ca9249eb3..a74541973 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/TagImageCmdExec.java +++ b/src/main/java/com/github/dockerjava/jaxrs/TagImageCmdExec.java @@ -17,12 +17,13 @@ public TagImageCmdExec(WebTarget baseResource, DockerClientConfig dockerClientCo @Override protected Void execute(TagImageCmd command) { - WebTarget webResource = getBaseResource().path("/images/" + command.getImageId() + "/tag") - .queryParam("repo", command.getRepository()).queryParam("tag", command.getTag()) - .queryParam("force", command.hasForceEnabled() ? "1" : "0"); + WebTarget webTarget = getBaseResource().path("/images/" + command.getImageId() + "/tag") + .queryParam("repo", command.getRepository()).queryParam("tag", command.getTag()); - LOGGER.trace("POST: {}", webResource); - webResource.request().post(null).close(); + webTarget = booleanQueryParam(webTarget, "force", command.hasForceEnabled()); + + LOGGER.trace("POST: {}", webTarget); + webTarget.request().post(null).close(); return null; } diff --git a/src/main/java/com/github/dockerjava/jaxrs/filter/LoggingFilter.java b/src/main/java/com/github/dockerjava/jaxrs/filter/LoggingFilter.java index 0ba33ec82..69fdf8c92 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/filter/LoggingFilter.java +++ b/src/main/java/com/github/dockerjava/jaxrs/filter/LoggingFilter.java @@ -111,7 +111,7 @@ public int compare(final Map.Entry> o1, final Map.Entry 60000) { throw new IllegalArgumentException("Invalid start port: " + port); } @@ -189,7 +189,7 @@ public static void assertContainerHasVolumes(InspectContainerResponse inspectCon } protected String containerLog(String containerId) throws Exception { - return dockerClient.logContainerCmd(containerId).withStdOut().exec(new LogContainerTestCallback()) + return dockerClient.logContainerCmd(containerId).withStdOut(true).exec(new LogContainerTestCallback()) .awaitCompletion().toString(); } @@ -210,7 +210,7 @@ public String toString() { protected String buildImage(File baseDir) throws Exception { - return dockerClient.buildImageCmd(baseDir).withNoCache().exec(new BuildImageResultCallback()).awaitImageId(); + return dockerClient.buildImageCmd(baseDir).withNoCache(true).exec(new BuildImageResultCallback()).awaitImageId(); } } diff --git a/src/test/java/com/github/dockerjava/core/GoLangFileMatchTest.java b/src/test/java/com/github/dockerjava/core/GoLangFileMatchTest.java index cf5b03188..990548442 100644 --- a/src/test/java/com/github/dockerjava/core/GoLangFileMatchTest.java +++ b/src/test/java/com/github/dockerjava/core/GoLangFileMatchTest.java @@ -26,7 +26,7 @@ public void testMatch(MatchTestCase testCase) throws IOException { s = FilenameUtils.normalize(s); } try { - boolean matched = GoLangFileMatch.match(pattern, s); + Boolean matched = GoLangFileMatch.match(pattern, s); if (testCase.expectException) { Assert.fail("Expected GoFileMatchException"); } @@ -101,11 +101,11 @@ private final class MatchTestCase { private final String s; - private final boolean matches; + private final Boolean matches; - private final boolean expectException; + private final Boolean expectException; - public MatchTestCase(String pattern, String s, boolean matches, boolean expectException) { + public MatchTestCase(String pattern, String s, Boolean matches, Boolean expectException) { super(); this.pattern = pattern; this.s = s; diff --git a/src/test/java/com/github/dockerjava/core/command/AttachContainerCmdImplTest.java b/src/test/java/com/github/dockerjava/core/command/AttachContainerCmdImplTest.java index 11a65aa14..8ba419824 100644 --- a/src/test/java/com/github/dockerjava/core/command/AttachContainerCmdImplTest.java +++ b/src/test/java/com/github/dockerjava/core/command/AttachContainerCmdImplTest.java @@ -65,7 +65,7 @@ public void onNext(Frame frame) { }; }; - dockerClient.attachContainerCmd(container.getId()).withStdErr().withStdOut().withFollowStream().withLogs() + dockerClient.attachContainerCmd(container.getId()).withStdErr(true).withStdOut(true).withFollowStream(true).withLogs(true) .exec(callback).awaitCompletion(30, TimeUnit.SECONDS).close(); assertThat(callback.toString(), containsString(snippet)); @@ -94,7 +94,7 @@ public void onNext(Frame frame) { }; }; - dockerClient.attachContainerCmd(container.getId()).withStdErr().withStdOut().withFollowStream().exec(callback) + dockerClient.attachContainerCmd(container.getId()).withStdErr(true).withStdOut(true).withFollowStream(true).exec(callback) .awaitCompletion(15, TimeUnit.SECONDS).close(); System.out.println("log: " + callback.toString()); diff --git a/src/test/java/com/github/dockerjava/core/command/BuildImageCmdImplTest.java b/src/test/java/com/github/dockerjava/core/command/BuildImageCmdImplTest.java index 6f4f0e3f4..206fcacf1 100644 --- a/src/test/java/com/github/dockerjava/core/command/BuildImageCmdImplTest.java +++ b/src/test/java/com/github/dockerjava/core/command/BuildImageCmdImplTest.java @@ -87,7 +87,7 @@ public void testNonstandard2() throws Exception { File dockerFile = new File(Thread.currentThread().getContextClassLoader() .getResource("nonstandard/subdirectory/Dockerfile-nonstandard").getFile()); - dockerClient.buildImageCmd().withBaseDirectory(baseDir).withDockerfile(dockerFile).withNoCache() + dockerClient.buildImageCmd().withBaseDirectory(baseDir).withDockerfile(dockerFile).withNoCache(true) .exec(new BuildImageResultCallback()).awaitImageId(); } @@ -149,7 +149,7 @@ private String dockerfileBuild(File baseDir) throws Exception { } private String execBuild(BuildImageCmd buildImageCmd) throws Exception { - String imageId = buildImageCmd.withNoCache().exec(new BuildImageResultCallback()).awaitImageId(); + String imageId = buildImageCmd.withNoCache(true).exec(new BuildImageResultCallback()).awaitImageId(); // Create container based on image CreateContainerResponse container = dockerClient.createContainerCmd(imageId).exec(); @@ -168,7 +168,7 @@ public void testDockerfileIgnored() throws Exception { File baseDir = new File(Thread.currentThread().getContextClassLoader().getResource("testDockerfileIgnored") .getFile()); - dockerClient.buildImageCmd(baseDir).withNoCache().exec(new BuildImageResultCallback()).awaitImageId(); + dockerClient.buildImageCmd(baseDir).withNoCache(true).exec(new BuildImageResultCallback()).awaitImageId(); } @Test @@ -176,7 +176,7 @@ public void testDockerfileNotIgnored() throws Exception { File baseDir = new File(Thread.currentThread().getContextClassLoader().getResource("testDockerfileNotIgnored") .getFile()); - dockerClient.buildImageCmd(baseDir).withNoCache().exec(new BuildImageResultCallback()).awaitImageId(); + dockerClient.buildImageCmd(baseDir).withNoCache(true).exec(new BuildImageResultCallback()).awaitImageId(); } @Test(expectedExceptions = { DockerClientException.class }) @@ -184,7 +184,7 @@ public void testInvalidDockerIgnorePattern() throws Exception { File baseDir = new File(Thread.currentThread().getContextClassLoader() .getResource("testInvalidDockerignorePattern").getFile()); - dockerClient.buildImageCmd(baseDir).withNoCache().exec(new BuildImageResultCallback()).awaitImageId(); + dockerClient.buildImageCmd(baseDir).withNoCache(true).exec(new BuildImageResultCallback()).awaitImageId(); } @Test(groups = "ignoreInCircleCi") @@ -199,7 +199,7 @@ public void testDockerIgnore() throws Exception { public void testNetCatDockerfileBuilder() throws Exception { File baseDir = new File(Thread.currentThread().getContextClassLoader().getResource("netcat").getFile()); - String imageId = dockerClient.buildImageCmd(baseDir).withNoCache().exec(new BuildImageResultCallback()) + String imageId = dockerClient.buildImageCmd(baseDir).withNoCache(true).exec(new BuildImageResultCallback()) .awaitImageId(); assertNotNull(imageId, "Not successful in build"); @@ -274,7 +274,7 @@ public void testBuildFromPrivateRegistry() throws Exception { dockerClient.pushImageCmd("localhost:5000/testuser/busybox").withTag("latest").withAuthConfig(authConfig) .exec(new PushImageResultCallback()).awaitSuccess(); - dockerClient.removeImageCmd("localhost:5000/testuser/busybox").withForce().exec(); + dockerClient.removeImageCmd("localhost:5000/testuser/busybox").withForce(true).exec(); baseDir = new File(Thread.currentThread().getContextClassLoader().getResource("testBuildFromPrivateRegistry") .getFile()); @@ -282,7 +282,7 @@ public void testBuildFromPrivateRegistry() throws Exception { AuthConfigurations authConfigurations = new AuthConfigurations(); authConfigurations.addConfig(authConfig); - imageId = dockerClient.buildImageCmd(baseDir).withNoCache().withBuildAuthConfigs(authConfigurations) + imageId = dockerClient.buildImageCmd(baseDir).withNoCache(true).withBuildAuthConfigs(authConfigurations) .exec(new BuildImageResultCallback()).awaitImageId(); inspectImageResponse = dockerClient.inspectImageCmd(imageId).exec(); diff --git a/src/test/java/com/github/dockerjava/core/command/CopyFileFromContainerCmdImplTest.java b/src/test/java/com/github/dockerjava/core/command/CopyFileFromContainerCmdImplTest.java index b00034ad0..96bae1d8a 100644 --- a/src/test/java/com/github/dockerjava/core/command/CopyFileFromContainerCmdImplTest.java +++ b/src/test/java/com/github/dockerjava/core/command/CopyFileFromContainerCmdImplTest.java @@ -53,7 +53,7 @@ public void copyFromContainer() throws Exception { dockerClient.startContainerCmd(container.getId()).exec(); InputStream response = dockerClient.copyFileFromContainerCmd(container.getId(), "/copyFromContainer").exec(); - boolean bytesAvailable = response.available() > 0; + Boolean bytesAvailable = response.available() > 0; assertTrue(bytesAvailable, "The file was not copied from the container."); // read the stream fully. Otherwise, the underlying stream will not be closed. diff --git a/src/test/java/com/github/dockerjava/core/command/CreateContainerCmdImplTest.java b/src/test/java/com/github/dockerjava/core/command/CreateContainerCmdImplTest.java index a939bcbd9..a383782e6 100644 --- a/src/test/java/com/github/dockerjava/core/command/CreateContainerCmdImplTest.java +++ b/src/test/java/com/github/dockerjava/core/command/CreateContainerCmdImplTest.java @@ -529,7 +529,7 @@ public void createContainerWithLabels() throws DockerException { Map labels = new HashMap(); labels.put("com.github.dockerjava.null", null); - labels.put("com.github.dockerjava.boolean", "true"); + labels.put("com.github.dockerjava.Boolean", "true"); CreateContainerResponse container = dockerClient.createContainerCmd("busybox").withCmd("sleep", "9999") .withLabels(labels).exec(); diff --git a/src/test/java/com/github/dockerjava/core/command/DockerfileFixture.java b/src/test/java/com/github/dockerjava/core/command/DockerfileFixture.java index 9d9b15fd1..569f44d57 100644 --- a/src/test/java/com/github/dockerjava/core/command/DockerfileFixture.java +++ b/src/test/java/com/github/dockerjava/core/command/DockerfileFixture.java @@ -34,7 +34,7 @@ public void open() throws Exception { LOGGER.info("building {}", directory); - dockerClient.buildImageCmd(new File("src/test/resources", directory)).withNoCache() + dockerClient.buildImageCmd(new File("src/test/resources", directory)).withNoCache(true) .exec(new BuildImageResultCallback()).awaitImageId(); Image lastCreatedImage = dockerClient.listImagesCmd().exec().get(0); @@ -56,7 +56,7 @@ public void close() throws Exception { if (containerId != null) { LOGGER.info("removing container {}", containerId); try { - dockerClient.removeContainerCmd(containerId).withForce() // stop too + dockerClient.removeContainerCmd(containerId).withForce(true) // stop too .exec(); } catch (NotFoundException | InternalServerErrorException ignored) { LOGGER.info("ignoring {}", ignored.getMessage()); @@ -67,7 +67,7 @@ public void close() throws Exception { if (repository != null) { LOGGER.info("removing repository {}", repository); try { - dockerClient.removeImageCmd(repository).withForce().exec(); + dockerClient.removeImageCmd(repository).withForce(true).exec(); } catch (NotFoundException | InternalServerErrorException e) { LOGGER.info("ignoring {}", e.getMessage()); } diff --git a/src/test/java/com/github/dockerjava/core/command/EventsCmdImplTest.java b/src/test/java/com/github/dockerjava/core/command/EventsCmdImplTest.java index 2d1be184a..ead529107 100644 --- a/src/test/java/com/github/dockerjava/core/command/EventsCmdImplTest.java +++ b/src/test/java/com/github/dockerjava/core/command/EventsCmdImplTest.java @@ -64,7 +64,7 @@ public void testEventStreamTimeBound() throws Exception { dockerClient.eventsCmd().withSince(startTime).withUntil(endTime).exec(eventCallback); - boolean zeroCount = countDownLatch.await(10, TimeUnit.SECONDS); + Boolean zeroCount = countDownLatch.await(10, TimeUnit.SECONDS); eventCallback.close(); @@ -83,7 +83,7 @@ public void testEventStreaming1() throws Exception { generateEvents(); - boolean zeroCount = countDownLatch.await(10, TimeUnit.SECONDS); + Boolean zeroCount = countDownLatch.await(10, TimeUnit.SECONDS); eventCallback.close(); assertTrue(zeroCount, "Received only: " + eventCallback.getEvents()); @@ -101,7 +101,7 @@ public void testEventStreaming2() throws Exception { generateEvents(); - boolean zeroCount = countDownLatch.await(10, TimeUnit.SECONDS); + Boolean zeroCount = countDownLatch.await(10, TimeUnit.SECONDS); eventCallback.close(); assertTrue(zeroCount, "Received only: " + eventCallback.getEvents()); @@ -117,7 +117,7 @@ public void testEventStreamingWithFilter() throws Exception { generateEvents(); - boolean zeroCount = countDownLatch.await(10, TimeUnit.SECONDS); + Boolean zeroCount = countDownLatch.await(10, TimeUnit.SECONDS); eventCallback.close(); assertTrue(zeroCount, "Received only: " + eventCallback.getEvents()); diff --git a/src/test/java/com/github/dockerjava/core/command/ExecStartCmdImplTest.java b/src/test/java/com/github/dockerjava/core/command/ExecStartCmdImplTest.java index 94934296b..43aa49f0e 100644 --- a/src/test/java/com/github/dockerjava/core/command/ExecStartCmdImplTest.java +++ b/src/test/java/com/github/dockerjava/core/command/ExecStartCmdImplTest.java @@ -57,7 +57,7 @@ public void execStart() throws Exception { dockerClient.execStartCmd(execCreateCmdResponse.getId()).exec(); InputStream response = dockerClient.copyFileFromContainerCmd(container.getId(), "/execStartTest.log").exec(); - boolean bytesAvailable = response.available() > 0; + Boolean bytesAvailable = response.available() > 0; assertTrue(bytesAvailable, "The file was not copied from the container."); // read the stream fully. Otherwise, the underlying stream will not be closed. @@ -82,7 +82,7 @@ public void execStartAttached() throws Exception { dockerClient.execStartCmd(execCreateCmdResponse.getId()).withDetach(false).withTty(true).exec(); InputStream response = dockerClient.copyFileFromContainerCmd(container.getId(), "/execStartTest.log").exec(); - boolean bytesAvailable = response.available() > 0; + Boolean bytesAvailable = response.available() > 0; assertTrue(bytesAvailable, "The file was not copied from the container."); // read the stream fully. Otherwise, the underlying stream will not be closed. diff --git a/src/test/java/com/github/dockerjava/core/command/FrameReaderITest.java b/src/test/java/com/github/dockerjava/core/command/FrameReaderITest.java index 4ca4f7b5b..cdd2771e9 100644 --- a/src/test/java/com/github/dockerjava/core/command/FrameReaderITest.java +++ b/src/test/java/com/github/dockerjava/core/command/FrameReaderITest.java @@ -57,7 +57,7 @@ private List getLoggingFrames() throws Exception { FrameReaderITestCallback collectFramesCallback = new FrameReaderITestCallback(); - dockerClient.logContainerCmd(dockerfileFixture.getContainerId()).withStdOut().withStdErr().withTailAll() + dockerClient.logContainerCmd(dockerfileFixture.getContainerId()).withStdOut(true).withStdErr(true).withTailAll() // we can't follow stream here as it blocks reading from resulting InputStream infinitely // .withFollowStream() .exec(collectFramesCallback).awaitCompletion(); diff --git a/src/test/java/com/github/dockerjava/core/command/InspectExecCmdImplTest.java b/src/test/java/com/github/dockerjava/core/command/InspectExecCmdImplTest.java index 62f530bf2..744bbe82c 100644 --- a/src/test/java/com/github/dockerjava/core/command/InspectExecCmdImplTest.java +++ b/src/test/java/com/github/dockerjava/core/command/InspectExecCmdImplTest.java @@ -58,11 +58,11 @@ public void inspectExecTest() throws IOException { dockerClient.startContainerCmd(container.getId()).exec(); ExecCreateCmdResponse touchFileCmdCreateResponse = dockerClient.execCreateCmd(container.getId()) - .withAttachStdout().withAttachStderr().withCmd("touch", "/marker").exec(); + .withAttachStdout(true).withAttachStderr(true).withCmd("touch", "/marker").exec(); LOG.info("Created exec {}", touchFileCmdCreateResponse.toString()); assertThat(touchFileCmdCreateResponse.getId(), not(isEmptyString())); ExecCreateCmdResponse checkFileCmdCreateResponse = dockerClient.execCreateCmd(container.getId()) - .withAttachStdout().withAttachStderr().withCmd("test", "-e", "/marker").exec(); + .withAttachStdout(true).withAttachStderr(true).withCmd("test", "-e", "/marker").exec(); LOG.info("Created exec {}", checkFileCmdCreateResponse.toString()); assertThat(checkFileCmdCreateResponse.getId(), not(isEmptyString())); diff --git a/src/test/java/com/github/dockerjava/core/command/ListImagesCmdImplTest.java b/src/test/java/com/github/dockerjava/core/command/ListImagesCmdImplTest.java index 221d36f36..3c1fe738d 100644 --- a/src/test/java/com/github/dockerjava/core/command/ListImagesCmdImplTest.java +++ b/src/test/java/com/github/dockerjava/core/command/ListImagesCmdImplTest.java @@ -72,7 +72,7 @@ public void listDanglingImages() throws DockerException { assertThat(images, notNullValue()); LOG.info("Images List: {}", images); assertThat(images.size(), is(greaterThan(0))); - boolean imageInFilteredList = isImageInFilteredList(images, imageId); + Boolean imageInFilteredList = isImageInFilteredList(images, imageId); assertTrue(imageInFilteredList); } diff --git a/src/test/java/com/github/dockerjava/core/command/LogContainerCmdImplTest.java b/src/test/java/com/github/dockerjava/core/command/LogContainerCmdImplTest.java index 638cbdc4c..0b0f9d031 100644 --- a/src/test/java/com/github/dockerjava/core/command/LogContainerCmdImplTest.java +++ b/src/test/java/com/github/dockerjava/core/command/LogContainerCmdImplTest.java @@ -63,7 +63,7 @@ public void asyncLogContainer() throws Exception { LogContainerTestCallback loggingCallback = new LogContainerTestCallback(); // this essentially test the since=0 case - dockerClient.logContainerCmd(container.getId()).withStdErr().withStdOut().exec(loggingCallback); + dockerClient.logContainerCmd(container.getId()).withStdErr(true).withStdOut(true).exec(loggingCallback); loggingCallback.awaitCompletion(); @@ -95,7 +95,7 @@ public void onComplete() { }; }; - dockerClient.logContainerCmd("non-existing").withStdErr().withStdOut().exec(loggingCallback).awaitCompletion(); + dockerClient.logContainerCmd("non-existing").withStdErr(true).withStdOut(true).exec(loggingCallback).awaitCompletion(); } @Test @@ -118,19 +118,19 @@ public void asyncMultipleLogContainer() throws Exception { LogContainerTestCallback loggingCallback = new LogContainerTestCallback(); - dockerClient.logContainerCmd(container.getId()).withStdErr().withStdOut().exec(loggingCallback); + dockerClient.logContainerCmd(container.getId()).withStdErr(true).withStdOut(true).exec(loggingCallback); loggingCallback.close(); loggingCallback = new LogContainerTestCallback(); - dockerClient.logContainerCmd(container.getId()).withStdErr().withStdOut().exec(loggingCallback); + dockerClient.logContainerCmd(container.getId()).withStdErr(true).withStdOut(true).exec(loggingCallback); loggingCallback.close(); loggingCallback = new LogContainerTestCallback(); - dockerClient.logContainerCmd(container.getId()).withStdErr().withStdOut().exec(loggingCallback); + dockerClient.logContainerCmd(container.getId()).withStdErr(true).withStdOut(true).exec(loggingCallback); loggingCallback.awaitCompletion(); @@ -158,7 +158,7 @@ public void asyncLogContainerWithSince() throws Exception { LogContainerTestCallback loggingCallback = new LogContainerTestCallback(); - dockerClient.logContainerCmd(container.getId()).withStdErr().withStdOut().withSince(timestamp) + dockerClient.logContainerCmd(container.getId()).withStdErr(true).withStdOut(true).withSince(timestamp) .exec(loggingCallback); loggingCallback.awaitCompletion(); diff --git a/src/test/java/com/github/dockerjava/core/command/PullImageCmdImplTest.java b/src/test/java/com/github/dockerjava/core/command/PullImageCmdImplTest.java index 10e31e171..0d7b112f6 100644 --- a/src/test/java/com/github/dockerjava/core/command/PullImageCmdImplTest.java +++ b/src/test/java/com/github/dockerjava/core/command/PullImageCmdImplTest.java @@ -81,7 +81,7 @@ public void testPullImage() throws Exception { LOG.info("Removing image: {}", testImage); try { - dockerClient.removeImageCmd(testImage).withForce().exec(); + dockerClient.removeImageCmd(testImage).withForce(true).exec(); } catch (NotFoundException e) { // just ignore if not exist } diff --git a/src/test/java/com/github/dockerjava/core/command/StatsCmdImplTest.java b/src/test/java/com/github/dockerjava/core/command/StatsCmdImplTest.java index 299c694d4..611225d4c 100644 --- a/src/test/java/com/github/dockerjava/core/command/StatsCmdImplTest.java +++ b/src/test/java/com/github/dockerjava/core/command/StatsCmdImplTest.java @@ -66,7 +66,7 @@ public void testStatsStreaming() throws InterruptedException, IOException { .exec(new StatsCallbackTest(countDownLatch)); countDownLatch.await(3, TimeUnit.SECONDS); - boolean gotStats = statsCallback.gotStats(); + Boolean gotStats = statsCallback.gotStats(); LOG.info("Stop stats collection"); @@ -84,7 +84,7 @@ public void testStatsStreaming() throws InterruptedException, IOException { private class StatsCallbackTest extends ResultCallbackTemplate { private final CountDownLatch countDownLatch; - private boolean gotStats = false; + private Boolean gotStats = false; public StatsCallbackTest(CountDownLatch countDownLatch) { this.countDownLatch = countDownLatch; @@ -99,7 +99,7 @@ public void onNext(Statistics stats) { countDownLatch.countDown(); } - public boolean gotStats() { + public Boolean gotStats() { return gotStats; } }