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

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

Introduction

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

Prototype

public OptionGroup addOption(Option option) 

Source Link

Document

Add the specified Option to this group.

Usage

From source file:org.wildfly.security.tool.CredentialStoreCommand.java

CredentialStoreCommand() {
    options = new Options();
    Option opt = new Option("l", STORE_LOCATION_PARAM, true,
            ElytronToolMessages.msg.cmdLineStoreLocationDesc());
    opt.setArgName("loc");
    opt.setOptionalArg(false);//from   w ww  .  ja  v a 2 s . com
    options.addOption(opt);
    opt = new Option("u", IMPLEMENTATION_PROPERTIES_PARAM, true,
            ElytronToolMessages.msg.cmdLineImplementationPropertiesDesc());
    options.addOption(opt);
    opt = new Option("p", CREDENTIAL_STORE_PASSWORD_PARAM, true,
            ElytronToolMessages.msg.cmdLineCredentialStorePassword());
    opt.setArgName("pwd");
    options.addOption(opt);
    options.addOption("s", SALT_PARAM, true, ElytronToolMessages.msg.cmdLineSaltDesc());
    options.addOption("i", ITERATION_PARAM, true, ElytronToolMessages.msg.cmdLineIterationCountDesc());
    opt = new Option("x", PASSWORD_CREDENTIAL_VALUE_PARAM, true,
            ElytronToolMessages.msg.cmdLinePasswordCredentialValueDesc());
    opt.setArgName("secret to store");
    opt.setOptionalArg(true);
    options.addOption(opt);
    opt = new Option("n", ENTRY_TYPE_PARAM, true, ElytronToolMessages.msg.cmdLineEntryTypeDesc());
    opt.setArgName("type");
    opt.setOptionalArg(true);
    options.addOption(opt);
    opt = new Option("o", OTHER_PROVIDERS_PARAM, true, ElytronToolMessages.msg.cmdLineOtherProvidersDesc());
    opt.setArgName("providers");
    opt.setOptionalArg(true);
    options.addOption(opt);
    opt = new Option("q", CUSTOM_CREDENTIAL_STORE_PROVIDER_PARAM, true,
            ElytronToolMessages.msg.cmdLineCustomCredentialStoreProviderDesc());
    opt.setArgName("cs-provider");
    opt.setOptionalArg(true);
    options.addOption(opt);
    options.addOption("c", CREATE_CREDENTIAL_STORE_PARAM, false,
            ElytronToolMessages.msg.cmdLineCreateCredentialStoreDesc());
    opt = new Option("t", CREDENTIAL_STORE_TYPE_PARAM, true,
            ElytronToolMessages.msg.cmdLineCredentialStoreTypeDesc());
    opt.setArgName("type");
    options.addOption(opt);
    options.addOption("f", PRINT_SUMMARY_PARAM, false, ElytronToolMessages.msg.cmdLinePrintSummary());

    OptionGroup og = new OptionGroup();
    Option a = new Option("a", ADD_ALIAS_PARAM, true, ElytronToolMessages.msg.cmdLineAddAliasDesc());
    a.setArgName("alias");
    Option e = new Option("e", CHECK_ALIAS_PARAM, true, ElytronToolMessages.msg.cmdLineCheckAliasDesc());
    e.setArgName("alias");
    Option r = new Option("r", REMOVE_ALIAS_PARAM, true, ElytronToolMessages.msg.cmdLineRemoveAliasDesc());
    r.setArgName("alias");
    Option v = new Option("v", ALIASES_PARAM, false, ElytronToolMessages.msg.cmdLineAliasesDesc());
    Option h = new Option("h", HELP_PARAM, false, ElytronToolMessages.msg.cmdLineHelp());
    Option d = new Option("d", DEBUG_PARAM, false, ElytronToolMessages.msg.cmdLineDebug());
    og.addOption(a);
    og.addOption(e);
    og.addOption(r);
    og.addOption(v);
    options.addOptionGroup(og);
    options.addOption(h);
    options.addOption(d);
}

From source file:ox.softeng.burst.service.BurstService.java

private static Options defineOptions() {

    Options options = new Options();
    OptionGroup group = new OptionGroup();
    group.addOption(Option.builder("c").longOpt("config").argName("FILE").hasArg().required()
            .desc("The config file defining the monitor config").build());
    group.addOption(Option.builder("h").longOpt("help").build());
    group.addOption(Option.builder("v").longOpt("version").build());
    options.addOptionGroup(group);/*from w  w  w . j  a va2s .c  o  m*/

    return options;
}

From source file:ox.softeng.gel.filereceive.FileReceive.java

private static boolean hasSimpleOptions(String[] args) {

    Options options = new Options();
    OptionGroup group = new OptionGroup();
    group.addOption(Option.builder("h").longOpt("help").build());
    group.addOption(Option.builder("v").longOpt("version").build());
    options.addOptionGroup(group);//from   w ww  . j  a va 2  s.co  m

    try {
        // parse the command line arguments
        CommandLine line = parser.parse(options, args);
        if (line.hasOption("h"))
            help();
        if (line.hasOption("v"))
            System.out.println(fullVersion());
        ;
        return true;
    } catch (ParseException ignored) {
    }
    return false;
}

From source file:pl.koziolekweb.options.TodConverterOptions.java

public TodConverterOptions() {
    OptionGroup optionGroup = new OptionGroup();
    optionGroup.addOption(new HelpOption(this));
    optionGroup.addOption(new ConvertAllOption());
    optionGroup.addOption(new ConvertOneOption());
    optionGroup.setRequired(true);/*from  ww  w .  j a v  a  2s .c o m*/
    addOptionGroup(optionGroup);
}

From source file:pl.nask.hsn2.unicorn.CommandLineParams.java

private void initOptions() {
    OptionGroup optionGroup = new OptionGroup();
    optionGroup.setRequired(true);/* w w  w.ja  v a2 s . c o  m*/

    OptionBuilder.withArgName(JOB_ID);
    OptionBuilder.withLongOpt("jobCancel");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("Job cancel");
    optionGroup.addOption(OptionBuilder.create("jc"));

    OptionBuilder.withArgName("workflowName [serviceParams]");
    OptionBuilder.withLongOpt("jobDescriptor");
    OptionBuilder.hasArgs();
    OptionBuilder.withValueSeparator(' ');
    OptionBuilder.withDescription("Job descriptor");
    optionGroup.addOption(OptionBuilder.create("jd"));

    OptionBuilder.withArgName("workflowName filePath");
    OptionBuilder.withLongOpt("jobDescriptorFlood");
    OptionBuilder.hasArgs();
    OptionBuilder.withValueSeparator(' ');
    OptionBuilder.withDescription("Job descriptor flood");
    optionGroup.addOption(OptionBuilder.create("jdf"));

    OptionBuilder.withLongOpt("jobList");
    OptionBuilder.withDescription("Job list");
    optionGroup.addOption(OptionBuilder.create("jl"));

    OptionBuilder.withLongOpt("jobListQuery");
    OptionBuilder.withArgName("workflowName");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("List of jobs with the given workflow name");
    optionGroup.addOption(OptionBuilder.create("jlq"));

    OptionBuilder.withArgName(JOB_ID);
    OptionBuilder.withLongOpt("jobInfo");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("Job info");
    optionGroup.addOption(OptionBuilder.create("ji"));

    OptionBuilder.withLongOpt("listWorkflow");
    OptionBuilder.withDescription("Workflow list");
    optionGroup.addOption(OptionBuilder.create("lw"));

    OptionBuilder.withArgName("workflowName revision");
    OptionBuilder.withLongOpt("getWorkflow");
    OptionBuilder.hasArgs();
    OptionBuilder.withValueSeparator(' ');
    OptionBuilder.withDescription("get Workflow");
    optionGroup.addOption(OptionBuilder.create("gw"));

    OptionBuilder.withArgName("workflowFilePath");
    OptionBuilder.withLongOpt("uploadWorkflow");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("Uploads worklfow definition file");
    optionGroup.addOption(OptionBuilder.create("uw"));

    OptionBuilder.withLongOpt("getConfig");
    OptionBuilder.withDescription("get config");
    optionGroup.addOption(OptionBuilder.create("gcr"));

    OptionBuilder.withArgName("queueName");
    OptionBuilder.withLongOpt("getMessage");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("Print message from queue without consuming");
    optionGroup.addOption(OptionBuilder.create("gm"));

    OptionBuilder.withArgName("queueName messagesNumber");
    OptionBuilder.withLongOpt("getMessages");
    OptionBuilder.hasArgs(2);
    OptionBuilder.withValueSeparator(' ');
    OptionBuilder.withDescription("Print messages from queue without consuming");
    optionGroup.addOption(OptionBuilder.create("gms"));

    OptionBuilder.withArgName("queueName");
    OptionBuilder.withLongOpt("streamMessage");
    OptionBuilder.hasArgs(1);
    OptionBuilder.withDescription("Get and print all messages from queue. Listens in infinite loop.");
    optionGroup.addOption(OptionBuilder.create("sm"));

    OptionBuilder.withArgName("jobId objectId");
    OptionBuilder.withLongOpt("objectStoreGet");
    OptionBuilder.hasArgs(2);
    OptionBuilder.withValueSeparator(' ');
    OptionBuilder.withDescription("return object having the same jobId and objectId");
    optionGroup.addOption(OptionBuilder.create("osg"));

    OptionBuilder.withArgName(JOB_ID);
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("Make dump");
    optionGroup.addOption(OptionBuilder.create("dump"));

    OptionBuilder.withArgName(JOB_ID);
    OptionBuilder.withLongOpt("objectStoreQueryAll");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("Query for objectStore return ALL objects with jobId");
    optionGroup.addOption(OptionBuilder.create("osqa"));

    OptionBuilder.withArgName("jobId name");
    OptionBuilder.withLongOpt("objectStoreQueryName");
    OptionBuilder.hasArgs(2);
    OptionBuilder.withValueSeparator(' ');
    OptionBuilder.withDescription(
            "Query for objectStore return objects having the same jobId and attribute name as given");
    optionGroup.addOption(OptionBuilder.create("osqn"));

    OptionBuilder.withArgName("jobId name type[s/i/b/o] value");
    OptionBuilder.withLongOpt("objectStoreQueryValue");
    OptionBuilder.hasArgs(4);
    OptionBuilder.withValueSeparator(' ');
    OptionBuilder.withDescription(
            "Query for objectStore return objects having the same jobId attribute named and value as given.");
    optionGroup.addOption(OptionBuilder.create("osqv"));

    OptionBuilder.withArgName(JOB_ID);
    OptionBuilder.withLongOpt("objectStoreJobClean");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription(
            "Sends JobFinished message. As a result of this msg ObjectStore will clean all data with given jobId.");
    optionGroup.addOption(OptionBuilder.create("osjc"));

    OptionBuilder.withLongOpt("help");
    OptionBuilder.withDescription("Prints this help");
    optionGroup.addOption(OptionBuilder.create("h"));

    OptionBuilder.withArgName("fileName jobId");
    OptionBuilder.hasArgs(2);
    OptionBuilder.withValueSeparator(' ');
    OptionBuilder.withDescription("Import objects from file to os");
    optionGroup.addOption(OptionBuilder.create("import"));

    OptionBuilder.withArgName(JOB_ID);
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("checking status of job");
    optionGroup.addOption(OptionBuilder.create("status"));

    OptionBuilder.withArgName("action[id|w] param count [interval]");
    OptionBuilder.hasArgs();
    OptionBuilder.withValueSeparator(' ');
    OptionBuilder.withDescription(
            "When action type is 'id' it monitors job and starts new if it ends. When type is 'w' it starts new job, monitors it and starts new if it ends. Count defines how many time to repeat job. Time interval defines sleep between checks in seconds (10s if nothing provided).");
    OptionBuilder.withLongOpt("jobDescriptorLooped");
    optionGroup.addOption(OptionBuilder.create("jdl"));

    options.addOptionGroup(optionGroup);

    OptionBuilder.withArgName("address");
    OptionBuilder.withLongOpt("serverAddress");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("Address for server, default: " + address);
    options.addOption(OptionBuilder.create("sa"));

    OptionBuilder.withArgName("name");
    OptionBuilder.withLongOpt("queueName");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("Name for objestStore queue, default: " + osQueueName);
    options.addOption(OptionBuilder.create("qn"));

    OptionBuilder.withArgName("name");
    OptionBuilder.withLongOpt("fwQueueName");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("Name for framework queue, default: " + frameworkQueueName);
    options.addOption(OptionBuilder.create("fqn"));

    OptionBuilder.withLongOpt("verbose");
    OptionBuilder.withDescription("Whether to print objects in osqa, osqn and osqv, default: not enabled.");
    options.addOption(OptionBuilder.create("verb"));

    OptionBuilder.withLongOpt("brief");
    OptionBuilder.withDescription("Used with '-jl' and '-osqa' only. Shows brief info. Default: not enabled.");
    options.addOption(OptionBuilder.create("b"));
}

From source file:projetg2.DcmSnd.java

private static CommandLine parse(String[] args) {
    Options opts = new Options();

    OptionBuilder.withArgName("name");
    OptionBuilder.hasArg();//  w  ww.  j  a v a 2s.c o m
    OptionBuilder.withDescription("set device name, use DCMSND by default");
    opts.addOption(OptionBuilder.create("device"));

    OptionBuilder.withArgName("aet[@host][:port]");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("set AET, local address and listening port of local "
            + "Application Entity, use device name and pick up any valid "
            + "local address to bind the socket by default");
    opts.addOption(OptionBuilder.create("L"));

    opts.addOption("ts1", false,
            "offer Default Transfer Syntax in " + "separate Presentation Context. By default offered with "
                    + "Explicit VR Little Endian TS in one PC.");

    opts.addOption("fileref", false,
            "send objects without pixel data, but with a reference to "
                    + "the DICOM file using DCM4CHE URI Referenced Transfer Syntax "
                    + "to import DICOM objects on a given file system to a DCM4CHEE " + "archive.");

    OptionBuilder.withArgName("username");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription(
            "enable User Identity Negotiation with specified username and " + " optional passcode");
    opts.addOption(OptionBuilder.create("username"));

    OptionBuilder.withArgName("passcode");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription(
            "optional passcode for User Identity Negotiation, " + "only effective with option -username");
    opts.addOption(OptionBuilder.create("passcode"));

    opts.addOption("uidnegrsp", false,
            "request positive User Identity Negotation response, " + "only effective with option -username");

    OptionBuilder.withArgName("NULL|3DES|AES");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("enable TLS connection without, 3DES or AES encryption");
    opts.addOption(OptionBuilder.create("tls"));

    OptionGroup tlsProtocol = new OptionGroup();
    tlsProtocol.addOption(new Option("tls1", "disable the use of SSLv3 and SSLv2 for TLS connections"));
    tlsProtocol.addOption(new Option("ssl3", "disable the use of TLSv1 and SSLv2 for TLS connections"));
    tlsProtocol.addOption(new Option("no_tls1", "disable the use of TLSv1 for TLS connections"));
    tlsProtocol.addOption(new Option("no_ssl3", "disable the use of SSLv3 for TLS connections"));
    tlsProtocol.addOption(new Option("no_ssl2", "disable the use of SSLv2 for TLS connections"));
    opts.addOptionGroup(tlsProtocol);

    opts.addOption("noclientauth", false, "disable client authentification for TLS");

    OptionBuilder.withArgName("file|url");
    OptionBuilder.hasArg();
    OptionBuilder
            .withDescription("file path or URL of P12 or JKS keystore, resource:tls/test_sys_2.p12 by default");
    opts.addOption(OptionBuilder.create("keystore"));

    OptionBuilder.withArgName("password");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("password for keystore file, 'secret' by default");
    opts.addOption(OptionBuilder.create("keystorepw"));

    OptionBuilder.withArgName("password");
    OptionBuilder.hasArg();
    OptionBuilder
            .withDescription("password for accessing the key in the keystore, keystore password by default");
    opts.addOption(OptionBuilder.create("keypw"));

    OptionBuilder.withArgName("file|url");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("file path or URL of JKS truststore, resource:tls/mesa_certs.jks by default");
    opts.addOption(OptionBuilder.create("truststore"));

    OptionBuilder.withArgName("password");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("password for truststore file, 'secret' by default");
    opts.addOption(OptionBuilder.create("truststorepw"));

    OptionBuilder.withArgName("aet@host:port");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("request storage commitment of (successfully) sent objects "
            + "afterwards in new association to specified remote " + "Application Entity");
    opts.addOption(OptionBuilder.create("stgcmtae"));

    opts.addOption("stgcmt", false,
            "request storage commitment of (successfully) sent objects " + "afterwards in same association");

    OptionBuilder.withArgName("attr=value");
    OptionBuilder.hasArgs();
    OptionBuilder.withValueSeparator('=');
    OptionBuilder.withDescription("Replace value of specified attribute "
            + "with specified value in transmitted objects. attr can be "
            + "specified by name or tag value (in hex), e.g. PatientName " + "or 00100010.");
    opts.addOption(OptionBuilder.create("set"));

    OptionBuilder.withArgName("sx1[:sx2[:sx3]");
    OptionBuilder.hasArgs();
    OptionBuilder.withValueSeparator(':');
    OptionBuilder.withDescription(
            "Suffix SOP [,Series [,Study]] " + "Instance UID with specified value[s] in transmitted objects.");
    opts.addOption(OptionBuilder.create("setuid"));

    OptionBuilder.withArgName("maxops");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("maximum number of outstanding operations it may invoke "
            + "asynchronously, unlimited by default.");
    opts.addOption(OptionBuilder.create("async"));

    opts.addOption("pdv1", false, "send only one PDV in one P-Data-TF PDU, "
            + "pack command and data PDV in one P-DATA-TF PDU by default.");
    opts.addOption("tcpdelay", false, "set TCP_NODELAY socket option to false, true by default");

    OptionBuilder.withArgName("ms");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("timeout in ms for TCP connect, no timeout by default");
    opts.addOption(OptionBuilder.create("connectTO"));

    OptionBuilder.withArgName("ms");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("delay in ms for Socket close after sending A-ABORT, " + "50ms by default");
    opts.addOption(OptionBuilder.create("soclosedelay"));

    OptionBuilder.withArgName("ms");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("delay in ms for closing the listening socket, " + "1000ms by default");
    opts.addOption(OptionBuilder.create("shutdowndelay"));

    OptionBuilder.withArgName("ms");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("period in ms to check for outstanding DIMSE-RSP, " + "10s by default");
    opts.addOption(OptionBuilder.create("reaper"));

    OptionBuilder.withArgName("ms");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("timeout in ms for receiving DIMSE-RSP, 10s by default");
    opts.addOption(OptionBuilder.create("rspTO"));

    OptionBuilder.withArgName("ms");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("timeout in ms for receiving A-ASSOCIATE-AC, 5s by default");
    opts.addOption(OptionBuilder.create("acceptTO"));

    OptionBuilder.withArgName("ms");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("timeout in ms for receiving A-RELEASE-RP, 5s by default");
    opts.addOption(OptionBuilder.create("releaseTO"));

    OptionBuilder.withArgName("KB");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("maximal length in KB of received P-DATA-TF PDUs, 16KB by default");
    opts.addOption(OptionBuilder.create("rcvpdulen"));

    OptionBuilder.withArgName("KB");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("maximal length in KB of sent P-DATA-TF PDUs, 16KB by default");
    opts.addOption(OptionBuilder.create("sndpdulen"));

    OptionBuilder.withArgName("KB");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("set SO_RCVBUF socket option to specified value in KB");
    opts.addOption(OptionBuilder.create("sorcvbuf"));

    OptionBuilder.withArgName("KB");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("set SO_SNDBUF socket option to specified value in KB");
    opts.addOption(OptionBuilder.create("sosndbuf"));

    OptionBuilder.withArgName("KB");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("transcoder buffer size in KB, 1KB by default");
    opts.addOption(OptionBuilder.create("bufsize"));

    OptionBuilder.withArgName("count");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("Batch size - Number of files to be sent in each batch, "
            + "where a storage commit is done between batches ");
    opts.addOption(OptionBuilder.create("batchsize"));

    opts.addOption("lowprior", false, "LOW priority of the C-STORE operation, MEDIUM by default");
    opts.addOption("highprior", false, "HIGH priority of the C-STORE operation, MEDIUM by default");
    opts.addOption("h", "help", false, "print this message");
    opts.addOption("V", "version", false, "print the version information and exit");
    CommandLine cl = null;
    try {
        cl = new GnuParser().parse(opts, args);
    } catch (ParseException e) {
        exit("dcmsnd: " + e.getMessage());
        throw new RuntimeException("unreachable");
    }
    if (cl.hasOption('V')) {
        Package p = DcmSnd.class.getPackage();
        System.out.println("dcmsnd v" + p.getImplementationVersion());
        System.exit(0);
    }
    if (cl.hasOption('h') || cl.getArgList().size() < 2) {
        HelpFormatter formatter = new HelpFormatter();
        formatter.printHelp(USAGE, DESCRIPTION, opts, EXAMPLE);
        System.exit(0);
    }
    return cl;
}

From source file:pyromaniac.AcaciaMain.java

/**
 * The main method./*from   ww  w .j  ava  2 s  .com*/
 *
 * @param args the arguments
 */
@SuppressWarnings("static-access")
public static void main(String[] args) {
    AcaciaMain am = new AcaciaMain();
    Options options = new Options();
    OptionGroup runType = new OptionGroup();

    Option genConfigFile = OptionBuilder.withArgName("file").hasArg()
            .withDescription("Write default config to this file").create("g");
    Option runFromConfig = OptionBuilder.withArgName("file").hasArg()
            .withDescription("Run Acacia with this config").create("c");
    Option runGUI = OptionBuilder.withDescription("Run Acacia GUI").create("u");
    Option help = OptionBuilder.withDescription("Show this help message").create("h");
    Option version = OptionBuilder.withDescription("Version").create("v");
    Option property = OptionBuilder.withArgName("property=value").hasArgs(2).withValueSeparator()
            .withDescription("use value for given property [when running from command line]").create("D");

    runType.addOption(genConfigFile);
    runType.addOption(runFromConfig);
    runType.addOption(runGUI);
    runType.addOption(help);
    runType.addOption(version);
    runType.addOption(property); //this indicates the user is running from the command line without a config.
    options.addOptionGroup(runType);

    try {
        CommandLineParser parser = new PosixParser();
        CommandLine clObj = parser.parse(options, args);

        if (!(clObj.hasOption('g') ^ clObj.hasOption('c') ^ clObj.hasOption('u') ^ clObj.hasOption('D')
                ^ clObj.hasOption('v'))) {
            usage(options);
        }

        if (clObj.hasOption('g')) {
            String config = clObj.getOptionValue('g');
            am.generateConfig(config);
            System.exit(0);
        } else if (clObj.hasOption('c')) {
            String config = clObj.getOptionValue('c');

            HashMap<String, String> settings = am.loadConfigFromFile(config);

            am.runAcacia(settings);
        } else if (clObj.hasOption('u')) {
            am.runAcacia(null);
        } else if (clObj.hasOption('v')) {
            System.out.println("Acacia version: " + AcaciaEngine.getVersion());
            System.exit(0);
        } else if (clObj.hasOption('D')) {
            //running from command line...
            HashMap<String, String> settings = am.populateSettingsFromCommandLine(clObj);

            am.runAcacia(settings);
        } else {
            usage(options);
        }
    } catch (ParseException pe) {
        System.out.println(pe.getMessage());
        pe.printStackTrace();
        usage(options);
    } catch (Exception e) {

        e.printStackTrace();
        am.cleanExit(null, e);
    }
}

From source file:scalabilityTests.scenarios.SchedulerJobSubmission.java

private static void addCommandLineOptions(Options options) {

    Option help = new Option("h", "help", false, "Display this help");
    help.setRequired(false);/*from  ww  w  . j a va2s .c om*/
    options.addOption(help);

    Option xmlDescriptor = new Option("ad", "gcmad", true, "path to the GCM Aplication Descriptor to be used");
    xmlDescriptor.setArgName("GCMA_xml");
    xmlDescriptor.setArgs(1);
    xmlDescriptor.setRequired(true);
    options.addOption(xmlDescriptor);

    Option vnode = new Option("vn", "virtualNode", true,
            "the name of the virtual node which identifies the nodes onto which the Active Object Actors will be deployed");
    vnode.setArgName("AO_nodes");
    vnode.setArgs(1);
    vnode.setRequired(true);
    options.addOption(vnode);

    Option schedulerUrl = new Option("u", "schedulerUrl", true, "the URL of the Scheduler");
    schedulerUrl.setArgName("schedulerURL");
    schedulerUrl.setArgs(1);
    schedulerUrl.setRequired(true);
    options.addOption(schedulerUrl);

    Option username = new Option("l", "login", true, "The username to join the Scheduler");
    username.setArgName("login");
    username.setArgs(1);
    username.setRequired(false);
    options.addOption(username);

    Option password = new Option("p", "password", true, "The password to join the Scheduler");
    password.setArgName("pwd");
    password.setArgs(1);
    password.setRequired(false);
    options.addOption(password);

    Option loginFile = new Option("lf", "loginFile", true,
            "The path to a file containing valid username:password combinations for the Scheduler");
    loginFile.setArgName("login_cfg");
    loginFile.setArgs(1);
    loginFile.setRequired(false);
    options.addOption(loginFile);

    Option jobDescriptor = new Option("j", "jobDesc", true, "The path to the XML job descriptor");
    jobDescriptor.setArgName("XML_Job_Descriptor");
    jobDescriptor.setArgs(1);
    jobDescriptor.setRequired(true);
    options.addOption(jobDescriptor);

    Option registerListeners = new Option("rl", "listener", false,
            "Register the specified Scheduler listener for each user. If no listener is specified, then a 'simple' scheduler listener will be registered");
    registerListeners.setRequired(false);
    registerListeners.setOptionalArg(true);
    registerListeners.setArgs(1);
    registerListeners.setArgName("listenerClassName");
    options.addOption(registerListeners);

    Option jobRepetition = new Option("rp", "repeats", true,
            "The number of times the job will be submitted(optional parameter; by default it will be set to 1)");
    jobRepetition.setRequired(false);
    jobRepetition.setArgName("jobRepeats");
    jobRepetition.setArgs(1);
    options.addOption(jobRepetition);

    Option jobResult = new Option("jr", "jobResult", false,
            "Fetch the result for the submitted jobs. Optional parameter, defaults to false");
    jobResult.setRequired(false);
    options.addOption(jobResult);

    OptionGroup initialStateGroup = new OptionGroup();
    initialStateGroup.setRequired(false);

    Option gui = new Option("gu", "gui", false,
            "Simulate an user which interacts with the Scheduler using a GUI(all scheduler state will be downloaded at login)");
    gui.setRequired(false);
    initialStateGroup.addOption(gui);

    Option cli = new Option("cu", "cli", false,
            "Simulate an user which interacts with the Scheduler using a CLI(the scheduler state will NOT be downloaded at login)");
    cli.setRequired(false);
    initialStateGroup.addOption(cli);

    options.addOptionGroup(initialStateGroup);

    Option myEventsOnly = new Option("me", "myEvsOnly", false,
            "While registering a listener, get only the events which concern me");
    myEventsOnly.setRequired(false);
    options.addOption(myEventsOnly);
}

From source file:scoutdoc.main.Main.java

/**
 * @param args//w w  w  .  jav  a 2 s. c  om
 */
public static void main(String[] args) {
    Option optHelp = new Option(HELP_ID, "help", false, "print this message");

    Option optProp = new Option(PROP_ID, "config", true, "configuration file");
    optProp.setArgName("file");

    //source
    Option optTask = new Option(SOURCE_TASKS_ID, "task", true, "(source) one or many task files");
    optTask.setArgName("files");
    optTask.setArgs(Option.UNLIMITED_VALUES);

    Option optAllPages = new Option(SOURCE_ALL_PAGES_ID, "pages", false,
            "(source) use the pages contained in the source folder");

    Option optListPages = new Option(SOURCE_LIST_ID, "list", true,
            "(source) list of pages contained in the file");
    optListPages.setArgName("file");

    Option optRecentChange = new Option(SOURCE_RECENT_CHANGES_ID, "recent-changes", false,
            "(source) use the pages from the wiki recent changes");

    Option optRss = new Option(SOURCE_RSS_ID, "rss", false,
            "(source) use the pages from the rss feed of the wiki");

    OptionGroup sourceGroup = new OptionGroup();
    sourceGroup.setRequired(true);
    sourceGroup.addOption(optTask);
    sourceGroup.addOption(optAllPages);
    sourceGroup.addOption(optListPages);
    sourceGroup.addOption(optRecentChange);
    sourceGroup.addOption(optRss);

    Option optfilter = new Option(SOURCE_FILTER_ID, "filter", true, "Filter for list of pages used as source");
    optfilter.setArgName("class");

    List<String> values = Lists.newArrayList();
    for (Operation o : Operation.values()) {
        values.add(o.name());
    }
    Option optOperation = new Option(OPERATION_ID, "operation", true,
            "operation: " + Joiner.on(", ").join(values));
    optOperation.setArgName("operations");
    optOperation.setArgs(Option.UNLIMITED_VALUES);
    optOperation.setRequired(true);

    Option optOutputCheckstyle = new Option(OUTPUT_CHECKSTYLE_ID, "output-checkstyle", true,
            "(CHECK output) create a xml checkstyle file (<filename> is optional. Default: "
                    + DEFAULT_CHECKSTYLE_NAME + ")");
    optOutputCheckstyle.setArgName("filename");
    optOutputCheckstyle.setOptionalArg(true);

    Option optOutputDashboard = new Option(OUTPUT_DASHBOARD_ID, "output-dashboard", true,
            "(CHECK output) create an html dashboard (<folder> is optional. Default: " + DEFAULT_DASHBOARD_NAME
                    + ")");
    optOutputDashboard.setArgName("folder");
    optOutputDashboard.setOptionalArg(true);

    Options options = new Options();
    options.addOption(optHelp);
    options.addOption(optProp);
    options.addOptionGroup(sourceGroup);
    options.addOption(optfilter);
    options.addOption(optOperation);
    options.addOption(optOutputCheckstyle);
    options.addOption(optOutputDashboard);

    try {
        CommandLineParser parser = new GnuParser();
        CommandLine cmd = parser.parse(options, args);

        if (cmd.hasOption(HELP_ID)) {
            printHelpAndExit(options);
        }

        if (cmd.hasOption(PROP_ID)) {
            ProjectProperties.initProperties(cmd.getOptionValue(PROP_ID));
        }
        Pages.initPageList();

        List<Operation> operations = readOptionEnum(cmd, optOperation, Operation.class);
        List<Task> tasks = readTasks(cmd, optTask);

        Collection<Page> pageList;
        if (cmd.hasOption(SOURCE_ALL_PAGES_ID)) {
            pageList = PageUtility.loadPages(ProjectProperties.getFolderWikiSource());
        } else if (cmd.hasOption(SOURCE_LIST_ID)) {
            String name = cmd.getOptionValue(SOURCE_LIST_ID);
            try {
                pageList = PageUtility.readList(name);
            } catch (IOException e) {
                throw new MissingArgumentException("IOException for file <" + name + "> for <"
                        + optListPages.getLongOpt() + "> : " + e.getMessage());
            }
        } else {
            pageList = Collections.emptyList();
        }

        IPageFilter filter;
        if (cmd.hasOption(SOURCE_FILTER_ID)) {
            if (tasks.size() > 0) {
                throw new MissingArgumentException("Filter <" + optfilter.getLongOpt()
                        + "> is not allowed for source <" + optTask.getLongOpt() + ">.");
            }
            filter = newInstance(cmd.getOptionValue(SOURCE_FILTER_ID), IPageFilter.class,
                    new AcceptAllPageFilter());
        } else {
            filter = new AcceptAllPageFilter();
        }
        List<Page> pages = Lists.newArrayList();
        for (Page page : pageList) {
            if (filter.keepPage(page)) {
                pages.add(page);
            }
        }

        if (operations.contains(Operation.FETCH)) {
            if (pages.size() > 0) {
                ScoutDocFetch sdf = new ScoutDocFetch();
                RelatedPagesStrategy strategy;
                if (cmd.hasOption(SOURCE_ALL_PAGES_ID)) {
                    strategy = RelatedPagesStrategy.NO_RELATED_PAGES;
                } else if (cmd.hasOption(SOURCE_LIST_ID)) {
                    strategy = RelatedPagesStrategy.IMAGES_TEMPLATES_AND_LINKS;
                } else {
                    throw new IllegalStateException("Page list comes from an unexpected option");
                }
                sdf.execute(pages, strategy);
            } else if (cmd.hasOption(SOURCE_RECENT_CHANGES_ID)) {
                ScoutDocFetch sdf = new ScoutDocFetch();
                sdf.executeRecentChanges(filter);
            } else if (cmd.hasOption(SOURCE_RSS_ID)) {
                ScoutDocFetch sdf = new ScoutDocFetch();
                sdf.executeRss(filter);
            } else if (tasks.size() > 0) {
                for (Task task : tasks) {
                    ScoutDocFetch sdf = new ScoutDocFetch();
                    sdf.execute(task);
                }
            } else {
                throw new MissingArgumentException("Missing a source");
            }
        }

        if (operations.contains(Operation.CHECK)) {
            ScoutDocCheck sdc = new ScoutDocCheck();
            List<Check> checks = Lists.newArrayList();
            ensureNotSet(cmd, optRecentChange, Operation.CHECK);
            ensureNotSet(cmd, optRss, Operation.CHECK);
            if (pages.size() > 0) {
                checks = sdc.analysePages(pages);
            } else if (tasks.size() > 0) {
                for (Task task : tasks) {
                    ScoutDocCheck sdcForTask = new ScoutDocCheck();
                    checks.addAll(sdcForTask.execute(task));
                }
            } else {
                throw new MissingArgumentException("Missing a source");
            }
            //output:
            if (cmd.hasOption(OUTPUT_CHECKSTYLE_ID)) {
                String fileName = cmd.getOptionValue(OUTPUT_CHECKSTYLE_ID, DEFAULT_CHECKSTYLE_NAME);
                sdc.writeCheckstyleFile(checks, fileName);
            }
            if (cmd.hasOption(OUTPUT_DASHBOARD_ID)) {
                String folderName = cmd.getOptionValue(OUTPUT_DASHBOARD_ID, DEFAULT_DASHBOARD_NAME);
                sdc.writeDashboardFiles(checks, folderName);
            }
        }

        if (operations.contains(Operation.CONVERT)) {
            ensureNotSet(cmd, optAllPages, Operation.CONVERT);
            ensureNotSet(cmd, optListPages, Operation.CONVERT);
            ensureNotSet(cmd, optRecentChange, Operation.CONVERT);
            ensureNotSet(cmd, optRss, Operation.CONVERT);
            if (tasks.size() > 0) {
                for (Task task : tasks) {
                    ScoutDocConverter sdc = new ScoutDocConverter();
                    sdc.execute(task);
                }
            } else {
                throw new MissingArgumentException("Missing a source");
            }
        }

    } catch (MissingOptionException e) {
        // Check if it is an error or if optHelp was selected.
        boolean help = false;
        try {
            Options helpOptions = new Options();
            helpOptions.addOption(optHelp);
            CommandLineParser parser = new PosixParser();
            CommandLine line = parser.parse(helpOptions, args);
            if (line.hasOption(HELP_ID)) {
                help = true;
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        if (!help) {
            System.err.println(e.getMessage());
            System.err.flush();
        }
        printHelpAndExit(options);
    } catch (MissingArgumentException e) {
        System.err.println(e.getMessage());
        printHelpAndExit(options);
    } catch (ParseException e) {
        System.err.println("Error while parsing the command line: " + e.getMessage());
        System.exit(1);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:speedith.cli.CliOptions.java

private void initialise() throws RuntimeException, IllegalArgumentException {
    /////from   w  ww . j  a  v  a  2 s  .  c  o  m
    /// ---- Batch mode options
    ///
    // ---- Batch mode flag
    OptionGroup batchMode = new OptionGroup();
    Option opt = new Option(OPTION_BATCH_MODE, "batch", false, i18n("CLI_ARG_DESCRIPTION_BATCH"));
    batchMode.addOption(opt);
    try {
        batchMode.setSelected(opt);
    } catch (AlreadySelectedException ex) {
        throw new RuntimeException(i18n("ERR_CLI_SETUP_FAILED"), ex);
    }
    ///
    /// END: ---- Batch mode options
    ///
    addOptionGroup(batchMode);

    // ---- Help option
    opt = new Option(OPTION_HELP, "help", false, i18n("CLI_ARG_DESCRIPTION_HELP"));
    addOption(opt);

    // ---- Spider diagram formula
    opt = new Option(OPTION_SD, true, i18n("CLI_ARG_DESCRIPTION_SD"));
    opt.setArgName(i18n("CLI_ARG_SD_VALUE_NAME"));
    addOption(opt);

    // ---- Inference Rule Name
    opt = new Option(OPTION_IR, true, i18n("CLI_ARG_DESCRIPTION_IR"));
    opt.setArgName(i18n("CLI_ARG_IR_VALUE_NAME"));
    addOption(opt);

    // ---- Sub-diagram index
    opt = new Option(OPTION_SDI, true, i18n("CLI_ARG_DESCRIPTION_SDI"));
    opt.setArgName(i18n("CLI_ARG_SDI_VALUE_NAME"));
    addOption(opt);

    // ---- Spider's name
    opt = new Option(OPTION_SP, true, i18n("CLI_ARG_DESCRIPTION_SP"));
    opt.setArgName(i18n("CLI_ARG_SP_VALUE_NAME"));
    addOption(opt);

    // ---- Region
    opt = new Option(OPTION_R, true, i18n("CLI_ARG_DESCRIPTION_R"));
    opt.setArgName(i18n("CLI_ARG_R_VALUE_NAME"));
    addOption(opt);

    // ---- Output formula format
    opt = new Option(OPTION_OF, true, i18n("CLI_ARG_DESCRIPTION_OF"));
    opt.setArgName(i18n("CLI_ARG_OF_VALUE_NAME"));
    addOption(opt);

    // ---- Output formula format arguments
    opt = new Option(OPTION_OFA, true, i18n("CLI_ARG_DESCRIPTION_OFA"));
    opt.setArgName(i18n("CLI_ARG_OFA_VALUE_NAME"));
    addOption(opt);

    // ---- List known export formats
    opt = new Option(OPTION_LOF, false, i18n("CLI_ARG_DESCRIPTION_LOF"));
    addOption(opt);

    // ---- List known inference rules
    opt = new Option(OPTION_LIR, false, i18n("CLI_ARG_DESCRIPTION_LIR"));
    addOption(opt);
}