From f70dcfecbc5e4535ef85561f10520443300959d2 Mon Sep 17 00:00:00 2001 From: "eric.fjosne" Date: Mon, 17 Aug 2015 16:03:37 +0200 Subject: [PATCH 1/9] Added imagename filter --- .../dockerjava/api/command/ListImagesCmd.java | 2 ++ .../dockerjava/core/command/ListImagesCmdImpl.java | 13 +++++++++++++ .../github/dockerjava/jaxrs/ListImagesCmdExec.java | 3 +++ 3 files changed, 18 insertions(+) diff --git a/src/main/java/com/github/dockerjava/api/command/ListImagesCmd.java b/src/main/java/com/github/dockerjava/api/command/ListImagesCmd.java index 170ed8102..967eefb5a 100644 --- a/src/main/java/com/github/dockerjava/api/command/ListImagesCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/ListImagesCmd.java @@ -15,11 +15,13 @@ public interface ListImagesCmd extends SyncDockerCmd> { public String getFilters(); + public String getImageNameFilter(); public boolean hasShowAllEnabled(); public ListImagesCmd withShowAll(boolean showAll); + public ListImagesCmd withImageNameFilter(String imageName); public ListImagesCmd withFilters(String filters); public static interface Exec extends DockerCmdSyncExec> { diff --git a/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java index ddd4dc79f..bed4a78a6 100644 --- a/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java @@ -17,6 +17,7 @@ */ public class ListImagesCmdImpl extends AbstrDockerCmd> implements ListImagesCmd { + private String imageNameFilter; private String filters; private boolean showAll = false; @@ -53,4 +54,16 @@ public String toString() { return new StringBuilder("images ").append(showAll ? "--all=true" : "") .append(filters != null ? "--filter " + filters : "").toString(); } + + @Override + public ListImagesCmd withImageNameFilter(String imageNameFilter) { + checkNotNull(imageNameFilter, "image name filter has not been specified"); + this.imageNameFilter = imageNameFilter; + return this; + } + + @Override + public String getImageNameFilter() { + return this.imageNameFilter; + } } diff --git a/src/main/java/com/github/dockerjava/jaxrs/ListImagesCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/ListImagesCmdExec.java index fa8409cb8..912fc2fb0 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/ListImagesCmdExec.java +++ b/src/main/java/com/github/dockerjava/jaxrs/ListImagesCmdExec.java @@ -29,6 +29,9 @@ protected List execute(ListImagesCmd command) { if (command.getFilters() != null) webResource = webResource.queryParam("filters", urlPathSegmentEscaper().escape(command.getFilters())); + + if (command.getImageNameFilter() != null) + webResource = webResource.queryParam("filter", urlPathSegmentEscaper().escape(command.getImageNameFilter())); LOGGER.trace("GET: {}", webResource); From 23224f54cf91af45535c1ae6eea97eb8f5a606de Mon Sep 17 00:00:00 2001 From: "eric.fjosne" Date: Mon, 17 Aug 2015 16:53:59 +0200 Subject: [PATCH 2/9] Fixed comments from Kanstantsin Shautsou --- .../dockerjava/api/command/ListImagesCmd.java | 2 ++ .../core/command/ListImagesCmdImpl.java | 18 +++++++++--------- .../dockerjava/jaxrs/ListImagesCmdExec.java | 6 ++++-- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/github/dockerjava/api/command/ListImagesCmd.java b/src/main/java/com/github/dockerjava/api/command/ListImagesCmd.java index 967eefb5a..419b48a68 100644 --- a/src/main/java/com/github/dockerjava/api/command/ListImagesCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/ListImagesCmd.java @@ -15,6 +15,7 @@ public interface ListImagesCmd extends SyncDockerCmd> { public String getFilters(); + public String getImageNameFilter(); public boolean hasShowAllEnabled(); @@ -22,6 +23,7 @@ public interface ListImagesCmd extends SyncDockerCmd> { public ListImagesCmd withShowAll(boolean showAll); public ListImagesCmd withImageNameFilter(String imageName); + public ListImagesCmd withFilters(String filters); public static interface Exec extends DockerCmdSyncExec> { diff --git a/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java index bed4a78a6..e5cdb3536 100644 --- a/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java @@ -55,15 +55,15 @@ public String toString() { .append(filters != null ? "--filter " + filters : "").toString(); } - @Override - public ListImagesCmd withImageNameFilter(String imageNameFilter) { - checkNotNull(imageNameFilter, "image name filter has not been specified"); - this.imageNameFilter = imageNameFilter; - return this; - } + @Override + public ListImagesCmd withImageNameFilter(String imageNameFilter) { + checkNotNull(imageNameFilter, "image name filter not specified"); + this.imageNameFilter = imageNameFilter; + return this; + } - @Override - public String getImageNameFilter() { - return this.imageNameFilter; + @Override + public String getImageNameFilter() { + return this.imageNameFilter; } } diff --git a/src/main/java/com/github/dockerjava/jaxrs/ListImagesCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/ListImagesCmdExec.java index 912fc2fb0..464190776 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/ListImagesCmdExec.java +++ b/src/main/java/com/github/dockerjava/jaxrs/ListImagesCmdExec.java @@ -27,11 +27,13 @@ protected List execute(ListImagesCmd command) { WebTarget webResource = getBaseResource().path("/images/json").queryParam("all", command.hasShowAllEnabled() ? "1" : "0"); - if (command.getFilters() != null) + if (command.getFilters() != null) { webResource = webResource.queryParam("filters", urlPathSegmentEscaper().escape(command.getFilters())); + } - if (command.getImageNameFilter() != null) + if (command.getImageNameFilter() != null) { webResource = webResource.queryParam("filter", urlPathSegmentEscaper().escape(command.getImageNameFilter())); + } LOGGER.trace("GET: {}", webResource); From 34b3a5f3ddc73dd720291ca1e96ba3e9043273e4 Mon Sep 17 00:00:00 2001 From: "eric.fjosne" Date: Mon, 17 Aug 2015 16:56:21 +0200 Subject: [PATCH 3/9] Fixed indentation --- .../java/com/github/dockerjava/jaxrs/ListImagesCmdExec.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/github/dockerjava/jaxrs/ListImagesCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/ListImagesCmdExec.java index 464190776..5cffb2239 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/ListImagesCmdExec.java +++ b/src/main/java/com/github/dockerjava/jaxrs/ListImagesCmdExec.java @@ -32,7 +32,7 @@ protected List execute(ListImagesCmd command) { } if (command.getImageNameFilter() != null) { - webResource = webResource.queryParam("filter", urlPathSegmentEscaper().escape(command.getImageNameFilter())); + webResource = webResource.queryParam("filter", urlPathSegmentEscaper().escape(command.getImageNameFilter())); } LOGGER.trace("GET: {}", webResource); From 85bf86a9912b70b644e9153529efe27aa75c022d Mon Sep 17 00:00:00 2001 From: "eric.fjosne" Date: Mon, 17 Aug 2015 16:58:23 +0200 Subject: [PATCH 4/9] Fixed indentation, added imageNameFilter in the toString() --- .../github/dockerjava/core/command/ListImagesCmdImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java index e5cdb3536..0128996f4 100644 --- a/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java @@ -52,7 +52,8 @@ public ListImagesCmd withFilters(String filter) { @Override public String toString() { return new StringBuilder("images ").append(showAll ? "--all=true" : "") - .append(filters != null ? "--filter " + filters : "").toString(); + .append(filters != null ? "--filters " + filters : "") + .append(imageNameFilter != null ? "--filter " + imageNameFilter : "").toString(); } @Override @@ -65,5 +66,5 @@ public ListImagesCmd withImageNameFilter(String imageNameFilter) { @Override public String getImageNameFilter() { return this.imageNameFilter; - } + } } From a60d9fcb805acbc76483dff08cee66276cb6e3c3 Mon Sep 17 00:00:00 2001 From: "eric.fjosne" Date: Mon, 17 Aug 2015 17:00:26 +0200 Subject: [PATCH 5/9] Fixed indentation --- .../com/github/dockerjava/core/command/ListImagesCmdImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java index 0128996f4..506f17f29 100644 --- a/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java @@ -66,5 +66,5 @@ public ListImagesCmd withImageNameFilter(String imageNameFilter) { @Override public String getImageNameFilter() { return this.imageNameFilter; - } + } } From 4d61fee0f5e3c2dce062064b08a26aa569f1151e Mon Sep 17 00:00:00 2001 From: "eric.fjosne" Date: Wed, 25 Nov 2015 18:51:10 +0100 Subject: [PATCH 6/9] Added legacy registry support --- .../java/com/github/dockerjava/api/model/PullResponseItem.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java b/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java index 834060b99..789f9a279 100644 --- a/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java +++ b/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java @@ -23,7 +23,7 @@ public boolean isPullSuccessIndicated() { } return (getStatus().contains("Download complete") || getStatus().contains("Image is up to date") || getStatus() - .contains("Downloaded newer image")); + .contains("Downloaded newer image") || getStatus().contains("this image was pulled from a legacy registry")); } } From 87d68e3da5bdbb8c1892d425632d95de98b20d12 Mon Sep 17 00:00:00 2001 From: Marcus Linke Date: Sat, 16 Jan 2016 17:31:05 +0100 Subject: [PATCH 7/9] Extracted FiltersEncoder --- .../dockerjava/core/util/FiltersEncoder.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/main/java/com/github/dockerjava/core/util/FiltersEncoder.java diff --git a/src/main/java/com/github/dockerjava/core/util/FiltersEncoder.java b/src/main/java/com/github/dockerjava/core/util/FiltersEncoder.java new file mode 100644 index 000000000..75f9d48c2 --- /dev/null +++ b/src/main/java/com/github/dockerjava/core/util/FiltersEncoder.java @@ -0,0 +1,30 @@ +package com.github.dockerjava.core.util; + +import java.util.List; +import java.util.Map; + +import javax.ws.rs.core.MediaType; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider; + +/** + * JSON Encoder for docker filters. + * + * @author Carlos Sanchez + * + */ +public class FiltersEncoder { + + private static ObjectMapper OBJECT_MAPPER = new JacksonJaxbJsonProvider().locateMapper(Map.class, + MediaType.APPLICATION_JSON_TYPE); + + public static String jsonEncode(Map> filters) { + try { + return OBJECT_MAPPER.writeValueAsString(filters); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + } +} From 15c52ecf101c00f7c51d67b7bbe8116e898cebac Mon Sep 17 00:00:00 2001 From: Marcus Linke Date: Sat, 16 Jan 2016 18:01:00 +0100 Subject: [PATCH 8/9] Rename Filters to FiltersBuilder --- .../core/command/EventsCmdImpl.java | 6 +- .../core/command/ListContainersCmdImpl.java | 6 +- .../core/command/ListImagesCmdImpl.java | 6 +- .../core/command/ListVolumesCmdImpl.java | 6 +- .../{Filters.java => FiltersBuilder.java} | 18 +++--- .../core/util/FiltersBuilderTest.java | 61 +++++++++++++++++++ .../dockerjava/core/util/FiltersTest.java | 61 ------------------- .../netty/exec/ListContainersCmdExecTest.java | 2 +- 8 files changed, 83 insertions(+), 83 deletions(-) rename src/main/java/com/github/dockerjava/core/util/{Filters.java => FiltersBuilder.java} (81%) create mode 100644 src/test/java/com/github/dockerjava/core/util/FiltersBuilderTest.java delete mode 100644 src/test/java/com/github/dockerjava/core/util/FiltersTest.java diff --git a/src/main/java/com/github/dockerjava/core/command/EventsCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/EventsCmdImpl.java index 4dce073e4..230f6dd5a 100644 --- a/src/main/java/com/github/dockerjava/core/command/EventsCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/EventsCmdImpl.java @@ -7,7 +7,7 @@ import com.github.dockerjava.api.command.EventsCmd; import com.github.dockerjava.api.model.Event; -import com.github.dockerjava.core.util.Filters; +import com.github.dockerjava.core.util.FiltersBuilder; /** * Stream docker events @@ -18,7 +18,7 @@ public class EventsCmdImpl extends AbstrAsyncDockerCmd impleme private String until; - private Filters filters = new Filters(); + private FiltersBuilder filters = new FiltersBuilder(); public EventsCmdImpl(EventsCmd.Exec exec) { super(exec); @@ -83,7 +83,7 @@ public String getUntil() { @Override public Map> getFilters() { - return filters.getFilters(); + return filters.build(); } } diff --git a/src/main/java/com/github/dockerjava/core/command/ListContainersCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ListContainersCmdImpl.java index 2533ebb30..b39e3b051 100644 --- a/src/main/java/com/github/dockerjava/core/command/ListContainersCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/ListContainersCmdImpl.java @@ -8,7 +8,7 @@ import com.github.dockerjava.api.command.ListContainersCmd; import com.github.dockerjava.api.model.Container; -import com.github.dockerjava.core.util.Filters; +import com.github.dockerjava.core.util.FiltersBuilder; /** * List containers. @@ -22,7 +22,7 @@ public class ListContainersCmdImpl extends AbstrDockerCmd> getFilters() { - return filters.getFilters(); + return filters.build(); } @Override diff --git a/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java index a1132ca4c..23c772cfb 100644 --- a/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java @@ -10,7 +10,7 @@ import com.github.dockerjava.api.command.ListImagesCmd; import com.github.dockerjava.api.model.Image; -import com.github.dockerjava.core.util.Filters; +import com.github.dockerjava.core.util.FiltersBuilder; /** * List images @@ -26,7 +26,7 @@ public class ListImagesCmdImpl extends AbstrDockerCmd private Boolean showAll = false; - private Filters filters = new Filters(); + private FiltersBuilder filters = new FiltersBuilder(); public ListImagesCmdImpl(ListImagesCmd.Exec exec) { super(exec); @@ -34,7 +34,7 @@ public ListImagesCmdImpl(ListImagesCmd.Exec exec) { @Override public Map> getFilters() { - return filters.getFilters(); + return filters.build(); } @Override diff --git a/src/main/java/com/github/dockerjava/core/command/ListVolumesCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ListVolumesCmdImpl.java index 3299f4521..d9efe7b17 100644 --- a/src/main/java/com/github/dockerjava/core/command/ListVolumesCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/ListVolumesCmdImpl.java @@ -7,7 +7,7 @@ import com.github.dockerjava.api.command.ListVolumesCmd; import com.github.dockerjava.api.command.ListVolumesResponse; -import com.github.dockerjava.core.util.Filters; +import com.github.dockerjava.core.util.FiltersBuilder; /** * @@ -16,7 +16,7 @@ */ public class ListVolumesCmdImpl extends AbstrDockerCmd implements ListVolumesCmd { - private Filters filters = new Filters(); + private FiltersBuilder filters = new FiltersBuilder(); public ListVolumesCmdImpl(ListVolumesCmd.Exec exec) { super(exec); @@ -24,7 +24,7 @@ public ListVolumesCmdImpl(ListVolumesCmd.Exec exec) { @Override public Map> getFilters() { - return filters.getFilters(); + return filters.build(); } @Override diff --git a/src/main/java/com/github/dockerjava/core/util/Filters.java b/src/main/java/com/github/dockerjava/core/util/FiltersBuilder.java similarity index 81% rename from src/main/java/com/github/dockerjava/core/util/Filters.java rename to src/main/java/com/github/dockerjava/core/util/FiltersBuilder.java index ba1f37667..d6cd0d9f7 100644 --- a/src/main/java/com/github/dockerjava/core/util/Filters.java +++ b/src/main/java/com/github/dockerjava/core/util/FiltersBuilder.java @@ -13,14 +13,14 @@ * @author Carlos Sanchez * */ -public class Filters { +public class FiltersBuilder { private Map> filters = new HashMap>(); - public Filters() { + public FiltersBuilder() { } - public Filters withFilter(String key, String... value) { + public FiltersBuilder withFilter(String key, String... value) { filters.put(key, Arrays.asList(value)); return this; } @@ -29,7 +29,7 @@ public List getFilter(String key) { return filters.get(key); } - public Filters withImages(String... image) { + public FiltersBuilder withImages(String... image) { withFilter("image", image); return this; } @@ -38,7 +38,7 @@ public List getImage() { return getFilter("image"); } - public Filters withContainers(String... container) { + public FiltersBuilder withContainers(String... container) { withFilter("container", container); return this; } @@ -53,7 +53,7 @@ public List getContainer() { * @param labels * string array in the form ["key"] or ["key=value"] or a mix of both */ - public Filters withLabels(String... labels) { + public FiltersBuilder withLabels(String... labels) { withFilter("label", labels); return this; } @@ -64,7 +64,7 @@ public Filters withLabels(String... labels) { * @param labels * {@link Map} of labels that contains label keys and values */ - public Filters withLabels(Map labels) { + public FiltersBuilder withLabels(Map labels) { withFilter("label", labelsMapToList(labels).toArray(new String[labels.size()])); return this; } @@ -88,7 +88,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) return false; - Filters filters1 = (Filters) o; + FiltersBuilder filters1 = (FiltersBuilder) o; return filters.equals(filters1.filters); @@ -99,7 +99,7 @@ public int hashCode() { return filters.hashCode(); } - public Map> getFilters() { + public Map> build() { return filters; } } diff --git a/src/test/java/com/github/dockerjava/core/util/FiltersBuilderTest.java b/src/test/java/com/github/dockerjava/core/util/FiltersBuilderTest.java new file mode 100644 index 000000000..125fd0785 --- /dev/null +++ b/src/test/java/com/github/dockerjava/core/util/FiltersBuilderTest.java @@ -0,0 +1,61 @@ +package com.github.dockerjava.core.util; + +import com.github.dockerjava.core.util. +FiltersBuilder; +import com.google.common.collect.Maps; + +import org.testng.annotations.Test; + +import java.util.Map; + +import static org.testng.Assert.*; + +/** + * @author Vincent Latombe + */ +public class FiltersBuilderTest { + + @Test + public void newFiltersShouldBeEquals() { + assertEquals(new FiltersBuilder(), new FiltersBuilder()); + } + + @Test + public void newFiltersShouldHaveEqualHashcode() { + assertEquals(new FiltersBuilder().hashCode(), new FiltersBuilder().hashCode()); + } + + @Test + public void filtersWithEqualContentShouldBeEquals() { + assertEquals(new FiltersBuilder().withContainers("foo"), new FiltersBuilder().withContainers("foo")); + assertEquals(new FiltersBuilder().withLabels("alpha=val"), new FiltersBuilder().withLabels("alpha=val")); + } + + @Test + public void filtersWithEqualContentShouldHaveEqualHashcode() { + assertEquals(new FiltersBuilder().withContainers("foo").hashCode(), new FiltersBuilder().withContainers("foo").hashCode()); + assertEquals(new FiltersBuilder().withLabels("alpha=val").hashCode(), new FiltersBuilder().withLabels("alpha=val").hashCode()); + } + + @Test + public void withLabelsMapShouldBeEqualsToVarargs() { + Map map = Maps.newHashMap(); + map.put("alpha", "val"); + assertEquals(new FiltersBuilder().withLabels("alpha=val"), new FiltersBuilder().withLabels(map)); + + map = Maps.newHashMap(); + map.put("alpha", "val"); + map.put("beta", "val1"); + assertEquals(new FiltersBuilder().withLabels("alpha=val", "beta=val1"), new FiltersBuilder().withLabels(map)); + } + + @Test + public void filtersWithDifferentContentShouldntBeEquals() { + assertNotEquals(new FiltersBuilder().withContainers("foo"), new FiltersBuilder().withContainers("bar")); + } + + @Test + public void filtersWithDifferentContentShouldntHaveEqualHashcode() { + assertNotEquals(new FiltersBuilder().withContainers("foo").hashCode(), new FiltersBuilder().withContainers("bar").hashCode()); + } +} diff --git a/src/test/java/com/github/dockerjava/core/util/FiltersTest.java b/src/test/java/com/github/dockerjava/core/util/FiltersTest.java deleted file mode 100644 index c6213a14f..000000000 --- a/src/test/java/com/github/dockerjava/core/util/FiltersTest.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.github.dockerjava.core.util; - -import com.github.dockerjava.core.util. -Filters; -import com.google.common.collect.Maps; - -import org.testng.annotations.Test; - -import java.util.Map; - -import static org.testng.Assert.*; - -/** - * @author Vincent Latombe - */ -public class FiltersTest { - - @Test - public void newFiltersShouldBeEquals() { - assertEquals(new Filters(), new Filters()); - } - - @Test - public void newFiltersShouldHaveEqualHashcode() { - assertEquals(new Filters().hashCode(), new Filters().hashCode()); - } - - @Test - public void filtersWithEqualContentShouldBeEquals() { - assertEquals(new Filters().withContainers("foo"), new Filters().withContainers("foo")); - assertEquals(new Filters().withLabels("alpha=val"), new Filters().withLabels("alpha=val")); - } - - @Test - public void filtersWithEqualContentShouldHaveEqualHashcode() { - assertEquals(new Filters().withContainers("foo").hashCode(), new Filters().withContainers("foo").hashCode()); - assertEquals(new Filters().withLabels("alpha=val").hashCode(), new Filters().withLabels("alpha=val").hashCode()); - } - - @Test - public void withLabelsMapShouldBeEqualsToVarargs() { - Map map = Maps.newHashMap(); - map.put("alpha", "val"); - assertEquals(new Filters().withLabels("alpha=val"), new Filters().withLabels(map)); - - map = Maps.newHashMap(); - map.put("alpha", "val"); - map.put("beta", "val1"); - assertEquals(new Filters().withLabels("alpha=val", "beta=val1"), new Filters().withLabels(map)); - } - - @Test - public void filtersWithDifferentContentShouldntBeEquals() { - assertNotEquals(new Filters().withContainers("foo"), new Filters().withContainers("bar")); - } - - @Test - public void filtersWithDifferentContentShouldntHaveEqualHashcode() { - assertNotEquals(new Filters().withContainers("foo").hashCode(), new Filters().withContainers("bar").hashCode()); - } -} diff --git a/src/test/java/com/github/dockerjava/netty/exec/ListContainersCmdExecTest.java b/src/test/java/com/github/dockerjava/netty/exec/ListContainersCmdExecTest.java index 247f3514f..6b1822c2c 100644 --- a/src/test/java/com/github/dockerjava/netty/exec/ListContainersCmdExecTest.java +++ b/src/test/java/com/github/dockerjava/netty/exec/ListContainersCmdExecTest.java @@ -27,7 +27,7 @@ import com.github.dockerjava.api.command.InspectContainerResponse; import com.github.dockerjava.api.model.Container; import com.github.dockerjava.core.command.PullImageResultCallback; -import com.github.dockerjava.core.util.Filters; +import com.github.dockerjava.core.util.FiltersBuilder; import com.github.dockerjava.netty.AbstractNettyDockerClientTest; import com.google.common.collect.ImmutableMap; From 2725bc477220c2d3d0bce5a74ce2f8a7e21cc359 Mon Sep 17 00:00:00 2001 From: Marcus Linke Date: Mon, 18 Jan 2016 21:49:01 +0100 Subject: [PATCH 9/9] Rename withLabelsFilter to withLabelFilter --- .../github/dockerjava/api/command/ListContainersCmd.java | 4 ++-- .../com/github/dockerjava/api/command/ListImagesCmd.java | 4 ++-- .../dockerjava/core/command/ListContainersCmdImpl.java | 4 ++-- .../dockerjava/core/command/ListImagesCmdImpl.java | 9 ++------- .../core/command/ListContainersCmdImplTest.java | 4 ++-- .../dockerjava/netty/exec/ListContainersCmdExecTest.java | 4 ++-- 6 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/github/dockerjava/api/command/ListContainersCmd.java b/src/main/java/com/github/dockerjava/api/command/ListContainersCmd.java index 14916bc74..842f242cc 100644 --- a/src/main/java/com/github/dockerjava/api/command/ListContainersCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/ListContainersCmd.java @@ -53,14 +53,14 @@ public interface ListContainersCmd extends SyncDockerCmd> { * @param labels * - Show only containers with the passed labels. */ - public ListContainersCmd withLabelsFilter(String... labels); + public ListContainersCmd withLabelFilter(String... labels); /** * @param labels * - Show only containers with the passed labels. Labels is a {@link Map} that contains label keys and * values */ - public ListContainersCmd withLabelsFilter(Map labels); + public ListContainersCmd withLabelFilter(Map labels); /** * @param limit diff --git a/src/main/java/com/github/dockerjava/api/command/ListImagesCmd.java b/src/main/java/com/github/dockerjava/api/command/ListImagesCmd.java index f5c3271a2..7dee8c918 100644 --- a/src/main/java/com/github/dockerjava/api/command/ListImagesCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/ListImagesCmd.java @@ -36,13 +36,13 @@ public interface ListImagesCmd extends SyncDockerCmd> { * @param labels * - string array in the form ["key"] or ["key=value"] or a mix of both */ - public ListImagesCmd withLabelsFilter(String... labels); + public ListImagesCmd withLabelFilter(String... label); /** * @param labels * - {@link Map} of labels that contains label keys and values */ - public ListImagesCmd withLabelsFilter(Map labels); + public ListImagesCmd withLabelFilter(Map labels); public static interface Exec extends DockerCmdSyncExec> { } diff --git a/src/main/java/com/github/dockerjava/core/command/ListContainersCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ListContainersCmdImpl.java index b39e3b051..8e8e194da 100644 --- a/src/main/java/com/github/dockerjava/core/command/ListContainersCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/ListContainersCmdImpl.java @@ -93,14 +93,14 @@ public ListContainersCmd withBefore(String before) { } @Override - public ListContainersCmd withLabelsFilter(String... labels) { + public ListContainersCmd withLabelFilter(String... labels) { checkNotNull(labels, "labels was not specified"); this.filters.withLabels(labels); return this; } @Override - public ListContainersCmd withLabelsFilter(Map labels) { + public ListContainersCmd withLabelFilter(Map labels) { checkNotNull(labels, "labels was not specified"); this.filters.withLabels(labels); return this; diff --git a/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java index 23c772cfb..d726ca7ce 100644 --- a/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/ListImagesCmdImpl.java @@ -14,11 +14,6 @@ /** * List images - * - * @param showAll - * - Show all images (by default filter out the intermediate images used to build) - * @param filters - * - a json encoded value of the filters (a map[string][]string) to process on the images list. */ public class ListImagesCmdImpl extends AbstrDockerCmd> implements ListImagesCmd { @@ -56,14 +51,14 @@ public ListImagesCmd withDanglingFilter(Boolean dangling) { } @Override - public ListImagesCmd withLabelsFilter(String... labels) { + public ListImagesCmd withLabelFilter(String... labels) { checkNotNull(labels, "labels have not been specified"); filters.withLabels(labels); return this; } @Override - public ListImagesCmd withLabelsFilter(Map labels) { + public ListImagesCmd withLabelFilter(Map labels) { checkNotNull(labels, "labels have not been specified"); filters.withLabels(labels); return this; diff --git a/src/test/java/com/github/dockerjava/core/command/ListContainersCmdImplTest.java b/src/test/java/com/github/dockerjava/core/command/ListContainersCmdImplTest.java index a4b3230d7..529c2f89b 100644 --- a/src/test/java/com/github/dockerjava/core/command/ListContainersCmdImplTest.java +++ b/src/test/java/com/github/dockerjava/core/command/ListContainersCmdImplTest.java @@ -151,14 +151,14 @@ public void testListContainersWithLabelsFilter() throws Exception { // list with filter by label dockerClient.createContainerCmd(testImage).withCmd("echo").withLabels(labels).exec(); filteredContainers = dockerClient.listContainersCmd().withShowAll(true) - .withLabelsFilter(labels).exec(); + .withLabelFilter(labels).exec(); assertThat(filteredContainers.size(), is(equalTo(1))); Container container3 = filteredContainers.get(0); assertThat(container3.getCommand(), not(isEmptyString())); assertThat(container3.getImage(), startsWith(testImage)); filteredContainers = dockerClient.listContainersCmd().withShowAll(true) - .withLabelsFilter("test").exec(); + .withLabelFilter("test").exec(); assertThat(filteredContainers.size(), is(equalTo(1))); container3 = filteredContainers.get(0); assertThat(container3.getCommand(), not(isEmptyString())); diff --git a/src/test/java/com/github/dockerjava/netty/exec/ListContainersCmdExecTest.java b/src/test/java/com/github/dockerjava/netty/exec/ListContainersCmdExecTest.java index 6b1822c2c..673784281 100644 --- a/src/test/java/com/github/dockerjava/netty/exec/ListContainersCmdExecTest.java +++ b/src/test/java/com/github/dockerjava/netty/exec/ListContainersCmdExecTest.java @@ -153,14 +153,14 @@ public void testListContainersWithLabelsFilter() throws Exception { // list with filter by label dockerClient.createContainerCmd(testImage).withCmd("echo").withLabels(labels).exec(); filteredContainers = dockerClient.listContainersCmd().withShowAll(true) - .withLabelsFilter(labels).exec(); + .withLabelFilter(labels).exec(); assertThat(filteredContainers.size(), is(equalTo(1))); Container container3 = filteredContainers.get(0); assertThat(container3.getCommand(), not(isEmptyString())); assertThat(container3.getImage(), startsWith(testImage)); filteredContainers = dockerClient.listContainersCmd().withShowAll(true) - .withLabelsFilter("test").exec(); + .withLabelFilter("test").exec(); assertThat(filteredContainers.size(), is(equalTo(1))); container3 = filteredContainers.get(0); assertThat(container3.getCommand(), not(isEmptyString()));