Skip to content

Commit 7a5df63

Browse files
author
Marcus Linke
committed
Move DockerClientBuilder to core
1 parent b8f95be commit 7a5df63

File tree

4 files changed

+22
-11
lines changed

4 files changed

+22
-11
lines changed

src/main/java/com/github/dockerjava/jaxrs/DockerClientBuilder.java renamed to src/main/java/com/github/dockerjava/core/DockerClientBuilder.java

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
package com.github.dockerjava.jaxrs;
1+
package com.github.dockerjava.core;
2+
3+
import java.util.ServiceLoader;
24

35
import com.github.dockerjava.api.DockerClient;
46
import com.github.dockerjava.api.command.DockerCmdExecFactory;
5-
import com.github.dockerjava.core.DockerClientConfig;
6-
import com.github.dockerjava.core.DockerClientImpl;
77

88
public class DockerClientBuilder {
9+
10+
private static ServiceLoader<DockerCmdExecFactory> serviceLoader = ServiceLoader.load(DockerCmdExecFactory.class);
911

1012
private DockerClientImpl dockerClient = null;
1113

@@ -29,8 +31,19 @@ public static DockerClientBuilder getInstance(String serverUrl) {
2931

3032
private static DockerClientImpl withDefaultDockerCmdExecFactory(
3133
DockerClientImpl dockerClient) {
34+
35+
DockerCmdExecFactory dockerCmdExecFactory = getDefaultDockerCmdExecFactory();
36+
3237
return dockerClient
33-
.withDockerCmdExecFactory(new DockerCmdExecFactoryImpl());
38+
.withDockerCmdExecFactory(dockerCmdExecFactory);
39+
}
40+
41+
public static DockerCmdExecFactory getDefaultDockerCmdExecFactory() {
42+
if(!serviceLoader.iterator().hasNext()) {
43+
throw new RuntimeException("Fatal: Can't find any implementation of '" + DockerCmdExecFactory.class.getName() + "' in the current classpath.");
44+
}
45+
46+
return serviceLoader.iterator().next();
3447
}
3548

3649
public DockerClientBuilder withDockerCmdExecFactory(
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
com.github.dockerjava.jaxrs.DockerCmdExecFactoryImpl

src/test/java/com/github/dockerjava/client/AbstractDockerClientTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,8 @@
1616

1717
import com.github.dockerjava.api.DockerClient;
1818
import com.github.dockerjava.api.DockerException;
19+
import com.github.dockerjava.core.DockerClientBuilder;
1920
import com.github.dockerjava.core.TestDockerCmdExecFactory;
20-
import com.github.dockerjava.jaxrs.DockerClientBuilder;
21-
import com.github.dockerjava.jaxrs.DockerCmdExecFactoryImpl;
2221

2322
public abstract class AbstractDockerClientTest extends Assert {
2423

@@ -27,7 +26,7 @@ public abstract class AbstractDockerClientTest extends Assert {
2726

2827
protected DockerClient dockerClient;
2928

30-
protected TestDockerCmdExecFactory dockerCmdExecFactory = new TestDockerCmdExecFactory(new DockerCmdExecFactoryImpl());
29+
protected TestDockerCmdExecFactory dockerCmdExecFactory = new TestDockerCmdExecFactory(DockerClientBuilder.getDefaultDockerCmdExecFactory());
3130

3231
public void beforeTest() {
3332
LOG.info("======================= BEFORETEST =======================");

src/test/java/com/github/dockerjava/core/command/AuthCmdImplTest.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
import com.github.dockerjava.api.DockerException;
1414
import com.github.dockerjava.api.UnauthorizedException;
1515
import com.github.dockerjava.client.AbstractDockerClientTest;
16+
import com.github.dockerjava.core.DockerClientBuilder;
1617
import com.github.dockerjava.core.DockerClientConfig;
17-
import com.github.dockerjava.jaxrs.DockerClientBuilder;
1818

1919
public class AuthCmdImplTest extends AbstractDockerClientTest {
2020

@@ -53,8 +53,6 @@ public void testAuthInvalid() throws Exception {
5353
fail("Expected a UnauthorizedException caused by a bad password.");
5454
} catch (UnauthorizedException e) {
5555

56-
} finally {
57-
client.close();
58-
}
56+
}
5957
}
6058
}

0 commit comments

Comments
 (0)