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@yahoo-inc.com>2018-02-01 13:30:40 +0000
commit889cde36f4effeea407587f64e1ba619a94c0703 (patch)
tree0660ad6b11a832b3fef397e25badbaea8551eb58 /vespaclient-java
parent59d4e97c7faf70ca1994faf7a929444b8984bbd5 (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);