Example usage for org.apache.commons.cli Options addOptionGroup

List of usage examples for org.apache.commons.cli Options addOptionGroup

Introduction

In this page you can find the example usage for org.apache.commons.cli Options addOptionGroup.

Prototype

public Options addOptionGroup(OptionGroup group) 

Source Link

Document

Add the specified option group.

Usage

From source file:de.thetaphi.forbiddenapis.CliMain.java

@SuppressWarnings({ "static-access", "static" })
public CliMain(String... args) throws ExitException {
    final OptionGroup required = new OptionGroup();
    required.setRequired(true);//  w w w.  j a v  a 2s . c o  m
    required.addOption(dirOpt = OptionBuilder.withDescription(
            "directory with class files to check for forbidden api usage; this directory is also added to classpath")
            .withLongOpt("dir").hasArg().withArgName("directory").create('d'));
    required.addOption(versionOpt = OptionBuilder.withDescription("print product version and exit")
            .withLongOpt("version").create('V'));
    required.addOption(
            helpOpt = OptionBuilder.withDescription("print this help").withLongOpt("help").create('h'));

    final Options options = new Options();
    options.addOptionGroup(required);
    options.addOption(classpathOpt = OptionBuilder
            .withDescription("class search path of directories and zip/jar files").withLongOpt("classpath")
            .hasArgs().withValueSeparator(File.pathSeparatorChar).withArgName("path").create('c'));
    options.addOption(includesOpt = OptionBuilder.withDescription(
            "ANT-style pattern to select class files (separated by commas or option can be given multiple times, defaults to '**/*.class')")
            .withLongOpt("includes").hasArgs().withValueSeparator(',').withArgName("pattern").create('i'));
    options.addOption(excludesOpt = OptionBuilder.withDescription(
            "ANT-style pattern to exclude some files from checks (separated by commas or option can be given multiple times)")
            .withLongOpt("excludes").hasArgs().withValueSeparator(',').withArgName("pattern").create('e'));
    options.addOption(signaturesfileOpt = OptionBuilder
            .withDescription("path to a file containing signatures (option can be given multiple times)")
            .withLongOpt("signaturesfile").hasArg().withArgName("file").create('f'));
    options.addOption(bundledsignaturesOpt = OptionBuilder.withDescription(
            "name of a bundled signatures definition (separated by commas or option can be given multiple times)")
            .withLongOpt("bundledsignatures").hasArgs().withValueSeparator(',').withArgName("name")
            .create('b'));
    options.addOption(suppressannotationsOpt = OptionBuilder.withDescription(
            "class name or glob pattern of annotation that suppresses error reporting in classes/methods/fields (separated by commas or option can be given multiple times)")
            .withLongOpt("suppressannotation").hasArgs().withValueSeparator(',').withArgName("classname")
            .create());
    options.addOption(internalruntimeforbiddenOpt = OptionBuilder
            .withDescription("forbids calls to classes from the internal java runtime (like sun.misc.Unsafe)")
            .withLongOpt("internalruntimeforbidden").create());
    options.addOption(allowmissingclassesOpt = OptionBuilder
            .withDescription("don't fail if a referenced class is missing on classpath")
            .withLongOpt("allowmissingclasses").create());
    options.addOption(allowunresolvablesignaturesOpt = OptionBuilder
            .withDescription("don't fail if a signature is not resolving")
            .withLongOpt("allowunresolvablesignatures").create());

    try {
        this.cmd = new PosixParser().parse(options, args);
        if (cmd.hasOption(helpOpt.getLongOpt())) {
            printHelp(options);
            throw new ExitException(EXIT_SUCCESS);
        }
        if (cmd.hasOption(versionOpt.getLongOpt())) {
            printVersion();
            throw new ExitException(EXIT_SUCCESS);
        }
    } catch (org.apache.commons.cli.ParseException pe) {
        printHelp(options);
        throw new ExitException(EXIT_ERR_CMDLINE);
    }
}

From source file:iDynoOptimizer.MOEAFramework26.src.org.moeaframework.analysis.sensitivity.ResultFileInfo.java

@SuppressWarnings("static-access")
@Override//  w ww.  j  a  va  2s  .c  om
public Options getOptions() {
    Options options = super.getOptions();

    OptionGroup group = new OptionGroup();
    group.setRequired(true);
    group.addOption(OptionBuilder.withLongOpt("problem").hasArg().withArgName("name").create('b'));
    group.addOption(OptionBuilder.withLongOpt("dimension").hasArg().withArgName("number").create('d'));
    options.addOptionGroup(group);

    options.addOption(OptionBuilder.withLongOpt("output").hasArg().withArgName("file").create('o'));

    return options;
}

From source file:iDynoOptimizer.MOEAFramework26.src.org.moeaframework.analysis.sensitivity.ResultFileMerger.java

@SuppressWarnings("static-access")
@Override/*from  w w w. j  a  v a 2s.co m*/
public Options getOptions() {
    Options options = super.getOptions();

    OptionGroup group = new OptionGroup();
    group.setRequired(true);
    group.addOption(OptionBuilder.withLongOpt("problem").hasArg().withArgName("name").create('b'));
    group.addOption(OptionBuilder.withLongOpt("dimension").hasArg().withArgName("number").create('d'));
    options.addOptionGroup(group);

    options.addOption(OptionBuilder.withLongOpt("epsilon").hasArg().withArgName("e1,e2,...").create('e'));
    options.addOption(
            OptionBuilder.withLongOpt("output").hasArg().withArgName("file").isRequired().create('o'));
    options.addOption(OptionBuilder.withLongOpt("resultFile").create('r'));

    return options;
}

From source file:iDynoOptimizer.MOEAFramework26.src.org.moeaframework.analysis.sensitivity.ResultFileEvaluator.java

@SuppressWarnings("static-access")
@Override/*from w w w .ja va2s  . c o m*/
public Options getOptions() {
    Options options = super.getOptions();

    OptionGroup group = new OptionGroup();
    group.setRequired(true);
    group.addOption(OptionBuilder.withLongOpt("problem").hasArg().withArgName("name").create('b'));
    group.addOption(OptionBuilder.withLongOpt("dimension").hasArg().withArgName("number").create('d'));
    options.addOptionGroup(group);

    options.addOption(OptionBuilder.withLongOpt("input").hasArg().withArgName("file").isRequired().create('i'));
    options.addOption(
            OptionBuilder.withLongOpt("output").hasArg().withArgName("file").isRequired().create('o'));
    options.addOption(OptionBuilder.withLongOpt("reference").hasArg().withArgName("file").create('r'));
    options.addOption(OptionBuilder.withLongOpt("force").create('f'));

    return options;
}

From source file:iDynoOptimizer.MOEAFramework26.src.org.moeaframework.analysis.sensitivity.ResultFileSeedMerger.java

@SuppressWarnings("static-access")
@Override// ww w.j a  v  a2 s . c  om
public Options getOptions() {
    Options options = super.getOptions();

    OptionGroup group = new OptionGroup();
    group.setRequired(true);
    group.addOption(OptionBuilder.withLongOpt("problem").hasArg().withArgName("name").create('b'));
    group.addOption(OptionBuilder.withLongOpt("dimension").hasArg().withArgName("number").create('d'));
    options.addOptionGroup(group);

    options.addOption(
            OptionBuilder.withLongOpt("output").hasArg().withArgName("file").isRequired().create('o'));
    options.addOption(OptionBuilder.withLongOpt("epsilon").hasArg().withArgName("e1,e2,...").create('e'));

    return options;
}

From source file:eu.itesla_project.online.tools.OnlineWorkflowCommand.java

@Override
public Options getOptions() {
    Options opts = new Options();

    OptionGroup og = new OptionGroup();
    og.setRequired(true);/*from ww w  . ja v  a2s . c  o  m*/

    og.addOption(Option.builder().longOpt(START_CMD).desc("start new online workflow").build());

    og.addOption(Option.builder().longOpt(SHUTDOWN_CMD).desc("shutdown online workflow application").build());
    opts.addOptionGroup(og);

    opts.addOption(Option.builder().longOpt(HOST).desc("jmx host").hasArg().argName("HOST").build());
    opts.addOption(Option.builder().longOpt(PORT).desc("jmx port").hasArg().argName("PORT").build());

    opts.addOption(Option.builder().longOpt(BASE_CASE).desc("Base case").hasArg().argName(BASE_CASE).build());

    opts.addOption(Option.builder().longOpt(TIME_HORIZON).desc("time horizon for the online analysis").hasArg()
            .argName(TIME_HORIZON).build());

    opts.addOption(Option.builder().longOpt(BASE_CASE).desc("Basecase to be analyzed").hasArg()
            .argName(BASE_CASE).build());

    opts.addOption(Option.builder().longOpt(STATES).desc("States number").hasArg().argName(STATES).build());

    opts.addOption(
            Option.builder().longOpt(WORKFLOW_ID).desc("offline workflow id that produced the security rules")
                    .hasArg().argName(WORKFLOW_ID).build());

    opts.addOption(Option.builder().longOpt(HISTODB_INTERVAL)
            .desc("interval of historical data to be used for WCA").hasArg().argName(HISTODB_INTERVAL).build());

    opts.addOption(Option.builder().longOpt(THREADS).desc("Executing threads number").hasArg().argName(THREADS)
            .build());

    opts.addOption(Option.builder().longOpt(FEANALYSIS_ID).desc("id of the forecast error analysis").hasArg()
            .argName(FEANALYSIS_ID).build());

    opts.addOption(Option.builder().longOpt(RULES_PURITY).desc("purity threshold for the security rules")
            .hasArg().argName(RULES_PURITY).build());

    opts.addOption(Option.builder().longOpt(STORE_STATES).desc("store states").build());

    opts.addOption(Option.builder().longOpt(ANALYSE_BASECASE).desc("analyse basecase").build());

    opts.addOption(Option.builder().longOpt(VALIDATION).desc("validation").build());

    opts.addOption(Option.builder().longOpt(SECURITY_INDEXES)
            .desc("sub list of security index types to use, use ALL for using all of them").hasArg()
            .argName("INDEX_TYPE,INDEX_TYPE,...").build());

    opts.addOption(Option.builder().longOpt(BASECASES_INTERVAL)
            .desc("interval for basecases to be considered; when set, overrides base-case parameter").hasArg()
            .argName(BASECASES_INTERVAL).build());

    opts.addOption(Option.builder().longOpt(CASE_TYPE).desc("the type (FO/SN) of the base case").hasArg()
            .argName(CASE_TYPE).build());

    opts.addOption(
            Option.builder().longOpt(COUNTRIES).desc("the countries of the base case, separated by comma")
                    .hasArg().argName("COUNTRY,COUNTRY,...").build());

    opts.addOption(Option.builder().longOpt(MERGE_OPTIMIZED).desc("merge optimized").build());

    opts.addOption(Option.builder().longOpt(LIMIT_REDUCTION).desc("limits reduction").hasArg()
            .argName(LIMIT_REDUCTION).build());

    opts.addOption(Option.builder().longOpt(HANDLE_VIOLATION_IN_N).desc("handle violation in n").build());

    opts.addOption(Option.builder().longOpt(CONSTRAINT_MARGIN).desc("constraint margin").hasArg()
            .argName(CONSTRAINT_MARGIN).build());

    opts.addOption(Option.builder().longOpt(CASE_FILE)
            .desc("case file: Note: parameter " + CASE_FILE + "cannot be used together with parameters "
                    + BASE_CASE + ", " + CASE_TYPE + ", " + COUNTRIES + ", " + BASECASES_INTERVAL)
            .hasArg().argName(CASE_FILE).build());

    return opts;
}

From source file:iDynoOptimizer.MOEAFramework26.src.org.moeaframework.analysis.sensitivity.ExtractData.java

@SuppressWarnings("static-access")
@Override/*from w ww  . ja  v a2 s. c o m*/
public Options getOptions() {
    Options options = super.getOptions();

    OptionGroup group = new OptionGroup();
    group.setRequired(true);
    group.addOption(OptionBuilder.withLongOpt("problem").hasArg().withArgName("name").create('b'));
    group.addOption(OptionBuilder.withLongOpt("dimension").hasArg().withArgName("number").create('d'));
    options.addOptionGroup(group);

    options.addOption(OptionBuilder.withLongOpt("input").hasArg().withArgName("file").isRequired().create('i'));
    options.addOption(OptionBuilder.withLongOpt("output").hasArg().withArgName("file").create('o'));
    options.addOption(OptionBuilder.withLongOpt("separator").hasArg().withArgName("value").create('s'));
    options.addOption(OptionBuilder.withLongOpt("reference").hasArg().withArgName("file").create('r'));
    options.addOption(OptionBuilder.withLongOpt("epsilon").hasArg().withArgName("e1,e2,...").create('e'));
    options.addOption(OptionBuilder.withLongOpt("noheader").create('n'));

    return options;
}

From source file:iDynoOptimizer.MOEAFramework26.src.org.moeaframework.analysis.tools.AerovisConverter.java

@SuppressWarnings("static-access")
@Override/*from   ww w  .j a va 2s  .  c  om*/
public Options getOptions() {
    Options options = super.getOptions();

    OptionGroup group = new OptionGroup();
    group.setRequired(true);
    group.addOption(OptionBuilder.withLongOpt("problem").hasArg().withArgName("name").create('b'));
    group.addOption(OptionBuilder.withLongOpt("dimension").hasArg().withArgName("number").create('d'));
    options.addOptionGroup(group);

    options.addOption(OptionBuilder.withLongOpt("input").hasArg().withArgName("file").isRequired().create('i'));
    options.addOption(
            OptionBuilder.withLongOpt("output").hasArg().withArgName("file").isRequired().create('o'));
    options.addOption(OptionBuilder.withLongOpt("reduced").create('r'));
    options.addOption(OptionBuilder.withLongOpt("names").hasArg().create('n'));

    return options;
}

From source file:edu.psu.cse.siis.coal.CommandLineParser.java

/**
 * Populates the default command line arguments that are common to all analyses.
 * // w  w  w.  j ava2 s.c  o  m
 * @param options The command line options object that should be modified.
 */
private void parseDefaultCommandLineArguments(Options options) {
    OptionGroup modelGroup = new OptionGroup();
    modelGroup.addOption(Option.builder("model").desc("Path to the model directory.").hasArg()
            .argName("model directory").build());
    modelGroup.addOption(Option.builder("cmodel").desc("Path to the compiled model.").hasArg()
            .argName("compiled model").build());
    modelGroup.setRequired(false);

    options.addOptionGroup(modelGroup);

    options.addOption(Option.builder("cp").desc("The classpath for the analysis.").hasArg().argName("classpath")
            .required().longOpt("classpath").build());
    options.addOption(Option.builder("in").desc("The input code for the analysis.").hasArg().argName("input")
            .required().longOpt("input").build());
    options.addOption(Option.builder("out").desc("The output directory or file.").hasArg().argName("output")
            .longOpt("output").build());
    options.addOption(
            Option.builder("traversemodeled").desc("Propagate through modeled classes.").hasArg(false).build());
    options.addOption("modeledtypesonly", false, "Only infer modeled types.");
    options.addOption(Option.builder("threadcount").desc("The maximum number of threads that should be used.")
            .hasArg().argName("thread count").type(Number.class).build());
}

From source file:PSOResultFileMerger.java

@SuppressWarnings("static-access")
@Override//from w  ww  . ja va  2 s. c  om
public Options getOptions() {
    Options options = super.getOptions();

    OptionGroup group = new OptionGroup();
    group.setRequired(true);
    group.addOption(OptionBuilder.withLongOpt("problem").hasArg().withArgName("name")
            .withDescription("Problem name").create('b'));
    group.addOption(OptionBuilder.withLongOpt("dimension").hasArg().withArgName("number")
            .withDescription("Number of objectives").create('d'));
    options.addOptionGroup(group);

    options.addOption(OptionBuilder.withLongOpt("epsilon").hasArg().withArgName("e1,e2,...")
            .withDescription("Epsilon values for epsilon-dominance").create('e'));
    options.addOption(OptionBuilder.withLongOpt("output").hasArg().withArgName("file")
            .withDescription("Output file containing the merged set").isRequired().create('o'));
    options.addOption(OptionBuilder.withLongOpt("vars").hasArg().withArgName("vars")
            .withDescription("Number of decision variables.").isRequired().create('v'));
    options.addOption(OptionBuilder.withLongOpt("resultFile")
            .withDescription("Output result file instead of reference set").create('r'));

    return options;
}