private static OptionParser getOptionParser(Class<?> clazz) { final OptionParser parser = new OptionParser(); for (Field field : clazz.getDeclaredFields()) { if (field.isAnnotationPresent(NamedArg.class)) { final NamedArg arg = field.getAnnotation(NamedArg.class); final OptionSpecBuilder osb = parser.accepts(arg.name(), arg.summary()); if (arg.hasValue()) { final boolean isCollection = field.getType().isAssignableFrom(Collection.class); if (isCollection) { osb.withOptionalArg(); } else { osb.withOptionalArg().ofType(field.getType()); } } } } return parser; }
protected Launcher() { this.startupTimeLogHelper = new StartupTimeLogHelper(); this.allowedCommandLineCommands = new HashSet<>(); this.allowedCommandLineCommands.add(CliStrings.RUN); this.allowedCommandLineCommands.add(CliStrings.START_PULSE); this.allowedCommandLineCommands.add(CliStrings.START_JCONSOLE); this.allowedCommandLineCommands.add(CliStrings.START_JVISUALVM); this.allowedCommandLineCommands.add(CliStrings.START_LOCATOR); this.allowedCommandLineCommands.add(CliStrings.START_MANAGER); this.allowedCommandLineCommands.add(CliStrings.START_SERVER); this.allowedCommandLineCommands.add(CliStrings.START_VSD); this.allowedCommandLineCommands.add(CliStrings.STATUS_LOCATOR); this.allowedCommandLineCommands.add(CliStrings.STATUS_SERVER); this.allowedCommandLineCommands.add(CliStrings.STOP_LOCATOR); this.allowedCommandLineCommands.add(CliStrings.STOP_SERVER); this.allowedCommandLineCommands.add(CliStrings.VERSION); this.allowedCommandLineCommands.add(CliStrings.COMPACT_OFFLINE_DISK_STORE); this.allowedCommandLineCommands.add(CliStrings.DESCRIBE_OFFLINE_DISK_STORE); this.allowedCommandLineCommands.add(CliStrings.EXPORT_OFFLINE_DISK_STORE); this.allowedCommandLineCommands.add(CliStrings.VALIDATE_DISK_STORE); this.allowedCommandLineCommands.add(CliStrings.PDX_DELETE_FIELD); this.allowedCommandLineCommands.add(CliStrings.PDX_RENAME); this.commandLineParser = new OptionParser(); this.commandLineParser.accepts(EXECUTE_OPTION).withOptionalArg().ofType(String.class); this.commandLineParser.accepts(HELP_OPTION).withOptionalArg().ofType(Boolean.class); this.commandLineParser.posixlyCorrect(false); }
private static OptionParser setupParser() { OptionParser parser = new OptionParser(); parser.accepts("help", "Print usage information").withOptionalArg(); parser.acceptsAll(Arrays.asList("id", "nodeId"), "expected node Id") .withRequiredArg() .describedAs("expected node Id") .ofType(String.class); parser.acceptsAll(Arrays.asList("path", "clusterPath"), "clusterPath") .withRequiredArg() .describedAs("clusterPath") .ofType(String.class); return parser; }
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; }
@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("")); }
protected void addOption(OptionParser parser, OptionMetadata option) { // ensure non-null description String description = Optional.ofNullable(option.getDescription()).orElse(""); // TODO: how do we resolve short name conflicts? List<String> longAndShort = asList(option.getShortName(), option.getName()); OptionSpecBuilder optionBuilder = parser.acceptsAll(longAndShort, description); switch (option.getValueCardinality()) { case OPTIONAL: ArgumentAcceptingOptionSpec<String> optionSpec = optionBuilder.withOptionalArg().describedAs(option.getValueName()); if(option.getDefaultValue() != null) { optionSpec.defaultsTo(option.getDefaultValue()); } break; case REQUIRED: optionBuilder.withRequiredArg().describedAs(option.getValueName()); break; default: break; } }
/** * Initializes parser * * @return OptionParser object with all available options */ protected static OptionParser getParser() { OptionParser parser = new OptionParser(); // help options AdminParserUtils.acceptsHelp(parser); // required options parser.accepts(OPT_HEAD_META_CHECK, "metadata keys to be checked") .withOptionalArg() .describedAs("meta-key-list") .withValuesSeparatedBy(',') .ofType(String.class); AdminParserUtils.acceptsUrl(parser); return parser; }
private static OptionParser setupParser() { OptionParser parser = new OptionParser(); parser.accepts("help", "Print usage information").withOptionalArg(); parser.acceptsAll(Arrays.asList("s", "script"), "Script") .withRequiredArg() .describedAs("script") .ofType(String.class); parser.acceptsAll(Arrays.asList("u", "url"), "bootstrapUrl") .withRequiredArg() .describedAs("url") .ofType(String.class); parser.acceptsAll(Arrays.asList("scp", "scpFile"), "file to be scp ed") .withRequiredArg() .describedAs("scp") .ofType(String.class); parser.acceptsAll(Arrays.asList("o", "output"), "outputScript") .withRequiredArg() .describedAs("output") .ofType(String.class); return parser; }
/** * Initializes parser * * @return OptionParser object with all available options */ protected static OptionParser getParser() { OptionParser parser = new OptionParser(); // help options AdminParserUtils.acceptsHelp(parser); // required options parser.accepts(OPT_HEAD_QUOTA_UNSET, "quota types to unset") .withOptionalArg() .describedAs("quota-type-list") .withValuesSeparatedBy(',') .ofType(String.class); AdminParserUtils.acceptsStoreMultiple(parser); AdminParserUtils.acceptsUrl(parser); // optional options AdminParserUtils.acceptsConfirm(parser); return parser; }
/** * Initializes parser * * @return OptionParser object with all available options */ protected static OptionParser getParser() { OptionParser parser = new OptionParser(); // help options AdminParserUtils.acceptsHelp(parser); // required options parser.accepts(OPT_HEAD_ASYNC_JOB_STOP, "list of job ids to be stopped") .withOptionalArg() .describedAs("job-id-list") .withValuesSeparatedBy(',') .ofType(Integer.class); AdminParserUtils.acceptsNodeSingle(parser); AdminParserUtils.acceptsUrl(parser); // optional options AdminParserUtils.acceptsConfirm(parser); return parser; }
/** * Initializes parser * * @return OptionParser object with all available options */ protected static OptionParser getParser() { OptionParser parser = new OptionParser(); // help options AdminParserUtils.acceptsHelp(parser); // required options parser.accepts(OPT_HEAD_SCHEDULED_ENABLE, "list of job ids to be enabled") .withOptionalArg() .describedAs("job-id-list") .withValuesSeparatedBy(',') .ofType(String.class); AdminParserUtils.acceptsNodeSingle(parser); AdminParserUtils.acceptsUrl(parser); // optional options AdminParserUtils.acceptsConfirm(parser); return parser; }
/** * Initializes parser * * @return OptionParser object with all available options */ protected static OptionParser getParser() { OptionParser parser = new OptionParser(); // help options AdminParserUtils.acceptsHelp(parser); // required options parser.accepts(OPT_HEAD_SCHEDULED_STOP, "list of job ids to be stopped") .withOptionalArg() .describedAs("job-id-list") .withValuesSeparatedBy(',') .ofType(String.class); AdminParserUtils.acceptsNodeSingle(parser); AdminParserUtils.acceptsUrl(parser); // optional options AdminParserUtils.acceptsConfirm(parser); return parser; }
/** * Initializes parser * * @return OptionParser object with all available options */ protected static OptionParser getParser() { OptionParser parser = new OptionParser(); // help options AdminParserUtils.acceptsHelp(parser); // required options parser.accepts(OPT_HEAD_QUOTA_GET, "quota types to fetch") .withOptionalArg() .describedAs("quota-type-list") .withValuesSeparatedBy(',') .ofType(String.class); AdminParserUtils.acceptsStoreMultiple(parser); AdminParserUtils.acceptsUrl(parser); // optional options AdminParserUtils.acceptsAllNodes(parser); AdminParserUtils.acceptsNodeMultiple(parser); return parser; }
/** * Initializes parser * * @return OptionParser object with all available options */ protected static OptionParser getParser() { OptionParser parser = new OptionParser(); // help options AdminParserUtils.acceptsHelp(parser); // required options parser.accepts(OPT_HEAD_META_GET_RO, "read-only metadata keys to fetch") .withOptionalArg() .describedAs("ro-meta-key-list") .withValuesSeparatedBy(',') .ofType(String.class); AdminParserUtils.acceptsUrl(parser); AdminParserUtils.acceptsStoreMultiple(parser); // optional options AdminParserUtils.acceptsNodeMultiple(parser); // either --node or // --all-nodes AdminParserUtils.acceptsAllNodes(parser); // either --node or // --all-nodes return parser; }
/** * Initializes parser * * @return OptionParser object with all available options */ protected static OptionParser getParser() { OptionParser parser = new OptionParser(); // help options AdminParserUtils.acceptsHelp(parser); // required options parser.accepts(OPT_HEAD_QUOTA_RESERVE_MEMORY, "memory size in MB to be reserved") .withOptionalArg() .describedAs("memory-size") .ofType(Integer.class); AdminParserUtils.acceptsStoreMultiple(parser); AdminParserUtils.acceptsUrl(parser); // optional options AdminParserUtils.acceptsNodeMultiple(parser); // either // --node or // --all-nodes AdminParserUtils.acceptsAllNodes(parser); // either --node or // --all-nodes AdminParserUtils.acceptsConfirm(parser); return parser; }
/** * Initializes parser * * @return OptionParser object with all available options */ protected static OptionParser getParser() { OptionParser parser = new OptionParser(); // help options AdminParserUtils.acceptsHelp(parser); // required options parser.accepts(OPT_HEAD_META_SET, "metadata key-file pairs") .withOptionalArg() .describedAs("meta-key>=<meta-file") .withValuesSeparatedBy(',') .ofType(String.class); AdminParserUtils.acceptsUrl(parser); // optional options AdminParserUtils.acceptsNodeMultiple(parser); // either // --node or // --all-nodes AdminParserUtils.acceptsAllNodes(parser); // either --node or // --all-nodes AdminParserUtils.acceptsConfirm(parser); return parser; }
/** * Initializes parser * * @return OptionParser object with all available options */ protected static OptionParser getParser() { OptionParser parser = new OptionParser(); // help options AdminParserUtils.acceptsHelp(parser); // required options parser.accepts(OPT_HEAD_QUOTA_SET, "quota type-value pairs") .withOptionalArg() .describedAs("quota-type>=<quota-value") .withValuesSeparatedBy(',') .ofType(String.class); AdminParserUtils.acceptsStoreMultiple(parser); AdminParserUtils.acceptsUrl(parser); // optional options AdminParserUtils.acceptsConfirm(parser); AdminParserUtils.acceptsAllNodes(parser); AdminParserUtils.acceptsNodeMultiple(parser); return parser; }
/** * Initializes parser * * @return OptionParser object with all available options */ protected static OptionParser getParser() { OptionParser parser = new OptionParser(); // help options AdminParserUtils.acceptsHelp(parser); // required options parser.accepts(OPT_HEAD_META_GET, "metadata keys to fetch") .withOptionalArg() .describedAs("meta-key-list") .withValuesSeparatedBy(',') .ofType(String.class); AdminParserUtils.acceptsUrl(parser); // optional options AdminParserUtils.acceptsDir(parser); AdminParserUtils.acceptsNodeMultiple(parser); // either // --node or // --all-nodes AdminParserUtils.acceptsAllNodes(parser); // either --node or // --all-nodes parser.accepts(OPT_VERBOSE, "print all metadata"); return parser; }
private static OptionParser setupParser() { OptionParser parser = new OptionParser(); parser.accepts("help", "Print usage information").withOptionalArg(); parser.accepts("url", "bootstrapUrl").withRequiredArg().describedAs("bootstrap url"); parser.accepts("zone", "Zone id") .defaultsTo(100); parser.accepts("delete-all-versions", "Deletes all versions for a given key") .withOptionalArg(); parser.accepts("nodeid", "Delete keys if it is hosted in a node") .withRequiredArg()
protected OptionParser buildOptionParser() { OptionParser parser = new OptionParser(); parser.accepts( "config", "location of config file" ).withRequiredArg(); parser.accepts( "__separator_1", "" ); parser.accepts( "database", "database that contains the table to bootstrap").withRequiredArg(); parser.accepts( "table", "table to bootstrap").withRequiredArg(); parser.accepts( "where", "where clause to restrict the rows bootstrapped from the specified table. e.g. my_date >= '2017-01-01 11:07:13'").withOptionalArg(); parser.accepts( "__separator_2", "" ); parser.accepts( "abort", "bootstrap_id to abort" ).withRequiredArg(); parser.accepts( "monitor", "bootstrap_id to monitor" ).withRequiredArg(); parser.accepts( "__separator_3", "" ); parser.accepts( "client_id", "maxwell client to perform the bootstrap" ).withRequiredArg(); parser.accepts( "log_level", "log level, one of DEBUG|INFO|WARN|ERROR. default: WARN" ).withRequiredArg(); parser.accepts( "host", "mysql host. default: localhost").withRequiredArg(); parser.accepts( "user", "mysql username. default: maxwell" ).withRequiredArg(); parser.accepts( "password", "mysql password" ).withRequiredArg(); parser.accepts( "port", "mysql port. default: 3306" ).withRequiredArg(); parser.accepts( "schema_database", "database that contains maxwell schema and state").withRequiredArg(); parser.accepts( "help", "display help").forHelp(); BuiltinHelpFormatter helpFormatter = new BuiltinHelpFormatter(200, 4) { @Override public String format(Map<String, ? extends OptionDescriptor> options) { this.addRows(options.values()); String output = this.formattedHelpOutput(); return output.replaceAll("--__separator_.*", ""); } }; parser.formatHelpWith(helpFormatter); return parser; }