From 7a92e09583397cff9511295aeb8d020e005bcb1f Mon Sep 17 00:00:00 2001 From: Macar Calancea Date: Wed, 7 Feb 2018 13:38:50 -0500 Subject: [PATCH 1/3] add search limit --- pom.xml | 13 ++++++++++- .../api/command/SearchImagesCmd.java | 2 ++ .../core/command/SearchImagesCmdImpl.java | 19 ++++++++++++++- .../dockerjava/jaxrs/SearchImagesCmdExec.java | 23 +++++++++++++------ 4 files changed, 48 insertions(+), 9 deletions(-) diff --git a/pom.xml b/pom.xml index 640885610..640a22d0c 100644 --- a/pom.xml +++ b/pom.xml @@ -461,7 +461,18 @@ org.eclipse.virgo.bundlor org.eclipse.virgo.bundlor.maven - ${maven-bundlor-plugin.version} + ${maven-bundlor-plugin.version} + + org.eclipse.virgo.bundlor + org.eclipse.virgo.bundlor + 1.1.2.RELEASE + + + org.eclipse.virgo.bundlor + org.eclipse.virgo.bundlor.blint + 1.1.2.RELEASE + + bundlor diff --git a/src/main/java/com/github/dockerjava/api/command/SearchImagesCmd.java b/src/main/java/com/github/dockerjava/api/command/SearchImagesCmd.java index 2bc87cc73..8dc38ee3e 100644 --- a/src/main/java/com/github/dockerjava/api/command/SearchImagesCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/SearchImagesCmd.java @@ -18,8 +18,10 @@ public interface SearchImagesCmd extends SyncDockerCmd> { @CheckForNull String getTerm(); + Integer getLimit(); SearchImagesCmd withTerm(@Nonnull String term); + SearchImagesCmd withLimit(@Nonnull Integer limit); interface Exec extends DockerCmdSyncExec> { } diff --git a/src/main/java/com/github/dockerjava/core/command/SearchImagesCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/SearchImagesCmdImpl.java index 342a7fbd2..5eb70b652 100644 --- a/src/main/java/com/github/dockerjava/core/command/SearchImagesCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/SearchImagesCmdImpl.java @@ -1,11 +1,13 @@ package com.github.dockerjava.core.command; +import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; import java.util.List; import com.github.dockerjava.api.command.SearchImagesCmd; import com.github.dockerjava.api.model.SearchItem; +import javax.annotation.Nonnull; /** * Search images @@ -15,8 +17,10 @@ * */ public class SearchImagesCmdImpl extends AbstrDockerCmd> implements SearchImagesCmd { - + private static final int MIN_LIMIT = 1; + private static final int MAX_LIMIT = 100; private String term; + private Integer limit; public SearchImagesCmdImpl(SearchImagesCmd.Exec exec, String term) { super(exec); @@ -35,4 +39,17 @@ public SearchImagesCmd withTerm(String term) { return this; } + @Override + public Integer getLimit() { + return limit; + } + + @Override + public SearchImagesCmd withLimit(@Nonnull Integer limit) { + String errorMessage = String.format("Limit %s is outside the range of [%s, %s]", limit, MIN_LIMIT, MAX_LIMIT); + checkArgument(limit <= MAX_LIMIT, errorMessage); + checkArgument(limit >= MIN_LIMIT, errorMessage); + this.limit = limit; + return this; + } } diff --git a/src/main/java/com/github/dockerjava/jaxrs/SearchImagesCmdExec.java b/src/main/java/com/github/dockerjava/jaxrs/SearchImagesCmdExec.java index 90fdd80cd..4bbbe0b0d 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/SearchImagesCmdExec.java +++ b/src/main/java/com/github/dockerjava/jaxrs/SearchImagesCmdExec.java @@ -1,18 +1,15 @@ package com.github.dockerjava.jaxrs; +import com.github.dockerjava.api.command.SearchImagesCmd; +import com.github.dockerjava.api.model.SearchItem; +import com.github.dockerjava.core.DockerClientConfig; import java.util.List; - import javax.ws.rs.client.WebTarget; import javax.ws.rs.core.GenericType; import javax.ws.rs.core.MediaType; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.github.dockerjava.api.command.SearchImagesCmd; -import com.github.dockerjava.api.model.SearchItem; -import com.github.dockerjava.core.DockerClientConfig; - public class SearchImagesCmdExec extends AbstrSyncDockerCmdExec> implements SearchImagesCmd.Exec { @@ -24,7 +21,19 @@ public SearchImagesCmdExec(WebTarget baseResource, DockerClientConfig dockerClie @Override protected List execute(SearchImagesCmd command) { - WebTarget webResource = getBaseResource().path("/images/search").queryParam("term", command.getTerm()); + WebTarget webResource = null; + + Integer limit = command.getLimit(); + if (limit == null) { + webResource = getBaseResource() + .path("/images/search") + .queryParam("term", command.getTerm()); + } else { + webResource = getBaseResource() + .path("/images/search") + .queryParam("term", command.getTerm()) + .queryParam("limit", command.getLimit()); + } LOGGER.trace("GET: {}", webResource); return webResource.request().accept(MediaType.APPLICATION_JSON).get(new GenericType>() { From 47d75126487c0dddb0f29a1187fa29a095ccf48a Mon Sep 17 00:00:00 2001 From: Macar Calancea Date: Thu, 8 Feb 2018 07:54:28 -0500 Subject: [PATCH 2/3] travis build fix --- pom.xml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/pom.xml b/pom.xml index 640a22d0c..8de73ca17 100644 --- a/pom.xml +++ b/pom.xml @@ -462,16 +462,6 @@ org.eclipse.virgo.bundlor org.eclipse.virgo.bundlor.maven ${maven-bundlor-plugin.version} - - org.eclipse.virgo.bundlor - org.eclipse.virgo.bundlor - 1.1.2.RELEASE - - - org.eclipse.virgo.bundlor - org.eclipse.virgo.bundlor.blint - 1.1.2.RELEASE - From 402a997266efbd7a10307a91904d47b89dffafb0 Mon Sep 17 00:00:00 2001 From: Macar Calancea Date: Thu, 8 Feb 2018 08:05:41 -0500 Subject: [PATCH 3/3] revert travis build fix --- pom.xml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 8de73ca17..ddf8b446a 100644 --- a/pom.xml +++ b/pom.xml @@ -461,8 +461,19 @@ org.eclipse.virgo.bundlor org.eclipse.virgo.bundlor.maven - ${maven-bundlor-plugin.version} - + ${maven-bundlor-plugin.version} + + + org.eclipse.virgo.bundlor + org.eclipse.virgo.bundlor + 1.1.2.RELEASE + + + org.eclipse.virgo.bundlor + org.eclipse.virgo.bundlor.blint + 1.1.2.RELEASE + + bundlor