diff --git a/pom.xml b/pom.xml
index 640885610..ddf8b446a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -462,6 +462,18 @@
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
+
+
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>() {