Example usage for org.apache.commons.cli OptionGroup setRequired

List of usage examples for org.apache.commons.cli OptionGroup setRequired

Introduction

In this page you can find the example usage for org.apache.commons.cli OptionGroup setRequired.

Prototype

public void setRequired(boolean required) 

Source Link

Usage

From source file:com.falcon.orca.helpers.CommandHelper.java

public static Options createMasterOptions() {
    Option start = Option.builder("s").longOpt("start").build();
    Option stop = Option.builder("st").longOpt("stop").build();
    Option pause = Option.builder("p").longOpt("pause").build();
    Option continueOpt = Option.builder("re").longOpt("resume").build();
    Option exit = Option.builder("e").longOpt("exit").build();
    Option clusterDetails = Option.builder("cd").longOpt("clusterDetails").build();
    Option url = Option.builder("U").longOpt("url").hasArg(true).build();
    Option durationMode = Option.builder("DM").longOpt("durationMode").hasArg(true).build();
    Option duration = Option.builder("DU").longOpt("duration").hasArg(true).build();
    Option repeats = Option.builder("R").longOpt("repeats").hasArg(true).build();
    Option method = Option.builder("M").longOpt("method").hasArg(true).build();
    Option header = Option.builder("H").longOpt("header").hasArg(true).build();
    Option concurrency = Option.builder("C").longOpt("concurrency").hasArg(true).build();
    Option templateFile = Option.builder("TF").longOpt("template").hasArg(true).build();
    Option dataFile = Option.builder("DF").longOpt("dataFile").hasArg(true).build();
    Option cookies = Option.builder("CO").longOpt("cookie").hasArg(true).build();
    Option data = Option.builder("D").longOpt("data").hasArg(true).type(String.class).build();

    OptionGroup optionGroup = new OptionGroup();
    optionGroup.setRequired(true);
    optionGroup.addOption(start);//from  w ww .j  a  va2  s .c o m
    optionGroup.addOption(stop);
    optionGroup.addOption(pause);
    optionGroup.addOption(continueOpt);
    optionGroup.addOption(clusterDetails);
    optionGroup.addOption(exit);
    Options options = new Options();
    options.addOptionGroup(optionGroup);
    options.addOption(url);
    options.addOption(durationMode);
    options.addOption(duration);
    options.addOption(repeats);
    options.addOption(method);
    options.addOption(header);
    options.addOption(concurrency);
    options.addOption(cookies);
    options.addOption(data);
    options.addOption(templateFile);
    options.addOption(dataFile);
    return options;
}

From source file:co.cask.cdap.cli.CLIMain.java

private static void addOptionalOption(Options options, Option option) {
    OptionGroup optionalGroup = new OptionGroup();
    optionalGroup.setRequired(false);
    optionalGroup.addOption(option);//from w  ww  . j  av a  2 s. c o m
    options.addOptionGroup(optionalGroup);
}

From source file:edu.cmu.tetrad.cli.CausalCmdApplication.java

private static void populateMainOptions() {
    OptionGroup optGrp = new OptionGroup();
    optGrp.addOption(new Option(null, ALGO_OPT, true, algorithmCmd()));
    optGrp.addOption(new Option(null, SIM_DATA_OPT, true, simulationCmd()));
    optGrp.setRequired(true);
    MAIN_OPTIONS.addOptionGroup(optGrp);

    MAIN_OPTIONS.addOption(null, VERSION_OPT, false, "Version.");
}

From source file:com.sindicetech.siren.demo.loader.Loader.java

private static Options buildOptions() {
    Options options = new Options();
    // input file name and help are exclusive
    OptionGroup fileHelpGroup = new OptionGroup();
    fileHelpGroup.setRequired(true);
    fileHelpGroup//from w  w  w .j a  v  a 2s .  c om
            .addOption(OptionBuilder.hasArgs(1).hasOptionalArgs(20).withArgName("file or/and folder name[s]")
                    .withDescription("JSON file[s] or/and director(y|ies) with JSON files (max 20)")
                    .withLongOpt(INPUT_FILE_OPT_LONG).isRequired().create(INPUT_FILE_OPT));

    fileHelpGroup.addOption(OptionBuilder.withDescription("prints help and exits").create(HELP_OPT));
    options.addOptionGroup(fileHelpGroup);
    options.addOption(OptionBuilder.hasArgs(1).withArgName("Solr URL")
            .withDescription("Solr URL (default=" + DEFAULT_SOLR_URL + ")").withLongOpt(URL_OPT_LONG)
            .isRequired(false).create(URL_OPT));

    //    options.addOption(OptionBuilder
    //        .hasArgs(1)
    //        .withArgName("batch size")
    //        .withDescription(
    //            "number of documents sent to Solr in one request, max " + MAX_BATCH_SIZE + " (default="
    //                + DEFAULT_BATCH_SIZE + ")").withLongOpt(BATCH_OPT_LONG).isRequired(false)
    //        .create(BATCH_OPT));

    options.addOption(OptionBuilder
            .withDescription("load all files in directories, not only files with JSON file extension")
            .withLongOpt(NO_EXT_CHECK_OPT_LONG).isRequired(false).create(NO_EXT_CHECK_OPT));
    options.addOption(
            OptionBuilder.withDescription("JSON file extension (default=" + DEFAULT_JSON_EXTENSION + ")")
                    .withLongOpt(EXT_OPT_LONG).isRequired(false).create(EXT_OPT));
    options.addOption(OptionBuilder.withDescription("commit after each file, (default=false)")
            .withLongOpt(COMMIT_EACH_LONG).isRequired(false).create(COMMIT_EACH_OPT));

    return options;
}

From source file:com.github.triceo.robozonky.app.CommandLineInterface.java

/**
 * Parse the command line./*www  . ja  v  a 2s. c o  m*/
 *
 * @param args Command line arguments as received by {@link App#main(String...)}.
 * @return Empty if parsing failed, at which point it will write standard help message to sysout.
 */
public static Optional<CommandLineInterface> parse(final String... args) {
    // create the mode of operation
    final OptionGroup operatingModes = new OptionGroup();
    operatingModes.setRequired(true);
    Stream.of(OperatingMode.values()).forEach(mode -> operatingModes.addOption(mode.getSelectingOption()));
    // find all options from all modes of operation
    final Collection<Option> ops = Stream.of(OperatingMode.values()).map(OperatingMode::getOtherOptions)
            .collect(LinkedHashSet::new, LinkedHashSet::addAll, LinkedHashSet::addAll);
    // include authentication options
    final OptionGroup authenticationModes = new OptionGroup();
    authenticationModes.setRequired(true);
    authenticationModes.addOption(CommandLineInterface.OPTION_USERNAME);
    authenticationModes.addOption(CommandLineInterface.OPTION_KEYSTORE);
    ops.add(CommandLineInterface.OPTION_PASSWORD);
    ops.add(CommandLineInterface.OPTION_USE_TOKEN);
    ops.add(CommandLineInterface.OPTION_FAULT_TOLERANT);
    ops.add(CommandLineInterface.OPTION_CLOSED_SEASON);
    ops.add(CommandLineInterface.OPTION_ZONK);
    // join all in a single config
    final Options options = new Options();
    options.addOptionGroup(operatingModes);
    options.addOptionGroup(authenticationModes);
    ops.forEach(options::addOption);
    final CommandLineParser parser = new DefaultParser();
    // and parse
    try {
        final CommandLine cli = parser.parse(options, args);
        CommandLineInterface.logOptionValues(cli);
        return Optional.of(new CommandLineInterface(options, cli));
    } catch (final ParseException ex) {
        CommandLineInterface.printHelp(options, ex.getMessage(), true);
        return Optional.empty();
    }
}

From source file:de.moritzrupp.stockreader.Main.java

/**
 * initOptions/* w  w w .  j av a  2 s.  c o  m*/
 * <p>Initializes the options for the console application</p>
 */
@SuppressWarnings("static-access")
private static void initOptions() {

    Option help = new Option("h", "help", false, "prints the help message");
    Option version = new Option("v", "version", false, "prints version and license information and exists");
    Option price = new Option("p", "price", false,
            "prints only the symbol, the date and the price of the stock");
    Option csv = OptionBuilder.withArgName("FILE").withLongOpt("file")
            .withDescription("the path and file name to the exported file").hasArg().create("f");

    Option host = OptionBuilder.withArgName("HOST").withLongOpt("host")
            .withDescription("the SMTP host for sending mails").hasArg().withValueSeparator('=').isRequired()
            .create();

    Option password = OptionBuilder.withArgName("PASS").withLongOpt("password")
            .withDescription("the password of the mail user").hasArg().withValueSeparator('=').isRequired()
            .create();

    Option user = OptionBuilder.withArgName("USERNAME").withLongOpt("user").withDescription("the mail user")
            .hasArg().withValueSeparator('=').isRequired().create();

    Option from = OptionBuilder.withArgName("FROM").withLongOpt("from").withDescription("the FROM address")
            .hasArg().withValueSeparator('=').isRequired().create();

    Option to = OptionBuilder.withArgName("TO").withLongOpt("to").withDescription("the TO address").hasArg()
            .withValueSeparator('=').isRequired().create();

    OptionGroup mailGroup = new OptionGroup();
    mailGroup.addOption(host);
    mailGroup.addOption(user);
    mailGroup.addOption(password);
    mailGroup.addOption(from);
    mailGroup.addOption(to);

    mailGroup.setRequired(true);

    options = new Options();
    options.addOption(help);
    options.addOption(version);
    options.addOption(price);
    options.addOption(csv);

    options.addOptionGroup(mailGroup);

    formatter = new HelpFormatter();
    header = "Pass the stock symbols as arguments and seperate them by spaces. At least one stock symbol is required.\n"
            + "Example: stockreader DBK.DE SAP.DE\n\n";

    footer = "\nFor more information see http://www.moritzrupp.de.";
}

From source file:at.favre.tools.dconvert.ui.CLIInterpreter.java

private static Options setupOptions(ResourceBundle bundle) {
    Options options = new Options();

    Option srcOpt = Option.builder(SOURCE_ARG).required().argName("path to file or folder").hasArg(true)
            .desc(bundle.getString("arg.descr.cmd.src")).build();
    Option srcScaleOpt = Option.builder(SCALE_ARG).argName("[float]|[int]dp").hasArg(true)
            .desc(bundle.getString("arg.descr.cmd.scale")).build();
    Option dstOpt = Option.builder(DST_ARG).hasArg(true).argName("path")
            .desc(bundle.getString("arg.descr.cmd.dst")).build();

    Option platform = Option.builder(PLATFORM_ARG).hasArg(true).argName("all|android|ios|win|web")
            .desc(MessageFormat.format(bundle.getString("arg.descr.cmd.platform"), Arguments.DEFAULT_PLATFORM))
            .build();// w  ww  .j  a  v a2 s. c om
    Option threadCount = Option.builder(THREADS_ARG).argName("1-8").hasArg(true).desc(MessageFormat
            .format(bundle.getString("arg.descr.cmd.threads"), String.valueOf(Arguments.DEFAULT_THREAD_COUNT)))
            .build();
    Option roundingHandler = Option
            .builder(ROUNDING_MODE_ARG).argName("round|ceil|floor").hasArg(true).desc(MessageFormat
                    .format(bundle.getString("arg.descr.cmd.rounding"), Arguments.DEFAULT_ROUNDING_STRATEGY))
            .build();
    Option compression = Option.builder(OUT_COMPRESSION_ARG).hasArg(true).argName("png|jpg|gif|bmp")
            .desc(bundle.getString("arg.descr.cmd.outcompression")).build();
    Option compressionQuality = Option.builder(COMPRESSION_QUALITY_ARG).hasArg(true).argName("0.0-1.0")
            .desc(MessageFormat.format(bundle.getString("arg.descr.cmd.compression"),
                    String.valueOf(Arguments.DEFAULT_COMPRESSION_QUALITY)))
            .build();
    Option upScalingAlgo = Option.builder(UPSCALING_ALGO_ARG).hasArg(true)
            .argName(EScalingAlgorithm.getCliArgString(EScalingAlgorithm.Type.UPSCALING))
            .desc(MessageFormat.format(bundle.getString("arg.descr.scalingalgo"), Arguments.DEFAULT_PLATFORM))
            .build();
    Option downScalingAlgo = Option.builder(DOWNSCALING_ALGO_ARG).hasArg(true)
            .argName(EScalingAlgorithm.getCliArgString(EScalingAlgorithm.Type.DOWNSCALING))
            .desc(MessageFormat.format(bundle.getString("arg.descr.scalingalgo"), Arguments.DEFAULT_PLATFORM))
            .build();

    Option skipExistingFiles = Option.builder(SKIP_EXISTING_ARG)
            .desc(bundle.getString("arg.descr.skipexisting")).build();
    Option androidIncludeLdpiTvdpi = Option.builder("androidIncludeLdpiTvdpi")
            .desc(bundle.getString("arg.descr.androidmipmap")).build();
    Option mipmapInsteadOfDrawable = Option.builder("androidMipmapInsteadOfDrawable")
            .desc(bundle.getString("arg.descr.androidldpi")).build();
    Option iosCreateImagesetFolders = Option.builder("iosCreateImagesetFolders")
            .desc(bundle.getString("arg.descr.iosimageset")).build();
    Option skipUpscaling = Option.builder("skipUpscaling").desc(bundle.getString("arg.descr.skipupscaling"))
            .build();
    Option verboseLog = Option.builder(VERBOSE_ARG).desc(bundle.getString("arg.descr.cmd.verbose")).build();
    Option haltOnError = Option.builder("haltOnError").desc(bundle.getString("arg.descr.halterror")).build();
    Option antiAliasing = Option.builder("antiAliasing").desc(bundle.getString("arg.descr.antialiasing"))
            .build();
    Option enablePngCrush = Option.builder("postProcessorPngCrush").desc(bundle.getString("arg.descr.pngcrush"))
            .build();
    Option postWebpConvert = Option.builder("postProcessorWebp").desc(bundle.getString("arg.descr.webp"))
            .build();
    Option keepUnPostProcessed = Option.builder("keepOriginalPostProcessedFiles")
            .desc(bundle.getString("arg.descr.keeporiginal")).build();
    Option dpScaleIsHeight = Option.builder(SCALE_IS_HEIGHT_DP_ARG)
            .desc(bundle.getString("arg.descr.cmd.dpIsHeight")).build();
    Option dryRun = Option.builder("dryRun").desc(bundle.getString("arg.descr.dryrun")).build();
    Option enableMozJpeg = Option.builder("postProcessorMozJpeg").desc(bundle.getString("arg.descr.mozjpeg"))
            .build();
    Option cleanBeforeConvert = Option.builder("clean").desc(bundle.getString("arg.descr.clean")).build();

    Option help = Option.builder("h").longOpt("help").desc(bundle.getString("arg.descr.cmd.help")).build();
    Option version = Option.builder("v").longOpt("version").desc(bundle.getString("arg.descr.cmd.version"))
            .build();
    Option gui = Option.builder("gui").desc(bundle.getString("arg.descr.cmd.gui")).build();

    OptionGroup mainArgs = new OptionGroup();
    mainArgs.addOption(srcOpt).addOption(help).addOption(version).addOption(gui);
    mainArgs.setRequired(true);

    options.addOption(srcScaleOpt).addOption(dstOpt);
    options.addOption(platform).addOption(compression).addOption(compressionQuality).addOption(threadCount)
            .addOption(roundingHandler).addOption(upScalingAlgo).addOption(downScalingAlgo);
    options.addOption(skipExistingFiles).addOption(skipUpscaling).addOption(androidIncludeLdpiTvdpi)
            .addOption(verboseLog).addOption(antiAliasing).addOption(dryRun).addOption(haltOnError)
            .addOption(mipmapInsteadOfDrawable).addOption(enablePngCrush).addOption(postWebpConvert)
            .addOption(dpScaleIsHeight).addOption(enableMozJpeg).addOption(keepUnPostProcessed)
            .addOption(iosCreateImagesetFolders).addOption(cleanBeforeConvert);

    options.addOptionGroup(mainArgs);

    return options;
}

From source file:de.unibi.techfak.bibiserv.util.codegen.Main.java

/**
 * Returns "Choice" optiongroup for CodeGeneration.
 *
 * @return/*from   w w w .  j  a v a 2 s. co  m*/
 */
private static OptionGroup getCMDLineOptionsGroups() {
    OptionGroup optionsgroup = new OptionGroup();
    optionsgroup.setRequired(true);
    Option generate = new Option("g", "generate", true, "Generate app from xml description.");
    generate.setArgName("runnableitem.xml");
    optionsgroup.addOption(new Option("V", "version", false, "version"))
            .addOption(new Option("h", "help", false, "help")).addOption(generate);

    return optionsgroup;
}

From source file:com.imgur.backup.SnapshotS3Util.java

/**
 * Returns the command-line options supported.
 * @return the command-line options//from w w  w . j a  va  2s .  c o m
 */
private static Options getOptions() {
    Option tableName = new Option("t", "table", true,
            "The table name to create a snapshot from. Required for creating a snapshot");
    Option snapshotName = new Option("n", "snapshot", true,
            "The snapshot name. Required for importing from S3");
    Option accessId = new Option("k", "awsAccessKey", true, "The AWS access key");
    Option accessSecret = new Option("s", "awsAccessSecret", true, "The AWS access secret string");
    Option bucketName = new Option("b", "bucketName", true, "The S3 bucket name where snapshots are stored");
    Option s3Path = new Option("p", "s3Path", true, "The snapshot directory in S3. Default is '/hbase'");
    Option hdfsPath = new Option("d", "hdfsPath", true, "The snapshot directory in HDFS. Default is '/hbase'");
    Option mappers = new Option("m", "mappers", true,
            "The number of parallel copiers if copying to/from S3. Default: 1");
    Option useS3n = new Option("a", "s3n", false,
            "Use s3n protocol instead of s3. Might work better, but beware of 5GB file limit imposed by S3");
    Option snapshotTtl = new Option("l", "snapshotTtl", true,
            "Delete snapshots older than this value (seconds) from running HBase cluster");

    tableName.setRequired(false);
    snapshotName.setRequired(false);
    accessId.setRequired(true);
    accessSecret.setRequired(true);
    bucketName.setRequired(true);
    s3Path.setRequired(false);
    hdfsPath.setRequired(false);
    mappers.setRequired(false);
    useS3n.setRequired(false);
    snapshotTtl.setRequired(false);

    Option createSnapshot = new Option("c", "create", false, "Create HBase snapshot");
    Option createExportSnapshot = new Option("x", "createExport", false,
            "Create HBase snapshot AND export to S3");
    Option exportSnapshot = new Option("e", "export", false, "Export HBase snapshot to S3");
    Option importSnapshot = new Option("i", "import", false,
            "Import HBase snapshot from S3. May need to run as hbase user if importing into HBase");

    OptionGroup actions = new OptionGroup();
    actions.setRequired(true);
    actions.addOption(createSnapshot);
    actions.addOption(createExportSnapshot);
    actions.addOption(exportSnapshot);
    actions.addOption(importSnapshot);

    Options options = new Options();
    options.addOptionGroup(actions);
    options.addOption(tableName);
    options.addOption(snapshotName);
    options.addOption(accessId);
    options.addOption(accessSecret);
    options.addOption(bucketName);
    options.addOption(s3Path);
    options.addOption(hdfsPath);
    options.addOption(mappers);
    options.addOption(useS3n);
    options.addOption(snapshotTtl);

    return options;
}

From source file:at.newmedialab.ldpath.backend.linkeddata.LDQuery.java

private static Options buildOptions() {
    Options result = new Options();

    OptionGroup query = new OptionGroup();
    Option path = OptionBuilder.withArgName("path").hasArg()
            .withDescription("LD Path to evaluate on the file starting from the context").create("path");
    Option program = OptionBuilder.withArgName("file").hasArg()
            .withDescription("LD Path program to evaluate on the file starting from the context")
            .create("program");
    query.addOption(path);/*w w w  . j  a v a  2 s  .c om*/
    query.addOption(program);
    query.setRequired(true);
    result.addOptionGroup(query);

    Option context = OptionBuilder.withArgName("uri").hasArg()
            .withDescription("URI of the context node to start from").create("context");
    context.setRequired(true);
    result.addOption(context);

    Option loglevel = OptionBuilder.withArgName("level").hasArg()
            .withDescription("set the log level; default is 'warn'").create("loglevel");
    result.addOption(loglevel);

    Option store = OptionBuilder.withArgName("dir").hasArg()
            .withDescription("cache the retrieved data in this directory").create("store");
    result.addOption(store);

    return result;
}