Skip to content

Commit cee6f88

Browse files
author
Marcus Linke
committed
Merge branch 'akeely-master' into issue-356
2 parents cc3843e + d11001c commit cee6f88

15 files changed

Lines changed: 443 additions & 41 deletions

src/main/java/com/github/dockerjava/api/DockerClient.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.github.dockerjava.api.command.InspectContainerCmd;
2626
import com.github.dockerjava.api.command.InspectExecCmd;
2727
import com.github.dockerjava.api.command.InspectImageCmd;
28+
import com.github.dockerjava.api.command.InspectNetworkCmd;
2829
import com.github.dockerjava.api.command.InspectVolumeCmd;
2930
import com.github.dockerjava.api.command.KillContainerCmd;
3031
import com.github.dockerjava.api.command.ListContainersCmd;
@@ -203,6 +204,8 @@ public interface DockerClient extends Closeable {
203204

204205
public ListNetworksCmd listNetworksCmd();
205206

207+
public InspectNetworkCmd inspectNetworkCmd();
208+
206209
@Override
207210
public void close() throws IOException;
208211

src/main/java/com/github/dockerjava/api/command/DockerCmdExecFactory.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ public interface DockerCmdExecFactory extends Closeable {
9595

9696
public ListNetworksCmd.Exec createListNetworksCmdExec();
9797

98+
public InspectNetworkCmd.Exec createInspectNetworkCmdExec();
99+
98100
@Override
99101
public void close() throws IOException;
100102

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.github.dockerjava.api.command;
2+
3+
import com.github.dockerjava.api.exception.NotFoundException;
4+
import com.github.dockerjava.api.model.Network;
5+
import com.github.dockerjava.core.RemoteApiVersion;
6+
7+
import javax.annotation.CheckForNull;
8+
import javax.annotation.Nonnull;
9+
10+
/**
11+
* Inspect a network.
12+
*
13+
* @since {@link RemoteApiVersion#VERSION_1_21}
14+
*
15+
* Created by andrewk on 1/10/16.
16+
*/
17+
public interface InspectNetworkCmd extends SyncDockerCmd<Network> {
18+
19+
@CheckForNull
20+
public String getNetworkId();
21+
22+
public InspectNetworkCmd withNetworkId(@Nonnull String networkId);
23+
24+
/**
25+
* @throws NotFoundException
26+
* No such network
27+
*/
28+
@Override
29+
public Network exec() throws NotFoundException;
30+
31+
public static interface Exec extends DockerCmdSyncExec<InspectNetworkCmd, Network> {
32+
}
33+
}

src/main/java/com/github/dockerjava/api/command/ListNetworksCmd.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,19 @@
22

33
import com.github.dockerjava.api.model.Filters;
44
import com.github.dockerjava.api.model.Network;
5+
import com.github.dockerjava.core.RemoteApiVersion;
56

67
import javax.annotation.CheckForNull;
8+
79
import java.util.List;
810

11+
/**
12+
* List networks.
13+
*
14+
* @since {@link RemoteApiVersion#VERSION_1_21}
15+
*
16+
* Created by andrewk on 1/10/16.
17+
*/
918
public interface ListNetworksCmd extends SyncDockerCmd<List<Network>> {
1019

1120
@CheckForNull

src/main/java/com/github/dockerjava/api/model/Network.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,10 @@ public static class ContainerNetworkConfig {
7676
private String macAddress;
7777

7878
@JsonProperty("IPv4Address")
79-
private String ipV4Address;
79+
private String ipv4Address;
8080

8181
@JsonProperty("IPv6Address")
82-
private String ipV6Address;
82+
private String ipv6Address;
8383

8484
public String getEndpointId() {
8585
return endpointId;
@@ -89,12 +89,12 @@ public String getMacAddress() {
8989
return macAddress;
9090
}
9191

92-
public String getIpV4Address() {
93-
return ipV4Address;
92+
public String getIpv4Address() {
93+
return ipv4Address;
9494
}
9595

96-
public String getIpV6Address() {
97-
return ipV6Address;
96+
public String getIpv6Address() {
97+
return ipv6Address;
9898
}
9999

100100
@Override

src/main/java/com/github/dockerjava/core/DockerClientImpl.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import com.github.dockerjava.api.command.InspectContainerCmd;
2828
import com.github.dockerjava.api.command.InspectExecCmd;
2929
import com.github.dockerjava.api.command.InspectImageCmd;
30+
import com.github.dockerjava.api.command.InspectNetworkCmd;
3031
import com.github.dockerjava.api.command.InspectVolumeCmd;
3132
import com.github.dockerjava.api.command.KillContainerCmd;
3233
import com.github.dockerjava.api.command.ListContainersCmd;
@@ -69,6 +70,7 @@
6970
import com.github.dockerjava.core.command.ExecCreateCmdImpl;
7071
import com.github.dockerjava.core.command.ExecStartCmdImpl;
7172
import com.github.dockerjava.core.command.InfoCmdImpl;
73+
import com.github.dockerjava.core.command.InpectNetworkCmdImpl;
7274
import com.github.dockerjava.core.command.InspectContainerCmdImpl;
7375
import com.github.dockerjava.core.command.InspectExecCmdImpl;
7476
import com.github.dockerjava.core.command.InspectImageCmdImpl;
@@ -424,6 +426,11 @@ public ListNetworksCmd listNetworksCmd() {
424426
return new ListNetworksCmdImpl(getDockerCmdExecFactory().createListNetworksCmdExec());
425427
}
426428

429+
@Override
430+
public InspectNetworkCmd inspectNetworkCmd() {
431+
return new InpectNetworkCmdImpl(getDockerCmdExecFactory().createInspectNetworkCmdExec());
432+
}
433+
427434
@Override
428435
public void close() throws IOException {
429436
getDockerCmdExecFactory().close();
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.github.dockerjava.core.command;
2+
3+
import com.github.dockerjava.api.command.DockerCmdSyncExec;
4+
import com.github.dockerjava.api.command.InspectNetworkCmd;
5+
import com.github.dockerjava.api.model.Network;
6+
7+
public class InpectNetworkCmdImpl extends AbstrDockerCmd<InspectNetworkCmd, Network> implements InspectNetworkCmd {
8+
9+
private String networkId;
10+
11+
public InpectNetworkCmdImpl(DockerCmdSyncExec<InspectNetworkCmd, Network> exec) {
12+
super(exec);
13+
}
14+
15+
@Override public String getNetworkId() {
16+
return networkId;
17+
}
18+
19+
@Override public InspectNetworkCmd withNetworkId(String networkId) {
20+
21+
this.networkId = networkId;
22+
return this;
23+
}
24+
}

src/main/java/com/github/dockerjava/jaxrs/DockerCmdExecFactoryImpl.java

Lines changed: 70 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,58 @@
22

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

5-
import java.io.IOException;
6-
import java.net.InetSocketAddress;
7-
import java.net.Proxy;
8-
import java.net.ProxySelector;
9-
import java.net.URI;
10-
import java.util.List;
11-
12-
import javax.net.ssl.SSLContext;
13-
import javax.ws.rs.client.Client;
14-
import javax.ws.rs.client.ClientBuilder;
15-
import javax.ws.rs.client.ClientRequestFilter;
16-
import javax.ws.rs.client.ClientResponseFilter;
17-
import javax.ws.rs.client.WebTarget;
18-
19-
import com.github.dockerjava.api.command.*;
5+
import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
6+
import com.github.dockerjava.api.command.AttachContainerCmd;
7+
import com.github.dockerjava.api.command.AuthCmd;
8+
import com.github.dockerjava.api.command.BuildImageCmd;
9+
import com.github.dockerjava.api.command.CommitCmd;
10+
import com.github.dockerjava.api.command.ContainerDiffCmd;
11+
import com.github.dockerjava.api.command.CopyArchiveFromContainerCmd;
12+
import com.github.dockerjava.api.command.CopyArchiveToContainerCmd;
13+
import com.github.dockerjava.api.command.CopyFileFromContainerCmd;
14+
import com.github.dockerjava.api.command.CreateContainerCmd;
15+
import com.github.dockerjava.api.command.CreateImageCmd;
16+
import com.github.dockerjava.api.command.CreateVolumeCmd;
17+
import com.github.dockerjava.api.command.DockerCmdExecFactory;
18+
import com.github.dockerjava.api.command.EventsCmd;
19+
import com.github.dockerjava.api.command.ExecCreateCmd;
20+
import com.github.dockerjava.api.command.ExecStartCmd;
21+
import com.github.dockerjava.api.command.InfoCmd;
22+
import com.github.dockerjava.api.command.InspectContainerCmd;
23+
import com.github.dockerjava.api.command.InspectExecCmd;
24+
import com.github.dockerjava.api.command.InspectImageCmd;
25+
import com.github.dockerjava.api.command.InspectNetworkCmd;
26+
import com.github.dockerjava.api.command.InspectVolumeCmd;
27+
import com.github.dockerjava.api.command.KillContainerCmd;
28+
import com.github.dockerjava.api.command.ListContainersCmd;
29+
import com.github.dockerjava.api.command.ListImagesCmd;
30+
import com.github.dockerjava.api.command.ListNetworksCmd;
31+
import com.github.dockerjava.api.command.ListVolumesCmd;
32+
import com.github.dockerjava.api.command.LogContainerCmd;
33+
import com.github.dockerjava.api.command.PauseContainerCmd;
34+
import com.github.dockerjava.api.command.PingCmd;
35+
import com.github.dockerjava.api.command.PullImageCmd;
36+
import com.github.dockerjava.api.command.PushImageCmd;
37+
import com.github.dockerjava.api.command.RemoveContainerCmd;
38+
import com.github.dockerjava.api.command.RemoveImageCmd;
39+
import com.github.dockerjava.api.command.RemoveVolumeCmd;
40+
import com.github.dockerjava.api.command.RestartContainerCmd;
41+
import com.github.dockerjava.api.command.SaveImageCmd;
42+
import com.github.dockerjava.api.command.SearchImagesCmd;
43+
import com.github.dockerjava.api.command.StartContainerCmd;
44+
import com.github.dockerjava.api.command.StatsCmd;
45+
import com.github.dockerjava.api.command.StopContainerCmd;
46+
import com.github.dockerjava.api.command.TagImageCmd;
47+
import com.github.dockerjava.api.command.TopContainerCmd;
48+
import com.github.dockerjava.api.command.UnpauseContainerCmd;
49+
import com.github.dockerjava.api.command.VersionCmd;
50+
import com.github.dockerjava.api.command.WaitContainerCmd;
51+
import com.github.dockerjava.api.exception.DockerClientException;
52+
import com.github.dockerjava.core.DockerClientConfig;
53+
import com.github.dockerjava.jaxrs.connector.ApacheConnectorProvider;
54+
import com.github.dockerjava.jaxrs.filter.JsonClientFilter;
55+
import com.github.dockerjava.jaxrs.filter.ResponseStatusExceptionFilter;
56+
import com.github.dockerjava.jaxrs.filter.SelectiveLoggingFilter;
2057
import org.apache.http.config.RegistryBuilder;
2158
import org.apache.http.conn.socket.ConnectionSocketFactory;
2259
import org.apache.http.conn.socket.PlainConnectionSocketFactory;
@@ -29,13 +66,18 @@
2966
import org.slf4j.Logger;
3067
import org.slf4j.LoggerFactory;
3168

32-
import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
33-
import com.github.dockerjava.api.exception.DockerClientException;
34-
import com.github.dockerjava.core.DockerClientConfig;
35-
import com.github.dockerjava.jaxrs.connector.ApacheConnectorProvider;
36-
import com.github.dockerjava.jaxrs.filter.JsonClientFilter;
37-
import com.github.dockerjava.jaxrs.filter.ResponseStatusExceptionFilter;
38-
import com.github.dockerjava.jaxrs.filter.SelectiveLoggingFilter;
69+
import javax.net.ssl.SSLContext;
70+
import javax.ws.rs.client.Client;
71+
import javax.ws.rs.client.ClientBuilder;
72+
import javax.ws.rs.client.ClientRequestFilter;
73+
import javax.ws.rs.client.ClientResponseFilter;
74+
import javax.ws.rs.client.WebTarget;
75+
import java.io.IOException;
76+
import java.net.InetSocketAddress;
77+
import java.net.Proxy;
78+
import java.net.ProxySelector;
79+
import java.net.URI;
80+
import java.util.List;
3981

4082
//import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
4183
// see https://github.com/docker-java/docker-java/issues/196
@@ -408,6 +450,12 @@ public ListNetworksCmd.Exec createListNetworksCmdExec() {
408450
return new ListNetworksCmdExec(getBaseResource(), getDockerClientConfig());
409451
}
410452

453+
@Override
454+
public InspectNetworkCmd.Exec createInspectNetworkCmdExec() {
455+
456+
return new InspectNetworkCmdExec(getBaseResource(), getDockerClientConfig());
457+
}
458+
411459
@Override
412460
public void close() throws IOException {
413461
checkNotNull(client, "Factory not initialized. You probably forgot to call init()!");
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.github.dockerjava.jaxrs;
2+
3+
import com.github.dockerjava.api.command.InspectNetworkCmd;
4+
import com.github.dockerjava.api.model.Network;
5+
import com.github.dockerjava.core.DockerClientConfig;
6+
import org.slf4j.Logger;
7+
import org.slf4j.LoggerFactory;
8+
9+
import javax.ws.rs.client.WebTarget;
10+
import javax.ws.rs.core.MediaType;
11+
12+
public class InspectNetworkCmdExec extends AbstrSyncDockerCmdExec<InspectNetworkCmd, Network> implements InspectNetworkCmd.Exec {
13+
14+
private static final Logger LOGGER = LoggerFactory.getLogger(ListNetworksCmdExec.class);
15+
16+
public InspectNetworkCmdExec(WebTarget baseResource, DockerClientConfig dockerClientConfig) {
17+
super(baseResource, dockerClientConfig);
18+
}
19+
20+
@Override protected Network execute(InspectNetworkCmd command) {
21+
22+
WebTarget webResource = getBaseResource().path("/networks/{id}").resolveTemplate("id",
23+
command.getNetworkId());
24+
25+
LOGGER.debug("GET: {}", webResource);
26+
return webResource.request().accept(MediaType.APPLICATION_JSON).get(Network.class);
27+
}
28+
}

0 commit comments

Comments
 (0)