类org.apache.commons.cli.Option源码实例Demo

下面列出了怎么用org.apache.commons.cli.Option的API类实例代码及写法,或者点击链接到github查看源代码。

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
	
	Options options = EQTLInteractionAnalyser.OPTIONS;
	
	System.out.println("| Short | Long | Description |");
	System.out.println("|-------|------|-------------|");
	
	for(Object optionO : options.getOptions()){
		Option option = (Option) optionO;
		System.out.print("| -");
		System.out.print(option.getOpt());
		System.out.print(" | --");
		System.out.print(option.getLongOpt());
		System.out.print(" | ");
		System.out.print(option.getDescription());
		System.out.println(" | ");
	}
	
}
 
源代码2 项目: botsing   文件: Main.java
static void printOptions() {
	Collection<Option> ops = options.getOptions();
	System.out.println("Available options are:");
	ops.forEach((ele) -> {
		System.out.print("-" + ele.getOpt() + " " + ele.getLongOpt());
		if (ele.isRequired()) {
			System.out.print(" [required] ");
		} else {
			System.out.print(" [optional] ");
		}
		System.out.print("type: ");
		if (ele.hasArg()) {
			System.out.print("param");
		} else {
			System.out.print("flag");
		}
		System.out.println(", description: " + ele.getDescription());
	});
	return;
}
 
源代码3 项目: cumulusrdf   文件: Query.java
@Override
Options getOptions() {
	final Option inputO = new Option("q", "sparql query string");
	inputO.setRequired(true);
	inputO.setArgs(1);

	final Option storageO = new Option("s", "storage layout to use (triple|quad)");
	storageO.setArgs(1);

	final Option helpO = new Option("h", "print help");

	final Options options = new Options();
	options.addOption(inputO);
	options.addOption(storageO);
	options.addOption(helpO);
	
	return options;
}
 
源代码4 项目: scheduling   文件: CommandSetTest.java
@Test
public void testNbMandatoryArgsMatchesWithDescription() {

    // In "submit" and "listjobs" cases nb mandatory args does not match with the description
    if (entry.argNames() != null && !entry.longOpt().equals("submit") && !entry.longOpt().equals("listjobs")) {
        int nbMandatoryArgs = 0;
        String mandatoryArgNames = entry.argNames();

        // Consider only mandatory arguments, not optional arguments, i.e. starting with '['
        if (entry.hasOptionalArg()) {
            mandatoryArgNames = mandatoryArgNames.substring(0, mandatoryArgNames.indexOf("["));
        }
        // Unlimited arguments
        if (mandatoryArgNames.contains("...")) {
            nbMandatoryArgs = Option.UNLIMITED_VALUES;
        }
        // As many mandatory arguments as spaced words
        else if (!mandatoryArgNames.trim().isEmpty()) {
            nbMandatoryArgs = mandatoryArgNames.split(" ").length;
        }

        Assert.assertEquals("Option '" + entry.longOpt() + "' does not have argNames matching number of args",
                            entry.numOfArgs(),
                            nbMandatoryArgs);
    }
}
 
源代码5 项目: vividus   文件: BddStepsCounter.java
public void countSteps(String[] args) throws ParseException, IOException
{
    Vividus.init();
    CommandLine commandLine;
    CommandLineParser parser = new DefaultParser();
    Options options = new Options();
    Option directoryOption = new Option("d", "dir", true, "directory to count scenarios in (e.g. story/release).");
    Option topOption = new Option("t", "top", true, "the number of most popular steps");
    options.addOption(directoryOption);
    options.addOption(topOption);
    commandLine = parser.parse(options, args);

    StoryLoader storyLoader = BeanFactory.getBean(StoryLoader.class);
    IPathFinder pathFinder = BeanFactory.getBean(IPathFinder.class);
    String storyLocation = commandLine.hasOption(directoryOption.getOpt())
            ? commandLine.getOptionValue(directoryOption.getOpt()) : DEFAULT_STORY_LOCATION;
    ExtendedConfiguration configuration = BeanFactory.getBean(ExtendedConfiguration.class);

    fillStepList(configuration, storyLoader, pathFinder, storyLocation);
    fillStepCandidates();
    fillStepsWithStats(configuration);
    printResults(commandLine, topOption, System.out);
}
 
源代码6 项目: ia-rcade   文件: TestCommandLineOptionsFactory.java
@Test
public void testDeduceFromMameRuntimeWithBooleanOption ()
        throws FileNotFoundException,
               IOException,
               InterruptedException,
               MameExecutionException {
    
    FakeMameRuntime mame = new FakeMameRuntime();
    List<InputStream> inputStreams = new ArrayList<>();
    inputStreams.add(
        new FileInputStream("src/test/resources/showconfig.txt"));
    inputStreams.add(
        new FileInputStream("src/test/resources/showusage.txt"));
    mame.setInputStreamsToReturn(inputStreams);
    CommandLineOptionsFactory clof = new CommandLineOptionsFactory ();
    Options mameOpts = clof.deduceFromMameRuntime(mame).getOptions();

    assertTrue(mameOpts.hasOption("waitvsync"));

    Option opt = mameOpts.getOption("waitvsync");

    assertFalse(opt.hasArg());

}
 
源代码7 项目: DDMQ   文件: ServerUtil.java
public static Properties commandLine2Properties(final CommandLine commandLine) {
    Properties properties = new Properties();
    Option[] opts = commandLine.getOptions();

    if (opts != null) {
        for (Option opt : opts) {
            String name = opt.getLongOpt();
            String value = commandLine.getOptionValue(name);
            if (value != null) {
                properties.setProperty(name, value);
            }
        }
    }

    return properties;
}
 
源代码8 项目: ant-ivy   文件: Main.java
private static Options getOptions() {
    Option dir = Option.builder("d")
        .longOpt("dir")
        .hasArg()
        .desc("give total size of files in given dir")
        .build();
    Option name = Option.builder("n")
        .longOpt("name")
        .hasArg()
        .desc("give total size of files with given name")
        .build();
    Options options = new Options();

    options.addOption(dir);
    options.addOption(name);

    return options;
}
 
源代码9 项目: rug-cli   文件: AbstractCommandInfo.java
@Override
public final Options globalOptions() {
    Options options = new Options();
    options.addOption("?", "help", false, "Print usage help");
    options.addOption("h", "help", false, "Print usage help");
    options.addOption("X", "error", false, "Print stacktraces");
    options.addOption("V", "verbose", false, "Print verbose output");
    options.addOption(Option.builder("s").longOpt("settings").argName("FILE").hasArg(true)
            .required(false).desc("Use settings file FILE").build());
    options.addOption("q", "quiet", false, "Do not display progress messages");
    options.addOption("n", "noisy", false, "Display more progress messages");
    options.addOption("o", "offline", false, "Use only downloaded archives");
    options.addOption("t", "timer", false, "Print timing information");
    options.addOption("r", "resolver-report", false, "Print dependency tree");
    options.addOption("u", "update", false, "Update dependency resolution");
    options.addOption(Option.builder().longOpt("requires").argName("RUG_VERSION").hasArg(true)
            .required(false).desc("Overwrite the Rug version to RUG_VERSION (Use with Caution)")
            .build());
    options.addOption(Option.builder().longOpt("disable-verification").hasArg(false)
            .required(false).desc("Disable verification of extensions (Use with Caution)")
            .build());
    options.addOption(Option.builder().longOpt("disable-version-check").hasArg(false)
            .required(false).desc("Disable version compatibility check (Use with Caution)")
            .build());
    return options;
}
 
源代码10 项目: cumulusrdf   文件: Load.java
@Override
Options getOptions() {
	final Option inputO = new Option("i", "Name of file to read");
	inputO.setRequired(true);
	inputO.setArgs(1);

	final Option storageO = new Option("s", "Storage layout to use (triple|quad)");
	storageO.setArgs(1);

	final Option batchO = new Option("b", "Batch size - number of triples (default: 1000)");
	batchO.setArgs(1);

	final Option helpO = new Option("h", "Print help");

	final Options options = new Options();
	options.addOption(inputO);
	options.addOption(storageO);
	options.addOption(batchO);
	options.addOption(helpO);
	
	return options;
}
 
源代码11 项目: waltz   文件: ZooKeeperCli.java
@Override
protected void configureOptions(Options options) {
    Option partitionOption = Option.builder("p")
            .longOpt("partition")
            .desc("Specify the partition to un-assign")
            .hasArg()
            .build();
    Option storageOption = Option.builder("s")
            .longOpt("storage")
            .desc("Specify the storage to be un-assigned from, in format of host:port")
            .hasArg()
            .build();
    Option cliCfgOption = Option.builder("c")
            .longOpt("cli-config-path")
            .desc("Specify the cli config file path required for ZooKeeper connection string, ZooKeeper root path")
            .hasArg()
            .build();

    cliCfgOption.setRequired(true);
    partitionOption.setRequired(true);
    storageOption.setRequired(true);

    options.addOption(cliCfgOption);
    options.addOption(partitionOption);
    options.addOption(storageOption);
}
 
源代码12 项目: waltz   文件: ClientCli.java
@Override
protected void configureOptions(Options options) {
    Option partitionOption = Option.builder("p")
            .longOpt("partition")
            .desc("Specify the partition id whose max transaction ID to be returned")
            .hasArg()
            .build();
    Option cliCfgOption = Option.builder("c")
            .longOpt("cli-config-path")
            .desc("Specify the cli config file path required for zooKeeper connection string, zooKeeper root path and SSL config")
            .hasArg()
            .build();
    partitionOption.setRequired(true);
    cliCfgOption.setRequired(true);

    options.addOption(partitionOption);
    options.addOption(cliCfgOption);
}
 
private void printUsage(Options options) {

    HelpFormatter formatter = new HelpFormatter();
    formatter.setOptionComparator(new Comparator<Option>() {
      @Override
      public int compare(Option o1, Option o2) {
        if (o1.isRequired() && !o2.isRequired()) {
          return -1;
        }
        if (!o1.isRequired() && o2.isRequired()) {
          return 1;
        }
        return o1.getOpt().compareTo(o2.getOpt());
      }
    });

    String usage = "gobblin watermarks ";
    formatter.printHelp(usage, options);
  }
 
源代码14 项目: flink   文件: FlinkYarnSessionCli.java
private boolean isYarnPropertiesFileMode(CommandLine commandLine) {
	boolean canApplyYarnProperties = !commandLine.hasOption(addressOption.getOpt());

	if (canApplyYarnProperties) {
		for (Option option : commandLine.getOptions()) {
			if (allOptions.hasOption(option.getOpt())) {
				if (!isDetachedOption(option)) {
					// don't resume from properties file if yarn options have been specified
					canApplyYarnProperties = false;
					break;
				}
			}
		}
	}

	return canApplyYarnProperties;
}
 
源代码15 项目: iotdb-benchmark   文件: CommandCli.java
private Options createOptions() {
		Options options = new Options();
		Option help = new Option(HELP_ARGS, false, "Display help information");
		help.setRequired(false);
		options.addOption(help);

//		Option HOST = Option.builder(HOST_ARGS).argName(HOST_NAME).hasArg().desc("Host Name (required)").build();
//		options.addOption(HOST);
//
//		Option PORT = Option.builder(PORT_ARGS).argName(PORT_NAME).hasArg().desc("Port (required)").build();
//		options.addOption(PORT);
//		
//		Option mode = Option.builder(MODE_ARGS).argName(MODE_NAME).hasArg().desc("Mode (required)").build();
//		options.addOption(mode);
//		
//		Option device = Option.builder(DEVICE_ARGS).argName(DEVICE_NAME).hasArg().desc("Device number (optional)").build();
//		options.addOption(device);
//		
//		Option sensor = Option.builder(SENSOR_ARGS).argName(SENSOR_NAME).hasArg().desc("Sensor number (optional)").build();
//		options.addOption(sensor);
		
		Option config = Option.builder(CONFIG_ARGS).argName(CONFIG_NAME).hasArg().desc("Config file path (optional)").build();
		options.addOption(config);
		
		return options;
	}
 
源代码16 项目: attic-stratos   文件: DeleteApplicationCommand.java
@Override
public int execute(StratosCommandContext context, String[] args, Option[] alreadyParsedOpts) throws CommandException {
    if (log.isDebugEnabled()) {
        log.debug("Executing {} command...", getName());
    }
    if (args != null && args.length == 1) {
        String id = args[0];
        if (log.isDebugEnabled()) {
            log.debug("Getting delete application id {}", id);
        }
        RestCommandLineService.getInstance().deleteApplication(id);
        return CliConstants.COMMAND_SUCCESSFULL;
    } else {
        context.getStratosApplication().printUsage(getName());
        return CliConstants.COMMAND_FAILED;
    }
}
 
源代码17 项目: flink   文件: FlinkYarnSessionCli.java
private boolean isYarnPropertiesFileMode(CommandLine commandLine) {
	boolean canApplyYarnProperties = !commandLine.hasOption(addressOption.getOpt());

	if (canApplyYarnProperties) {
		for (Option option : commandLine.getOptions()) {
			if (allOptions.hasOption(option.getOpt())) {
				if (!isDetachedOption(option)) {
					// don't resume from properties file if yarn options have been specified
					canApplyYarnProperties = false;
					break;
				}
			}
		}
	}

	return canApplyYarnProperties;
}
 
@Override
public int execute(StratosCommandContext context, String[] args, Option[] alreadyParsedOpts) throws CommandException {
    if (log.isDebugEnabled()) {
        log.debug("Executing {} command...", getName());
    }
    if (args != null && args.length == 1) {
        String applicationId = args[0];
        if (log.isDebugEnabled()) {
            log.debug("Getting delete application id {}", applicationId);
        }
        RestCommandLineService.getInstance().deleteApplicationSignup(applicationId);
        return CliConstants.COMMAND_SUCCESSFULL;
    } else {
        context.getStratosApplication().printUsage(getName());
        return CliConstants.COMMAND_FAILED;
    }
}
 
@Override
public Options buildCommandlineOptions(Options options) {
    Option opt = new Option("c", "clusterModel", false, "clusterModel");
    opt.setRequired(false);
    options.addOption(opt);

    return options;
}
 
源代码20 项目: Rhombus   文件: RcliWithExistingKeyspace.java
public Options getCommandOptions(){
	Options ret = super.getCommandOptions();
	Option keyspaceName = OptionBuilder.withArgName("name")
			.hasArg()
			.withDescription("Name of the existing keyspace to be used")
			.create( "keyspace" );
	ret.addOption(keyspaceName);
	return ret;
}
 
源代码21 项目: stratio-cassandra   文件: Legacy.java
public static void printHelpMessage()
{
    System.out.println("Usage: ./bin/cassandra-stress legacy [options]\n\nOptions:");
    System.out.println("THIS IS A LEGACY SUPPORT MODE");

    for(Object o : availableOptions.getOptions())
    {
        Option option = (Option) o;
        String upperCaseName = option.getLongOpt().toUpperCase();
        System.out.println(String.format("-%s%s, --%s%s%n\t\t%s%n", option.getOpt(), (option.hasArg()) ? " "+upperCaseName : "",
                option.getLongOpt(), (option.hasArg()) ? "="+upperCaseName : "", option.getDescription()));
    }
}
 
源代码22 项目: rocketmq   文件: ConsumerConnectionSubCommand.java
@Override
public Options buildCommandlineOptions(Options options) {
    Option opt = new Option("g", "consumerGroup", true, "consumer group name");
    opt.setRequired(true);
    options.addOption(opt);

    return options;
}
 
源代码23 项目: incubator-heron   文件: RuntimeManagerMain.java
private static Options constructHelpOptions() {
  Options options = new Options();
  Option help = Option.builder("h")
      .desc("List all options and their description")
      .longOpt("help")
      .build();

  options.addOption(help);
  return options;
}
 
源代码24 项目: singer   文件: ThriftLogDumper.java
private static Options buildOptions() {
  Option input = new Option("i", "input", true, "Input thrift logger log file");
  input.setRequired(true);

  Option output = new Option("o", "output", true, "Output file. Default: STDOUT");
  Option maxMessageSize =
      new Option(null, "max-message-size", true,
          "Max thrift message size allowed. Default: 16384");
  Option startOffset = new Option(null, "offset", true,
      "Byte offset from the beginning of the file to start reading. Default: 0");
  Option numOfMessages =
      new Option("n", "number-of-messages", true, "Number of messages to dump. Default: INTMAX");
  Option noTimestamp = new Option(null, "no-timestamp", false, "Output message only");
  Option toJson = new Option(null, "json", false, "Output as JSON format");
  Option pretty = new Option(null, "pretty", false, "Prettifies the JSON formatted messages");
  Option thriftSchema =
      new Option(null, "thrift-schema", true,
          "Thrift schema class used for deserialization. Default: cast message body to String.");

  Options options = new Options();
  options
      .addOption(input)
      .addOption(output)
      .addOption(maxMessageSize)
      .addOption(startOffset)
      .addOption(numOfMessages)
      .addOption(noTimestamp)
      .addOption(toJson)
      .addOption(pretty)
      .addOption(thriftSchema);
  return options;
}
 
@Override
public Options buildCommandlineOptions(Options options) {
    Option opt = new Option("b", "brokerName", true, "broker name");
    opt.setRequired(true);
    options.addOption(opt);
    return options;
}
 
源代码26 项目: Flink-CEPplus   文件: DeploymentEntry.java
/**
 * Parses the given command line options from the deployment properties. Ignores properties
 * that are not defined by options.
 */
public CommandLine getCommandLine(Options commandLineOptions) throws Exception {
	final List<String> args = new ArrayList<>();

	properties.asMap().forEach((k, v) -> {
		// only add supported options
		if (commandLineOptions.hasOption(k)) {
			final Option o = commandLineOptions.getOption(k);
			final String argument = "--" + o.getLongOpt();
			// options without args
			if (!o.hasArg()) {
				final Boolean flag = Boolean.parseBoolean(v);
				// add key only
				if (flag) {
					args.add(argument);
				}
			}
			// add key and value
			else if (!o.hasArgs()) {
				args.add(argument);
				args.add(v);
			}
			// options with multiple args are not supported yet
			else {
				throw new IllegalArgumentException("Option '" + o + "' is not supported yet.");
			}
		}
	});

	return CliFrontendParser.parse(commandLineOptions, args.toArray(new String[args.size()]), true);
}
 
@Override
public Options buildCommandlineOptions(Options options) {
    Option opt = new Option("b", "brokerName", true, "broker name");
    opt.setRequired(true);
    options.addOption(opt);
    return options;
}
 
源代码28 项目: flink   文件: HadoopUtils.java
/**
 * Returns {@link ParameterTool} for the arguments parsed by {@link GenericOptionsParser}.
 *
 * @param args Input array arguments. It should be parsable by {@link GenericOptionsParser}
 * @return A {@link ParameterTool}
 * @throws IOException If arguments cannot be parsed by {@link GenericOptionsParser}
 * @see GenericOptionsParser
 */
public static ParameterTool paramsFromGenericOptionsParser(String[] args) throws IOException {
	Option[] options = new GenericOptionsParser(args).getCommandLine().getOptions();
	Map<String, String> map = new HashMap<String, String>();
	for (Option option : options) {
		String[] split = option.getValue().split("=");
		map.put(split[0], split[1]);
	}
	return ParameterTool.fromMap(map);
}
 
源代码29 项目: helix   文件: RestAdminApplication.java
@SuppressWarnings("static-access")
private static Options constructCommandLineOptions() {
  Option helpOption =
      OptionBuilder.withLongOpt(HELP).withDescription("Prints command-line options info")
          .create();
  helpOption.setArgs(0);
  helpOption.setRequired(false);
  helpOption.setArgName("print help message");

  Option zkServerOption =
      OptionBuilder.withLongOpt(ZKSERVERADDRESS).withDescription("Provide zookeeper address")
          .create();
  zkServerOption.setArgs(1);
  zkServerOption.setRequired(true);
  zkServerOption.setArgName("ZookeeperServerAddress(Required)");

  Option portOption =
      OptionBuilder.withLongOpt(PORT).withDescription("Provide web service port").create();
  portOption.setArgs(1);
  portOption.setRequired(false);
  portOption.setArgName("web service port, default: " + DEFAULT_PORT);

  Options options = new Options();
  options.addOption(helpOption);
  options.addOption(zkServerOption);
  options.addOption(portOption);

  return options;
}
 
@Override
public Options buildCommandlineOptions(Options options) {
    Option opt = new Option("g", "consumerGroup", true, "consumer group name");
    opt.setRequired(true);
    options.addOption(opt);

    return options;
}