diff --git a/pom.xml b/pom.xml
index fc6b068..aa2ed65 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
cawandu
https://github.com/julian-eggers/cawandu
- 0.2.25-RELEASE
+ 0.3.0-RELEASE
@@ -17,7 +17,7 @@
2.7
4.1.0
- 1.6.4
+ 1.6.6
3.4
8.0.2.2
@@ -27,7 +27,7 @@
org.springframework.boot
spring-boot-starter-parent
- 1.4.4.RELEASE
+ 1.5.1.RELEASE
@@ -153,7 +153,7 @@
com.spotify
docker-client
- 6.1.1
+ 7.0.2
org.json
@@ -170,8 +170,8 @@
provided
-
-
+
+
https://github.com/julian-eggers/cawandu
scm:git:https://github.com/julian-eggers/cawandu.git
scm:git:https://github.com/julian-eggers/cawandu.git
@@ -213,6 +213,10 @@
org.springframework.boot
spring-boot-maven-plugin
+
+ pl.project13.maven
+ git-commit-id-plugin
+
org.codehaus.mojo
@@ -244,10 +248,10 @@
true
${project.version}
- 0.2
+ 0.3
latest
- jeanblanchard/java:serverjre-8
+ openjdk:8-jre-alpine
/var/log/apps
diff --git a/src/main/java/com/itelg/docker/cawandu/config/DockerConfiguration.java b/src/main/java/com/itelg/docker/cawandu/config/DockerConfiguration.java
index 9d0661a..f069ffd 100644
--- a/src/main/java/com/itelg/docker/cawandu/config/DockerConfiguration.java
+++ b/src/main/java/com/itelg/docker/cawandu/config/DockerConfiguration.java
@@ -17,7 +17,7 @@
import com.spotify.docker.client.DockerClient;
import com.spotify.docker.client.exceptions.DockerCertificateException;
import com.spotify.docker.client.exceptions.DockerException;
-import com.spotify.docker.client.messages.AuthConfig;
+import com.spotify.docker.client.messages.RegistryAuth;
@Configuration
public class DockerConfiguration
@@ -46,7 +46,7 @@ public void postConstruct()
public DockerClient dockerClient() throws DockerCertificateException
{
DefaultDockerClient.Builder dockerClientBuilder = getDockerClientBuilder();
- dockerClientBuilder.authConfig(getAuthConfig());
+ dockerClientBuilder.registryAuth(getAuthConfig());
DockerClient dockerClient = dockerClientBuilder.build();
return dockerClient;
}
@@ -70,11 +70,11 @@ else if (Files.exists(Paths.get("/var/run/docker.sock")))
}
}
- private AuthConfig getAuthConfig()
+ private RegistryAuth getAuthConfig()
{
if (isNotBlank(dockerRegistryUsername) && isNotBlank(dockerRegistryEmail) && isNotBlank(dockerRegistryPassword))
{
- AuthConfig.Builder authConfigBuilder = AuthConfig.builder();
+ RegistryAuth.Builder authConfigBuilder = RegistryAuth.builder();
authConfigBuilder.username(dockerRegistryUsername);
authConfigBuilder.email(dockerRegistryEmail);
authConfigBuilder.password(dockerRegistryPassword);
diff --git a/src/main/java/com/itelg/docker/cawandu/repository/http/parser/AbstractJsonConverter.java b/src/main/java/com/itelg/docker/cawandu/repository/http/parser/AbstractJsonConverter.java
new file mode 100644
index 0000000..48be8e9
--- /dev/null
+++ b/src/main/java/com/itelg/docker/cawandu/repository/http/parser/AbstractJsonConverter.java
@@ -0,0 +1,22 @@
+package com.itelg.docker.cawandu.repository.http.parser;
+
+import org.json.JSONException;
+import org.springframework.core.convert.converter.Converter;
+
+public abstract class AbstractJsonConverter implements Converter
+{
+ @Override
+ public T convert(String json)
+ {
+ try
+ {
+ return convertJson(json);
+ }
+ catch (JSONException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ protected abstract T convertJson(String json) throws JSONException;
+}
\ No newline at end of file
diff --git a/src/main/java/com/itelg/docker/cawandu/repository/http/parser/RegistryAuthTokenParser.java b/src/main/java/com/itelg/docker/cawandu/repository/http/parser/RegistryAuthTokenParser.java
index 58e0d6d..1f74191 100644
--- a/src/main/java/com/itelg/docker/cawandu/repository/http/parser/RegistryAuthTokenParser.java
+++ b/src/main/java/com/itelg/docker/cawandu/repository/http/parser/RegistryAuthTokenParser.java
@@ -1,14 +1,14 @@
package com.itelg.docker.cawandu.repository.http.parser;
+import org.json.JSONException;
import org.json.JSONObject;
-import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
@Component
-public class RegistryAuthTokenParser implements Converter
+public class RegistryAuthTokenParser extends AbstractJsonConverter
{
@Override
- public String convert(String json)
+ public String convertJson(String json) throws JSONException
{
return new JSONObject(json).getString("token");
}
diff --git a/src/main/java/com/itelg/docker/cawandu/repository/http/parser/RegistryImageTagListParser.java b/src/main/java/com/itelg/docker/cawandu/repository/http/parser/RegistryImageTagListParser.java
index 40e4b69..fe966f6 100644
--- a/src/main/java/com/itelg/docker/cawandu/repository/http/parser/RegistryImageTagListParser.java
+++ b/src/main/java/com/itelg/docker/cawandu/repository/http/parser/RegistryImageTagListParser.java
@@ -5,15 +5,15 @@
import java.util.List;
import org.json.JSONArray;
+import org.json.JSONException;
import org.json.JSONObject;
-import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
@Component
-public class RegistryImageTagListParser implements Converter>
+public class RegistryImageTagListParser extends AbstractJsonConverter>
{
@Override
- public List convert(String json)
+ public List convertJson(String json) throws JSONException
{
JSONObject jsonObject = new JSONObject(json);
JSONArray jsonArray = jsonObject.getJSONArray("tags");
diff --git a/src/test/java/com/itelg/docker/cawandu/repository/dockerclient/converter/ContainerConverterTest.java b/src/test/java/com/itelg/docker/cawandu/repository/dockerclient/converter/ContainerConverterTest.java
deleted file mode 100644
index 053e8dc..0000000
--- a/src/test/java/com/itelg/docker/cawandu/repository/dockerclient/converter/ContainerConverterTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.itelg.docker.cawandu.repository.dockerclient.converter;
-
-import java.time.LocalDateTime;
-import java.util.Collections;
-import java.util.HashMap;
-
-import org.junit.Assert;
-import org.junit.Test;
-import org.powermock.reflect.Whitebox;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.itelg.docker.cawandu.domain.container.ContainerState;
-import com.spotify.docker.client.messages.Container;
-
-public class ContainerConverterTest
-{
- @Test
- public void testConvert()
- {
- Container clientContainer = new Container();
- Whitebox.setInternalState(clientContainer, "id", "123");
- Whitebox.setInternalState(clientContainer, "status", "Up");
- Whitebox.setInternalState(clientContainer, "names", ImmutableList.of("/test"));
- Whitebox.setInternalState(clientContainer, "image", "jeggers/cawandu:latest");
- Whitebox.setInternalState(clientContainer, "imageId", "123456789");
- Whitebox.setInternalState(clientContainer, "labels", ImmutableMap.of("key", "value"));
- Whitebox.setInternalState(clientContainer, "created", Long.valueOf(1459512451));
-
- com.itelg.docker.cawandu.domain.container.Container container = new ContainerConverter().convert(clientContainer);
- Assert.assertEquals("123", container.getId());
- Assert.assertEquals(ContainerState.UP, container.getState());
- Assert.assertEquals("test", container.getName());
- Assert.assertEquals("jeggers/cawandu:latest", container.getImageName());
- Assert.assertEquals("123456789", container.getImageId());
- Assert.assertEquals(Collections.singletonMap("key", "value"), container.getLabels());
- Assert.assertEquals(HashMap.class, container.getLabels().getClass());
- Assert.assertEquals(LocalDateTime.of(2016, 4, 1, 12, 7, 31), container.getCreated());
- }
-}
\ No newline at end of file