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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions src/main/java/com/github/dockerjava/api/DockerClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public interface DockerClient extends Closeable {
public PingCmd pingCmd();

public VersionCmd versionCmd();

/**
* * IMAGE API *
*/
Expand Down Expand Up @@ -96,6 +96,8 @@ public CopyFileFromContainerCmd copyFileFromContainerCmd(

public RestartContainerCmd restartContainerCmd(String containerId);

public StatsCmd statsCmd(String containerId);

public CommitCmd commitCmd(String containerId);

public BuildImageCmd buildImageCmd();
Expand All @@ -114,7 +116,7 @@ public CopyFileFromContainerCmd copyFileFromContainerCmd(

public EventsCmd eventsCmd(EventCallback eventCallback);

@Override
public void close() throws IOException;


}
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,9 @@ public interface DockerCmdExecFactory extends Closeable {

public EventsCmd.Exec createEventsCmdExec();

@Override
public void close() throws IOException;

// add
public StatsCmd.Exec createStatsCmdExec();

}
15 changes: 15 additions & 0 deletions src/main/java/com/github/dockerjava/api/command/StatsCmd.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.github.dockerjava.api.command;

import com.github.dockerjava.api.model.Stats;

/**
* @author Heng WU([email protected])
*
*/
public interface StatsCmd extends DockerCmd<Stats> {

public static interface Exec extends DockerCmdExec<StatsCmd, Stats> {
}

public String getContainerId();
}
40 changes: 40 additions & 0 deletions src/main/java/com/github/dockerjava/api/model/Stats.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package com.github.dockerjava.api.model;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
* @author Heng WU([email protected])
*
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class Stats {

@JsonProperty("read")
private String read;

@JsonProperty("network")
private Object network;

@JsonProperty("cpu_stats")
private Object cpu_stats;

@JsonProperty("memory_stats")
private Object memory_stats;

public String getRead() {
return read;
}

public Object getNetwork() {
return network;
}

public Object getCpu_stats() {
return cpu_stats;
}

public Object getMemory_stats() {
return memory_stats;
}
}
54 changes: 12 additions & 42 deletions src/main/java/com/github/dockerjava/core/DockerClientImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ private DockerCmdExecFactory getDockerCmdExecFactory() {
return dockerCmdExecFactory;
}

@Override
public AuthConfig authConfig() {
checkNotNull(dockerClientConfig.getUsername(),
"Configured username is null.");
Expand All @@ -95,23 +94,21 @@ public AuthConfig authConfig() {
/**
* Authenticate with the server, useful for checking authentication.
*/
@Override
public AuthCmd authCmd() {
return new AuthCmdImpl(getDockerCmdExecFactory().createAuthCmdExec(),
authConfig());
}

@Override
public InfoCmd infoCmd() {
return new InfoCmdImpl(getDockerCmdExecFactory().createInfoCmdExec());
}

@Override


public PingCmd pingCmd() {
return new PingCmdImpl(getDockerCmdExecFactory().createPingCmdExec());
}

@Override
public VersionCmd versionCmd() {
return new VersionCmdImpl(getDockerCmdExecFactory()
.createVersionCmdExec());
Expand All @@ -120,13 +117,11 @@ public VersionCmd versionCmd() {
/**
* * IMAGE API *
*/
@Override
public PullImageCmd pullImageCmd(String repository) {
return new PullImageCmdImpl(getDockerCmdExecFactory()
.createPullImageCmdExec(), dockerClientConfig.effectiveAuthConfig(repository), repository);
}

@Override
public PushImageCmd pushImageCmd(String name) {
PushImageCmd cmd = new PushImageCmdImpl(getDockerCmdExecFactory()
.createPushImageCmdExec(), name);
Expand All @@ -137,7 +132,6 @@ public PushImageCmd pushImageCmd(String name) {
return cmd;
}

@Override
public PushImageCmd pushImageCmd(Identifier identifier) {
PushImageCmd cmd = pushImageCmd(identifier.repository.name);
if( identifier.tag.isPresent() )
Expand All @@ -150,37 +144,31 @@ public PushImageCmd pushImageCmd(Identifier identifier) {
return cmd;
}

@Override
public SaveImageCmd saveImageCmd(String name) {
return new SaveImageCmdImpl(getDockerCmdExecFactory().createSaveImageCmdExec(), name);
}

@Override
public CreateImageCmd createImageCmd(String repository,
InputStream imageStream) {
return new CreateImageCmdImpl(getDockerCmdExecFactory()
.createCreateImageCmdExec(), repository, imageStream);
}

@Override
public SearchImagesCmd searchImagesCmd(String term) {
return new SearchImagesCmdImpl(getDockerCmdExecFactory()
.createSearchImagesCmdExec(), term);
}

@Override
public RemoveImageCmd removeImageCmd(String imageId) {
return new RemoveImageCmdImpl(getDockerCmdExecFactory()
.createRemoveImageCmdExec(), imageId);
}

@Override
public ListImagesCmd listImagesCmd() {
return new ListImagesCmdImpl(getDockerCmdExecFactory()
.createListImagesCmdExec());
}

@Override
public InspectImageCmd inspectImageCmd(String imageId) {
return new InspectImageCmdImpl(getDockerCmdExecFactory()
.createInspectImageCmdExec(), imageId);
Expand All @@ -189,120 +177,101 @@ public InspectImageCmd inspectImageCmd(String imageId) {
/**
* * CONTAINER API *
*/

@Override
public ListContainersCmd listContainersCmd() {
return new ListContainersCmdImpl(getDockerCmdExecFactory()
.createListContainersCmdExec());
}

@Override
public CreateContainerCmd createContainerCmd(String image) {
return new CreateContainerCmdImpl(getDockerCmdExecFactory()
.createCreateContainerCmdExec(), image);
}

@Override
public StartContainerCmd startContainerCmd(String containerId) {
return new StartContainerCmdImpl(getDockerCmdExecFactory()
.createStartContainerCmdExec(), containerId);
}

@Override
public InspectContainerCmd inspectContainerCmd(String containerId) {
return new InspectContainerCmdImpl(getDockerCmdExecFactory()
.createInspectContainerCmdExec(), containerId);
}

@Override
public ExecCreateCmd execCreateCmd(String containerId) {
return new ExecCreateCmdImpl(getDockerCmdExecFactory().createExecCmdExec(), containerId);
}

@Override
public RemoveContainerCmd removeContainerCmd(String containerId) {
return new RemoveContainerCmdImpl(getDockerCmdExecFactory()
.createRemoveContainerCmdExec(), containerId);
}

@Override
public WaitContainerCmd waitContainerCmd(String containerId) {
return new WaitContainerCmdImpl(getDockerCmdExecFactory()
.createWaitContainerCmdExec(), containerId);
}

@Override
public AttachContainerCmd attachContainerCmd(String containerId) {
return new AttachContainerCmdImpl(getDockerCmdExecFactory()
.createAttachContainerCmdExec(), containerId);
}

@Override
public ExecStartCmd execStartCmd(String containerId) {
return new ExecStartCmdImpl(getDockerCmdExecFactory().createExecStartCmdExec(), containerId);
}

@Override
public InspectExecCmd inspectExecCmd(String execId) {
return new InspectExecCmdImpl(getDockerCmdExecFactory().createInspectExecCmdExec(), execId);
}

@Override
public LogContainerCmd logContainerCmd(String containerId) {
return new LogContainerCmdImpl(getDockerCmdExecFactory()
.createLogContainerCmdExec(), containerId);
}



@Override
public CopyFileFromContainerCmd copyFileFromContainerCmd(
String containerId, String resource) {
return new CopyFileFromContainerCmdImpl(getDockerCmdExecFactory()
.createCopyFileFromContainerCmdExec(), containerId, resource);
}

@Override
public ContainerDiffCmd containerDiffCmd(String containerId) {
return new ContainerDiffCmdImpl(getDockerCmdExecFactory()
.createContainerDiffCmdExec(), containerId);
}

@Override
public StopContainerCmd stopContainerCmd(String containerId) {
return new StopContainerCmdImpl(getDockerCmdExecFactory()
.createStopContainerCmdExec(), containerId);
}

@Override
public KillContainerCmd killContainerCmd(String containerId) {
return new KillContainerCmdImpl(getDockerCmdExecFactory()
.createKillContainerCmdExec(), containerId);
}

@Override
public RestartContainerCmd restartContainerCmd(String containerId) {
return new RestartContainerCmdImpl(getDockerCmdExecFactory()
.createRestartContainerCmdExec(), containerId);
}

@Override
public CommitCmd commitCmd(String containerId) {
return new CommitCmdImpl(getDockerCmdExecFactory()
.createCommitCmdExec(), containerId);
}

@Override
public BuildImageCmd buildImageCmd() {
return augmentBuildImageCmd(new BuildImageCmdImpl(getDockerCmdExecFactory()
.createBuildImageCmdExec()));
}

@Override
public BuildImageCmd buildImageCmd(File dockerFileOrFolder) {
return augmentBuildImageCmd(new BuildImageCmdImpl(getDockerCmdExecFactory()
.createBuildImageCmdExec(), dockerFileOrFolder));
}

@Override
public BuildImageCmd buildImageCmd(InputStream tarInputStream) {
return augmentBuildImageCmd(new BuildImageCmdImpl(getDockerCmdExecFactory()
.createBuildImageCmdExec(), tarInputStream));
Expand All @@ -317,39 +286,40 @@ private BuildImageCmd augmentBuildImageCmd(BuildImageCmd buildImageCmd) {
return buildImageCmd;
}

@Override

public TopContainerCmd topContainerCmd(String containerId) {
return new TopContainerCmdImpl(getDockerCmdExecFactory()
.createTopContainerCmdExec(), containerId);
}

@Override
public TagImageCmd tagImageCmd(String imageId, String repository, String tag) {
return new TagImageCmdImpl(getDockerCmdExecFactory()
.createTagImageCmdExec(), imageId, repository, tag);
}

@Override
public PauseContainerCmd pauseContainerCmd(String containerId) {
return new PauseContainerCmdImpl(getDockerCmdExecFactory()
.createPauseContainerCmdExec(), containerId);
}

@Override

public UnpauseContainerCmd unpauseContainerCmd(String containerId) {
return new UnpauseContainerCmdImpl(getDockerCmdExecFactory()
.createUnpauseContainerCmdExec(), containerId);
}

@Override
public StatsCmd statsCmd(String containerId) {
return new StatsCmdImpl(getDockerCmdExecFactory()
.createStatsCmdExec(), containerId);
}

public EventsCmd eventsCmd(EventCallback eventCallback) {
return new EventsCmdImpl(getDockerCmdExecFactory()
.createEventsCmdExec(), eventCallback);
}

@Override
public void close() throws IOException {
getDockerCmdExecFactory().close();
}

}
33 changes: 33 additions & 0 deletions src/main/java/com/github/dockerjava/core/StatsCmdImpl.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.github.dockerjava.core;

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

import com.github.dockerjava.api.command.StatsCmd;
import com.github.dockerjava.api.model.Stats;
import com.github.dockerjava.core.command.AbstrDockerCmd;

/**
* @author Heng WU([email protected])
*
*/
public class StatsCmdImpl extends AbstrDockerCmd<StatsCmd, Stats> implements
StatsCmd {

private String containerId;

public StatsCmdImpl(StatsCmd.Exec exec, String containerId) {
super(exec);
checkNotNull(containerId, "containerId was not specified");
this.containerId = containerId;
}

public String getContainerId() {
return containerId;
}

@Override
public String toString() {
return "stats";
}

}
Loading