aboutsummaryrefslogtreecommitdiffstats
path: root/configserver-client
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2021-04-12 15:15:27 +0200
committerJon Marius Venstad <venstad@gmail.com>2021-04-12 15:19:34 +0200
commitf6e6d90662d18d4ab48cba2fb3b3ede0982b58a2 (patch)
tree7d8d12b6b8be0f6396dde39ad86351d3fd21769f /configserver-client
parent437aacd55e4e5b2bbeb046bf03fe40984c710625 (diff)
Support lists of path/parameter entries
Diffstat (limited to 'configserver-client')
-rw-r--r--configserver-client/pom.xml8
-rw-r--r--configserver-client/src/main/java/ai/vespa/hosted/client/AbstractConfigServerClient.java10
-rw-r--r--configserver-client/src/main/java/ai/vespa/hosted/client/ConfigServerClient.java13
3 files changed, 17 insertions, 14 deletions
diff --git a/configserver-client/pom.xml b/configserver-client/pom.xml
index cee6f6c067f..0a29ba003f4 100644
--- a/configserver-client/pom.xml
+++ b/configserver-client/pom.xml
@@ -55,13 +55,7 @@
<dependency>
<groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter-engine</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.yahoo.vespa</groupId>
- <artifactId>testutil</artifactId>
- <version>${project.version}</version>
+ <artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
diff --git a/configserver-client/src/main/java/ai/vespa/hosted/client/AbstractConfigServerClient.java b/configserver-client/src/main/java/ai/vespa/hosted/client/AbstractConfigServerClient.java
index 31707579aa6..e11f0db7194 100644
--- a/configserver-client/src/main/java/ai/vespa/hosted/client/AbstractConfigServerClient.java
+++ b/configserver-client/src/main/java/ai/vespa/hosted/client/AbstractConfigServerClient.java
@@ -133,7 +133,7 @@ public abstract class AbstractConfigServerClient implements ConfigServerClient {
}
@Override
- public RequestBuilder at(String... pathSegments) {
+ public RequestBuilder at(List<String> pathSegments) {
uriBuilder.setPathSegments(requireNonNull(pathSegments));
return this;
}
@@ -150,12 +150,12 @@ public abstract class AbstractConfigServerClient implements ConfigServerClient {
}
@Override
- public RequestBuilder parameters(String... pairs) {
- if (pairs.length % 2 != 0)
+ public RequestBuilder parameters(List<String> pairs) {
+ if (pairs.size() % 2 != 0)
throw new IllegalArgumentException("Must supply parameter key/values in pairs");
- for (int i = 0; i < pairs.length; )
- uriBuilder.setParameter(pairs[i++], pairs[i++]);
+ for (int i = 0; i < pairs.size(); )
+ uriBuilder.setParameter(pairs.get(i++), pairs.get(i++));
return this;
}
diff --git a/configserver-client/src/main/java/ai/vespa/hosted/client/ConfigServerClient.java b/configserver-client/src/main/java/ai/vespa/hosted/client/ConfigServerClient.java
index 482e8d2eb40..61b7edea0cc 100644
--- a/configserver-client/src/main/java/ai/vespa/hosted/client/ConfigServerClient.java
+++ b/configserver-client/src/main/java/ai/vespa/hosted/client/ConfigServerClient.java
@@ -12,6 +12,7 @@ import java.io.UncheckedIOException;
import java.net.URI;
import java.time.Duration;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.function.BiFunction;
@@ -33,7 +34,10 @@ public interface ConfigServerClient extends AutoCloseable {
interface RequestBuilder {
/** Sets the request path. */
- RequestBuilder at(String... pathSegments);
+ default RequestBuilder at(String... pathSegments) { return at(List.of(pathSegments)); }
+
+ /** Sets the request path. */
+ RequestBuilder at(List<String> pathSegments);
/** Sets the request body as UTF-8 application/json. */
RequestBuilder body(byte[] json);
@@ -42,7 +46,12 @@ public interface ConfigServerClient extends AutoCloseable {
RequestBuilder body(HttpEntity entity);
/** Sets the parameter key/values for the request. Number of arguments must be even. */
- RequestBuilder parameters(String... pairs);
+ default RequestBuilder parameters(String... pairs) {
+ return parameters(Arrays.asList(pairs));
+ }
+
+ /** Sets the parameter key/values for the request. Number of arguments must be even. */
+ RequestBuilder parameters(List<String> pairs);
/** Overrides the default socket read timeout of the request. {@code Duration.ZERO} gives infinite timeout. */
RequestBuilder timeout(Duration timeout);