From 4117ee85adabd8bbc18c4712c07a1a5d4a2726e0 Mon Sep 17 00:00:00 2001 From: Bastian Voigt Date: Thu, 20 Jul 2017 17:48:33 +0200 Subject: [PATCH 1/3] Add RootFS property to InspectImage response --- .../docker/client/messages/ImageInfo.java | 3 ++ .../docker/client/messages/RootFs.java | 49 +++++++++++++++++++ .../client/DefaultDockerClientTest.java | 1 + 3 files changed, 53 insertions(+) create mode 100644 src/main/java/com/spotify/docker/client/messages/RootFs.java diff --git a/src/main/java/com/spotify/docker/client/messages/ImageInfo.java b/src/main/java/com/spotify/docker/client/messages/ImageInfo.java index 06b5f7d49..b4e643144 100644 --- a/src/main/java/com/spotify/docker/client/messages/ImageInfo.java +++ b/src/main/java/com/spotify/docker/client/messages/ImageInfo.java @@ -73,6 +73,9 @@ public abstract class ImageInfo { @JsonProperty("VirtualSize") public abstract Long virtualSize(); + @JsonProperty("RootFS") + public abstract RootFs rootFs(); + @JsonCreator static ImageInfo create( @JsonProperty("Id") final String id, diff --git a/src/main/java/com/spotify/docker/client/messages/RootFs.java b/src/main/java/com/spotify/docker/client/messages/RootFs.java new file mode 100644 index 000000000..21df891ea --- /dev/null +++ b/src/main/java/com/spotify/docker/client/messages/RootFs.java @@ -0,0 +1,49 @@ +/*- + * -\-\- + * docker-client + * -- + * Copyright (C) 2016 Spotify AB + * -- + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * -/-/- + */ + + +package com.spotify.docker.client.messages; + +import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.ANY; +import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE; + +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.google.auto.value.AutoValue; + +import java.util.List; + +@AutoValue +@JsonAutoDetect(fieldVisibility = ANY, getterVisibility = NONE, setterVisibility = NONE) +public abstract class RootFs { + @JsonProperty("Type") + public abstract String type(); + + @JsonProperty("Layers") + public abstract List layers(); + + @JsonCreator + static RootFs create( + @JsonProperty("Type") final String type, + @JsonProperty("Layers") final List layers) { + return new AutoValue_RootFS(type, layers); + } +} diff --git a/src/test/java/com/spotify/docker/client/DefaultDockerClientTest.java b/src/test/java/com/spotify/docker/client/DefaultDockerClientTest.java index 135e866f7..3ec8ea9dd 100644 --- a/src/test/java/com/spotify/docker/client/DefaultDockerClientTest.java +++ b/src/test/java/com/spotify/docker/client/DefaultDockerClientTest.java @@ -870,6 +870,7 @@ public void testInspectImage() throws Exception { assertThat(info.size(), notNullValue()); assertThat(info.virtualSize(), notNullValue()); + assertThat(info.rootFS(), notNullValue()); } @Test From 15bd02f7e74b3d8895289a6a85b70936b35ba6a3 Mon Sep 17 00:00:00 2001 From: Bastian Voigt Date: Fri, 21 Jul 2017 08:26:22 +0200 Subject: [PATCH 2/3] Add spaces at the end of the line --- .../java/com/spotify/docker/client/messages/ImageInfo.java | 3 ++- .../java/com/spotify/docker/client/messages/RootFs.java | 7 +++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/spotify/docker/client/messages/ImageInfo.java b/src/main/java/com/spotify/docker/client/messages/ImageInfo.java index b4e643144..8ea0b18f6 100644 --- a/src/main/java/com/spotify/docker/client/messages/ImageInfo.java +++ b/src/main/java/com/spotify/docker/client/messages/ImageInfo.java @@ -90,7 +90,8 @@ static ImageInfo create( @JsonProperty("Architecture") final String architecture, @JsonProperty("Os") final String os, @JsonProperty("Size") final Long size, - @JsonProperty("VirtualSize") final Long virtualSize) { + @JsonProperty("VirtualSize") final Long virtualSize, + @JsonProperty("RootFS") final RootFs rootFs) { return new AutoValue_ImageInfo(id, parent, comment, created, container, containerConfig, dockerVersion, author, config, architecture, os, size, virtualSize); } diff --git a/src/main/java/com/spotify/docker/client/messages/RootFs.java b/src/main/java/com/spotify/docker/client/messages/RootFs.java index 21df891ea..a03216818 100644 --- a/src/main/java/com/spotify/docker/client/messages/RootFs.java +++ b/src/main/java/com/spotify/docker/client/messages/RootFs.java @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -18,7 +18,6 @@ * -/-/- */ - package com.spotify.docker.client.messages; import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.ANY; @@ -44,6 +43,6 @@ public abstract class RootFs { static RootFs create( @JsonProperty("Type") final String type, @JsonProperty("Layers") final List layers) { - return new AutoValue_RootFS(type, layers); + return new AutoValue_RootFs(type, layers); } } From 74e46051bdbea27a43715c5ed7594141d7745c01 Mon Sep 17 00:00:00 2001 From: Bastian Voigt Date: Fri, 21 Jul 2017 08:38:13 +0200 Subject: [PATCH 3/3] Fix compiler errors --- src/main/java/com/spotify/docker/client/messages/ImageInfo.java | 2 +- .../java/com/spotify/docker/client/DefaultDockerClientTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/spotify/docker/client/messages/ImageInfo.java b/src/main/java/com/spotify/docker/client/messages/ImageInfo.java index 8ea0b18f6..02a75433d 100644 --- a/src/main/java/com/spotify/docker/client/messages/ImageInfo.java +++ b/src/main/java/com/spotify/docker/client/messages/ImageInfo.java @@ -93,6 +93,6 @@ static ImageInfo create( @JsonProperty("VirtualSize") final Long virtualSize, @JsonProperty("RootFS") final RootFs rootFs) { return new AutoValue_ImageInfo(id, parent, comment, created, container, containerConfig, - dockerVersion, author, config, architecture, os, size, virtualSize); + dockerVersion, author, config, architecture, os, size, virtualSize, rootFs); } } diff --git a/src/test/java/com/spotify/docker/client/DefaultDockerClientTest.java b/src/test/java/com/spotify/docker/client/DefaultDockerClientTest.java index 3ec8ea9dd..da9709c88 100644 --- a/src/test/java/com/spotify/docker/client/DefaultDockerClientTest.java +++ b/src/test/java/com/spotify/docker/client/DefaultDockerClientTest.java @@ -870,7 +870,7 @@ public void testInspectImage() throws Exception { assertThat(info.size(), notNullValue()); assertThat(info.virtualSize(), notNullValue()); - assertThat(info.rootFS(), notNullValue()); + assertThat(info.rootFs(), notNullValue()); } @Test