summaryrefslogtreecommitdiffstats
path: root/vespaclient-java
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@oath.com>2018-01-25 17:36:09 +0100
committerGeir Storli <geirst@oath.com>2018-01-29 15:32:15 +0000
commit69665acdb7de8976563c3dd63458ebdfed2603f9 (patch)
tree43b65a0da7e1884c10e03ac9b9390189ac4e8bf7 /vespaclient-java
parent48a9b240ffd85d18e5390ee6689706270afadda8 (diff)
WIP for adding bucket space to stat-related messages in Java
Diffstat (limited to 'vespaclient-java')
-rw-r--r--vespaclient-java/src/main/java/com/yahoo/vespastat/ClientParameters.java20
-rw-r--r--vespaclient-java/src/main/java/com/yahoo/vespastat/CommandLineOptions.java9
-rw-r--r--vespaclient-java/src/test/java/com/yahoo/vespastat/CommandLineOptionsTest.java11
3 files changed, 39 insertions, 1 deletions
diff --git a/vespaclient-java/src/main/java/com/yahoo/vespastat/ClientParameters.java b/vespaclient-java/src/main/java/com/yahoo/vespastat/ClientParameters.java
index 47a0418e2d8..a05e4ed1e48 100644
--- a/vespaclient-java/src/main/java/com/yahoo/vespastat/ClientParameters.java
+++ b/vespaclient-java/src/main/java/com/yahoo/vespastat/ClientParameters.java
@@ -17,6 +17,7 @@ public class ClientParameters {
public final SelectionType selectionType;
// The selection id
public final String id;
+ public final String bucketSpace;
public ClientParameters(
boolean help,
@@ -24,11 +25,22 @@ public class ClientParameters {
String route,
SelectionType selectionType,
String id) {
+ this(help, dumpData, route, selectionType, id, "default");
+ }
+
+ public ClientParameters(
+ boolean help,
+ boolean dumpData,
+ String route,
+ SelectionType selectionType,
+ String id,
+ String bucketSpace) {
this.help = help;
this.dumpData = dumpData;
this.route = route;
this.selectionType = selectionType;
this.id = id;
+ this.bucketSpace = bucketSpace;
}
public enum SelectionType {USER, GROUP, BUCKET, GID, DOCUMENT}
@@ -39,6 +51,7 @@ public class ClientParameters {
private String route;
private SelectionType selectionType;
private String id;
+ private String bucketSpace = "default"; // TODO repo etc etc
public Builder setHelp(boolean help) {
this.help = help;
@@ -65,8 +78,13 @@ public class ClientParameters {
return this;
}
+ public Builder setBucketSpace(String bucketSpace) {
+ this.bucketSpace = bucketSpace;
+ return this;
+ }
+
public ClientParameters build() {
- return new ClientParameters(help, dumpData, route, selectionType, id);
+ return new ClientParameters(help, dumpData, route, selectionType, id, bucketSpace);
}
}
diff --git a/vespaclient-java/src/main/java/com/yahoo/vespastat/CommandLineOptions.java b/vespaclient-java/src/main/java/com/yahoo/vespastat/CommandLineOptions.java
index 59ab17af8d6..b6783efb25b 100644
--- a/vespaclient-java/src/main/java/com/yahoo/vespastat/CommandLineOptions.java
+++ b/vespaclient-java/src/main/java/com/yahoo/vespastat/CommandLineOptions.java
@@ -25,6 +25,7 @@ public class CommandLineOptions {
private static final String BUCKET_OPTION = "bucket";
private static final String GID_OPTION = "gid";
private static final String DOCUMENT_OPTION = "document";
+ private static final String BUCKET_SPACE_OPTION = "bucketspace";
private final Options options = createOptions();
@@ -51,6 +52,13 @@ public class CommandLineOptions {
.longOpt(ROUTE_OPTION)
.build());
+ options.addOption(Option.builder("s")
+ .hasArg(true)
+ .desc("Stat buckets within the given bucket space. If not provided, 'default' is used.")
+ .argName("space")
+ .longOpt(BUCKET_SPACE_OPTION)
+ .build());
+
// A group of mutually exclusive options for user, group, bucket, gid and document.
OptionGroup optionGroup = new OptionGroup();
optionGroup.setRequired(false);
@@ -109,6 +117,7 @@ public class CommandLineOptions {
builder.setHelp(cl.hasOption(HELP_OPTION));
builder.setDumpData(cl.hasOption(DUMP_OPTION));
builder.setRoute(cl.getOptionValue(ROUTE_OPTION, "default"));
+ builder.setBucketSpace(cl.getOptionValue(BUCKET_SPACE_OPTION, "default"));
if (cl.hasOption(USER_OPTION)) {
builder.setSelectionType(ClientParameters.SelectionType.USER);
diff --git a/vespaclient-java/src/test/java/com/yahoo/vespastat/CommandLineOptionsTest.java b/vespaclient-java/src/test/java/com/yahoo/vespastat/CommandLineOptionsTest.java
index 31cef2a6a86..a6bd7280c36 100644
--- a/vespaclient-java/src/test/java/com/yahoo/vespastat/CommandLineOptionsTest.java
+++ b/vespaclient-java/src/test/java/com/yahoo/vespastat/CommandLineOptionsTest.java
@@ -70,6 +70,17 @@ public class CommandLineOptionsTest {
}
}
+ // TODO fixed bucket space repo
+ @Test
+ public void bucket_space_is_default_unless_specified() {
+ assertEquals("default", getParsedOptions("--user", "id").bucketSpace);
+ }
+
+ @Test
+ public void can_specify_explicit_bucket_space() {
+ assertEquals("global", getParsedOptions("--user", "id", "--bucketspace", "global").bucketSpace);
+ }
+
@Test
public void testDefaultRoute() {
assertEquals("default", getParsedOptions("--user", "dummyuser").route);