@Override public int execute(String[] operationArgs) throws Exception { OptionParser parser = new OptionParser(); OptionSet options = parser.parse(operationArgs); // Files List<?> nonOptionArgs = options.nonOptionArguments(); if (nonOptionArgs.size() > 0) { String debugCommand = nonOptionArgs.get(0).toString(); List<?> newNonOptionArgs = nonOptionArgs.subList(1, nonOptionArgs.size()); if ("decrypt".equals(debugCommand)) { runDebugCommand(newNonOptionArgs); } } throw new Exception("Invalid syntax. No command given or command unknown."); }
private static OptionSet getValidOptions(String[] args) { OptionSet options = null; try { options = parser.parse(args); } catch(OptionException oe) { printUsageAndDie("Exception when parsing arguments : " + oe.getMessage()); } if(options.has("help")) { printUsage(); System.exit(0); } Set<String> missing = CmdUtils.missing(options, "url", "final-cluster"); if(missing.size() > 0) { printUsageAndDie("Missing required arguments: " + Joiner.on(", ").join(missing)); } return options; }
private static OptionSet getValidOptions(String[] args) { OptionSet options = null; try { options = parser.parse(args); } catch(OptionException oe) { printUsageAndDie("Exception when parsing arguments : " + oe.getMessage()); } if(options.has("help")) { printUsage(); System.exit(0); } Set<String> missing = CmdUtils.missing(options, "cluster", "stores"); if(missing.size() > 0) { printUsageAndDie("Missing required arguments: " + Joiner.on(", ").join(missing)); } return options; }
private static OptionSet getValidOptions(String[] args) { OptionSet options = null; try { options = parser.parse(args); } catch(OptionException oe) { printUsageAndDie("Exception when parsing arguments : " + oe.getMessage()); } if(options.has(OPT_HELP)) { printUsage(); System.exit(0); } Set<String> missing = CmdUtils.missing(options, OPT_URL, OPT_NODE); if(missing.size() > 0) { printUsageAndDie("Missing required arguments: " + Joiner.on(", ").join(missing)); } return options; }
private OptionSet parse(String[] args) { try { return getParser().parse(args); } catch (OptionException e) { throw new BootiqueException(1, e.getMessage(), e); } }
@Override public GenlinkOperationOptions parseOptions(String[] operationArgs) { GenlinkOperationOptions operationOptions = new GenlinkOperationOptions(); OptionParser parser = new OptionParser(); OptionSpec<Void> optionMachineReadable = parser.acceptsAll(asList("m", "machine-readable")); OptionSpec<Void> optionShort = parser.acceptsAll(asList("s", "short")); parser.allowsUnrecognizedOptions(); OptionSet options = parser.parse(operationArgs); // --machine-readable, -m machineReadableOutput = options.has(optionMachineReadable); // --short, -s operationOptions.setShortUrl(options.has(optionShort)); return operationOptions; }
@Override public StatusOperationOptions parseOptions(String[] operationArgs) throws Exception { StatusOperationOptions operationOptions = new StatusOperationOptions(); OptionParser parser = new OptionParser(); parser.allowsUnrecognizedOptions(); OptionSpec<Void> optionForceChecksum = parser.acceptsAll(asList("f", "force-checksum")); OptionSpec<Void> optionNoDeleteUpload = parser.acceptsAll(asList("D", "no-delete")); OptionSet options = parser.parse(operationArgs); // --force-checksum operationOptions.setForceChecksum(options.has(optionForceChecksum)); // -D, --no-delete operationOptions.setDelete(!options.has(optionNoDeleteUpload)); return operationOptions; }
public static void main(String[] argv) throws Exception { OptionParser parser = getParser(); OptionSet options = parser.parse(argv); validateOptions(options); ZoneShrinkageCLI cli = new ZoneShrinkageCLI((String) options.valueOf("url"), (Integer) options.valueOf("drop-zoneid")); try { cli.executeShrink(options.has("real-run")); } catch(Exception e) { e.printStackTrace(); logAbort(); } }
@Test public void withDottedOptionName() { OptionParser parser = new OptionParser(); parser.accepts("spring.profiles.active").withRequiredArg(); OptionSet options = parser.parse("--spring.profiles.active=p1"); CommandLinePropertySource<?> ps = new JOptCommandLinePropertySource(options); assertThat(ps.getProperty("spring.profiles.active"), equalTo("p1")); }
@Test public void withOptionalArg_andArgIsMissing() { OptionParser parser = new OptionParser(); parser.accepts("foo").withOptionalArg(); OptionSet options = parser.parse("--foo"); PropertySource<?> ps = new JOptCommandLinePropertySource(options); assertThat(ps.containsProperty("foo"), is(true)); assertThat((String)ps.getProperty("foo"), equalTo("")); }
@Test public void withNoArg() { OptionParser parser = new OptionParser(); parser.accepts("o1"); parser.accepts("o2"); OptionSet options = parser.parse("--o1"); PropertySource<?> ps = new JOptCommandLinePropertySource(options); assertThat(ps.containsProperty("o1"), is(true)); assertThat(ps.containsProperty("o2"), is(false)); assertThat((String)ps.getProperty("o1"), equalTo("")); assertThat(ps.getProperty("o2"), nullValue()); }
@Test public void withRequiredArg_andArgIsPresent() { OptionParser parser = new OptionParser(); parser.accepts("foo").withRequiredArg(); OptionSet options = parser.parse("--foo=bar"); PropertySource<?> ps = new JOptCommandLinePropertySource(options); assertThat((String)ps.getProperty("foo"), equalTo("bar")); }
@Test public void withDefaultNonOptionArgsNameAndNoNonOptionArgsPresent() { OptionParser parser = new OptionParser(); parser.acceptsAll(Arrays.asList("o1","option1")).withRequiredArg(); parser.accepts("o2"); OptionSet optionSet = parser.parse("--o1=v1", "--o2"); EnumerablePropertySource<?> ps = new JOptCommandLinePropertySource(optionSet); assertThat(ps.containsProperty("nonOptionArgs"), is(false)); assertThat(ps.containsProperty("o1"), is(true)); assertThat(ps.containsProperty("o2"), is(true)); assertThat(ps.containsProperty("nonOptionArgs"), is(false)); assertThat(ps.getProperty("nonOptionArgs"), nullValue()); assertThat(ps.getPropertyNames().length, is(2)); }
@Test public void withRequiredArg_andMultipleArgsPresent_usingRepeatedOption() { OptionParser parser = new OptionParser(); parser.accepts("foo").withRequiredArg().withValuesSeparatedBy(','); OptionSet options = parser.parse("--foo=bar", "--foo=baz", "--foo=biz"); CommandLinePropertySource<?> ps = new JOptCommandLinePropertySource(options); assertEquals(Arrays.asList("bar","baz","biz"), ps.getOptionValues("foo")); assertThat(ps.getProperty("foo"), equalTo("bar,baz,biz")); }
@Test public void withRequiredArg_andMultipleArgsPresent_usingDelimiter() { OptionParser parser = new OptionParser(); parser.accepts("foo").withRequiredArg().withValuesSeparatedBy(','); OptionSet options = parser.parse("--foo=bar,baz,biz"); CommandLinePropertySource<?> ps = new JOptCommandLinePropertySource(options); assertEquals(Arrays.asList("bar","baz","biz"), ps.getOptionValues("foo")); assertThat(ps.getProperty("foo"), equalTo("bar,baz,biz")); }
@Test public void withMissingOption() { OptionParser parser = new OptionParser(); parser.accepts("foo").withRequiredArg().withValuesSeparatedBy(','); OptionSet options = parser.parse(); // <-- no options whatsoever PropertySource<?> ps = new JOptCommandLinePropertySource(options); assertThat(ps.getProperty("foo"), nullValue()); }
@Test public void withDefaultNonOptionArgsNameAndNonOptionArgsPresent() { OptionParser parser = new OptionParser(); parser.accepts("o1").withRequiredArg(); parser.accepts("o2"); OptionSet optionSet = parser.parse("--o1=v1", "noa1", "--o2", "noa2"); PropertySource<?> ps = new JOptCommandLinePropertySource(optionSet); assertThat(ps.containsProperty("nonOptionArgs"), is(true)); assertThat(ps.containsProperty("o1"), is(true)); assertThat(ps.containsProperty("o2"), is(true)); String nonOptionArgs = (String)ps.getProperty("nonOptionArgs"); assertThat(nonOptionArgs, equalTo("noa1,noa2")); }
@Test public void withRequiredArg_ofTypeEnum() { OptionParser parser = new OptionParser(); parser.accepts("o1").withRequiredArg().ofType(OptionEnum.class); OptionSet options = parser.parse("--o1=VAL_1"); PropertySource<?> ps = new JOptCommandLinePropertySource(options); assertThat(ps.getProperty("o1"), equalTo("VAL_1")); }
@Test public void withCustomNonOptionArgsNameAndNoNonOptionArgsPresent() { OptionParser parser = new OptionParser(); parser.accepts("o1").withRequiredArg(); parser.accepts("o2"); OptionSet optionSet = parser.parse("--o1=v1", "noa1", "--o2", "noa2"); CommandLinePropertySource<?> ps = new JOptCommandLinePropertySource(optionSet); ps.setNonOptionArgsPropertyName("NOA"); assertThat(ps.containsProperty("nonOptionArgs"), is(false)); assertThat(ps.containsProperty("NOA"), is(true)); assertThat(ps.containsProperty("o1"), is(true)); assertThat(ps.containsProperty("o2"), is(true)); String nonOptionArgs = ps.getProperty("NOA"); assertThat(nonOptionArgs, equalTo("noa1,noa2")); }
private Configure analyzeConfigure(String[] args) { final OptionParser parser = new OptionParser(); parser.accepts("pid").withRequiredArg().ofType(int.class).required(); parser.accepts("target").withOptionalArg().ofType(String.class); parser.accepts("multi").withOptionalArg().ofType(int.class); parser.accepts("core").withOptionalArg().ofType(String.class); parser.accepts("agent").withOptionalArg().ofType(String.class); final OptionSet os = parser.parse(args); final Configure configure = new Configure(); if (os.has("target")) { final String[] strSplit = ((String) os.valueOf("target")).split(":"); configure.setTargetIp(strSplit[0]); configure.setTargetPort(Integer.valueOf(strSplit[1])); } configure.setJavaPid((Integer) os.valueOf("pid")); configure.setGreysAgent((String) os.valueOf("agent")); configure.setGreysCore((String) os.valueOf("core")); return configure; }