diff options
author | Tor Brede Vekterli <vekterli@oath.com> | 2018-01-25 17:36:09 +0100 |
---|---|---|
committer | Geir Storli <geirst@oath.com> | 2018-01-29 15:32:15 +0000 |
commit | 69665acdb7de8976563c3dd63458ebdfed2603f9 (patch) | |
tree | 43b65a0da7e1884c10e03ac9b9390189ac4e8bf7 /vespaclient-java | |
parent | 48a9b240ffd85d18e5390ee6689706270afadda8 (diff) |
WIP for adding bucket space to stat-related messages in Java
Diffstat (limited to 'vespaclient-java')
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); |