Example usage for org.apache.commons.cli OptionBuilder create

List of usage examples for org.apache.commons.cli OptionBuilder create

Introduction

In this page you can find the example usage for org.apache.commons.cli OptionBuilder create.

Prototype

public static Option create(String opt) throws IllegalArgumentException 

Source Link

Document

Create an Option using the current settings and with the specified Option char.

Usage

From source file:goal.tools.Run.java

/**
 * Creates the command line options./*from  w  ww  . j  a  va  2s .co m*/
 *
 * @return the command line options.
 */
private static Options createOptions() {
    Options options = new Options();

    OptionBuilder.withDescription("Print all messages");
    OptionBuilder.withLongOpt(OPTION_VERBOSE);
    options.addOption(OptionBuilder.create(OPTION_VERBOSE_SHORT));

    OptionBuilder.withDescription("Print messages from parser");
    options.addOption(OptionBuilder.create(OPTION_VERBOSE_PARSER));

    OptionBuilder.withDescription("Print messages from info");
    options.addOption(OptionBuilder.create(OPTION_VERBOSE_INFO));

    OptionBuilder.withDescription("Print messages from error");
    options.addOption(OptionBuilder.create(OPTION_VERBOSE_ERROR));

    OptionBuilder.withDescription("Print messages from warning");
    options.addOption(OptionBuilder.create(OPTION_VERBOSE_WARNING));

    options.addOption(new Option(OPTION_HELP_SHORT, OPTION_HELP, false, "Displays this help"));

    OptionBuilder.withDescription("Shows the license");
    OptionBuilder.withLongOpt(OPTION_LICENSE);
    options.addOption(OptionBuilder.create());

    OptionBuilder.withLongOpt(OPTION_VERSION);
    OptionBuilder.withDescription("Shows the current version");
    options.addOption(OptionBuilder.create());

    OptionBuilder.withLongOpt(OPTION_REPEATS);
    OptionBuilder.withArgName("number");
    OptionBuilder.withDescription("Number of times to repeat running all episodes");
    OptionBuilder.hasArg();
    OptionBuilder.withType(Number.class);
    options.addOption(OptionBuilder.create(OPTION_REPEATS_SHORT));

    OptionBuilder.withLongOpt(OPTION_TIMEOUT);
    OptionBuilder.withArgName("number");
    OptionBuilder.withDescription("Maximum time to run a system (in seconds)");
    OptionBuilder.hasArg();
    OptionBuilder.withType(Number.class);
    options.addOption(OptionBuilder.create(OPTION_TIMEOUT_SHORT));

    OptionBuilder.withLongOpt(OPTION_RECURSIVE);
    OptionBuilder.withDescription("Recursively search for mas files");
    options.addOption(OptionBuilder.create());

    OptionBuilder.withLongOpt(OPTION_DEBUG);
    OptionBuilder.withDescription("Display out put from debugger while running agent");
    options.addOption(OptionBuilder.create(OPTION_DEBUG_SHORT));

    OptionBuilder.withLongOpt(OPTION_RMI_MESSAGING);
    OptionBuilder.hasArg();
    OptionBuilder.withArgName("host");
    OptionBuilder.withDescription(
            "Use RMI messaging middleware. Host is the location of the RMI server. Using \"localhost\" will initialize a RMI server");
    options.addOption(OptionBuilder.create());

    return options;
}

From source file:com.google.api.ads.adwords.awreporting.AwReporting.java

/**
 * Creates the command line options./*from ww w  .j  a v a2s  . c  o m*/
 *
 * @return the {@link Options}.
 */
private static Options createCommandLineOptions() {

    Options options = new Options();
    Option help = new Option("help", "print this message");
    options.addOption(help);

    OptionBuilder.withArgName("file");
    OptionBuilder.hasArg(true);
    OptionBuilder.withDescription("aw-report-sample.properties file.");
    OptionBuilder.isRequired(false);
    options.addOption(OptionBuilder.create("file"));

    OptionBuilder.withArgName("YYYYMMDD");
    OptionBuilder.hasArg(true);
    OptionBuilder.withDescription("Start date for CUSTOM_DATE Reports (YYYYMMDD)");
    OptionBuilder.isRequired(false);
    options.addOption(OptionBuilder.create("startDate"));

    OptionBuilder.withArgName("YYYMMDD");
    OptionBuilder.hasArg(true);
    OptionBuilder.withDescription("End date for CUSTOM_DATE Reports (YYYYMMDD)");
    OptionBuilder.isRequired(false);
    options.addOption(OptionBuilder.create("endDate"));

    OptionBuilder.withArgName("DateRangeType");
    OptionBuilder.hasArg(true);
    OptionBuilder.withDescription("ReportDefinitionDateRangeType");
    OptionBuilder.isRequired(false);
    options.addOption(OptionBuilder.create("dateRange"));

    OptionBuilder.withArgName("accountIdsFile");
    OptionBuilder.hasArg(true);
    OptionBuilder.withDescription("Consider ONLY the account IDs specified on the file to run the report");
    OptionBuilder.isRequired(false);
    options.addOption(OptionBuilder.create("accountIdsFile"));

    OptionBuilder.withArgName("verbose");
    OptionBuilder.hasArg(false);
    OptionBuilder.withDescription("The application will print all the tracing on the console");
    OptionBuilder.isRequired(false);
    options.addOption(OptionBuilder.create("verbose"));

    OptionBuilder.withArgName("debug");
    OptionBuilder.hasArg(false);
    OptionBuilder.withDescription(
            "Will display all the debug information. " + "If the option 'verbose' is activated, "
                    + "all the information will be displayed on the console as well");
    OptionBuilder.isRequired(false);
    options.addOption(OptionBuilder.create("debug"));

    OptionBuilder.withArgName("onFileReport");
    OptionBuilder.hasArg(true);
    OptionBuilder.withDescription("This is an experimental argument, where you can specify "
            + "the report type, and the processor will read the data directly from the CSV file "
            + "passed on the 'csvReportFile' argument. It's mandatory to pass the 'csvReportFile' "
            + "argument if you pass this argument.");
    OptionBuilder.isRequired(false);
    options.addOption(OptionBuilder.create("onFileReport"));

    OptionBuilder.withArgName("csvReportFile");
    OptionBuilder.hasArg(true);
    OptionBuilder.withDescription("This is the path to the CSV report file that will be used to "
            + "import data directly into AwReporting.");
    OptionBuilder.isRequired(false);
    options.addOption(OptionBuilder.create("csvReportFile"));

    return options;
}

From source file:com.opengamma.bbg.loader.BloombergSecurityFileLoader.java

private static Option createSchemeOption() {
    OptionBuilder.withLongOpt(IDENTIFICATION_SCHEME);
    OptionBuilder.withDescription("Identification scheme");
    OptionBuilder.hasArg();/*from  ww w  .j a  v  a  2s .  co  m*/
    OptionBuilder.withArgName("BLOOMBERG_TICKER, BLOOMBERG_BUID");
    return OptionBuilder.create("s");
}

From source file:com.opengamma.bbg.loader.BloombergSecurityFileLoader.java

private static Option createOptionSize() {
    OptionBuilder.withLongOpt(OPTION);/*w ww .j  ava2s .c  o  m*/
    OptionBuilder.withDescription("First x number of options to load");
    OptionBuilder.hasArg();
    OptionBuilder.withArgName("size");
    return OptionBuilder.create("o");
}

From source file:fr.inria.atlanmod.instantiator.neoEMF.Launcher.java

/**
 * Configures the program options//from  w  w w.  j a  v  a 2  s .co  m
 *
 * @param options
 */
private static void configureOptions(Options options) {
    Option metamodelOpt = OptionBuilder.create(E_PACKAGE_CLASS);
    metamodelOpt.setLongOpt(E_PACKAGE_CLASS_LONG);
    metamodelOpt.setArgName("path to the ePackage implementation");
    metamodelOpt.setDescription("PackgeImpl");
    metamodelOpt.setArgs(1);
    metamodelOpt.setRequired(true);

    Option outDirOpt = OptionBuilder.create(OUTPUT_PATH);
    outDirOpt.setLongOpt(OUTPUT_PATH_LONG);
    outDirOpt.setArgName("neoEMF output uri");
    outDirOpt.setDescription("Output directory (defaults to working dir)");
    outDirOpt.setArgs(1);
    outDirOpt.setRequired(true);

    Option nModelsOpt = OptionBuilder.create(N_MODELS);
    nModelsOpt.setLongOpt(N_MODELS_LONG);
    nModelsOpt.setArgName("models");
    nModelsOpt.setDescription("Number of generated models (defaults to 1)");
    nModelsOpt.setType(Number.class);
    nModelsOpt.setArgs(1);

    Option sizeOption = OptionBuilder.create(SIZE);
    sizeOption.setLongOpt(SIZE_LONG);
    sizeOption.setArgName("size");
    sizeOption.setDescription(MessageFormat.format("Average models'' size (defaults to {0})",
            Launcher.DEFAULT_AVERAGE_MODEL_SIZE));
    sizeOption.setType(Number.class);
    sizeOption.setArgs(1);

    Option variationOption = OptionBuilder.create(VARIATION);
    variationOption.setLongOpt(VARIATION_LONG);
    variationOption.setArgName("proportion");
    variationOption.setDescription(MessageFormat
            .format("Variation ([0..1]) in the models'' size (defaults to {0})", Launcher.DEFAULT_DEVIATION));
    variationOption.setType(Number.class);
    variationOption.setArgs(1);

    Option propVariationOption = OptionBuilder.create(PROP_VARIATION);
    propVariationOption.setLongOpt(PROP_VARIATION_LONG);
    propVariationOption.setArgName("properties deviation");
    propVariationOption.setDescription(MessageFormat.format(
            "Variation ([0..1]) in the properties'' size (defaults to {0})", Launcher.DEFAULT_DEVIATION));
    propVariationOption.setType(Number.class);
    propVariationOption.setArgs(1);

    Option seedOption = OptionBuilder.create(SEED);
    seedOption.setLongOpt(SEED_LONG);
    seedOption.setArgName("seed");
    seedOption.setDescription("Seed number (random by default)");
    seedOption.setType(Number.class);
    seedOption.setArgs(1);

    Option valuesSizeOption = OptionBuilder.create(VALUES_SIZE);
    valuesSizeOption.setLongOpt(VALUES_SIZE_LONG);
    valuesSizeOption.setArgName("size");
    valuesSizeOption.setDescription(MessageFormat.format(
            "Average size for attributes with variable length (defaults to {0}). Actual sizes may vary +/- {1}%.",
            GenericMetamodelConfig.DEFAULT_AVERAGE_VALUES_LENGTH,
            GenericMetamodelConfig.DEFAULT_VALUES_DEVIATION * 100));
    valuesSizeOption.setType(Number.class);
    valuesSizeOption.setArgs(1);

    Option degreeOption = OptionBuilder.create(DEGREE);
    degreeOption.setLongOpt(DEGREE_LONG);
    degreeOption.setArgName("degree");
    degreeOption.setDescription(MessageFormat.format(
            "Average number of references per EObject (defaults to {0}). Actual sizes may vary +/- {1}%.",
            GenericMetamodelConfig.DEFAULT_AVERAGE_REFERENCES_SIZE,
            GenericMetamodelConfig.DEFAULT_REFERENCES_DEVIATION * 100));
    degreeOption.setType(Number.class);
    degreeOption.setArgs(1);

    Option forceOption = OptionBuilder.create(FORCE);
    forceOption.setLongOpt(FORCE_LONG);
    forceOption.setDescription("Force the generation, even if input metamodels contain errors");

    Option diagnoseOption = OptionBuilder.create(DIAGNOSE);
    diagnoseOption.setLongOpt(DIAGNOSE_LONG);
    diagnoseOption.setDescription("Run diagnosis on the result model");

    options.addOption(metamodelOpt);
    options.addOption(outDirOpt);
    options.addOption(nModelsOpt);
    options.addOption(sizeOption);
    options.addOption(variationOption);
    options.addOption(propVariationOption);
    options.addOption(valuesSizeOption);
    options.addOption(degreeOption);
    options.addOption(seedOption);
    options.addOption(forceOption);
    options.addOption(diagnoseOption);
}

From source file:de.dmarcini.submatix.pclogger.gui.MainCommGUI.java

/**
 * CLI-Optionen einlesen Project: SubmatixBTConfigPC Package: de.dmarcini.submatix.pclogger.gui
 * //  w  w w  .j  a v a  2  s .co m
 * @author Dirk Marciniak (dirk_marciniak@arcor.de) Stand: 28.01.2012
 * @param args
 * @return
 * @throws Exception
 */
@SuppressWarnings("null")
private static boolean parseCliOptions(String[] args) throws Exception {
    CommandLine cmdLine = null;
    String argument;
    // Optionenobjet anlegen
    Options options = new Options();
    Option optLogLevel;
    Option optLogFile;
    Option optDatabaseDir;
    Option optExportDir;
    Option optLangTwoLetter;
    Option optConsoleLog;
    Option optHelp;
    Option optDeveloperDebug;
    GnuParser parser;
    //
    // Optionen fr das Parsing anlegen und zu den Optionen zufgen
    //
    // Hilfe
    optHelp = new Option("help", "give help...");
    // Logleven festlegen
    OptionBuilder.withArgName("loglevel");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("Loglevel  (ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF)");
    optLogLevel = OptionBuilder.create("loglevel");
    // Logfile abgefragt?
    OptionBuilder.withArgName("logfile");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("custom logfile (directory must exist)");
    optLogFile = OptionBuilder.create("logfile");
    // Daternverzeichnis?
    OptionBuilder.withArgName("databasedir");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("directory for create ans saving database");
    optDatabaseDir = OptionBuilder.create("databasedir");
    // Exportverzeichnis?
    OptionBuilder.withArgName("exportdir");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("directory for export UDDF files");
    optExportDir = OptionBuilder.create("exportdir");
    // Landescode vorgeben?
    OptionBuilder.withArgName("langcode");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("language code for overridign system default (eg. 'en' or 'de' etc.)");
    optLangTwoLetter = OptionBuilder.create("langcode");
    // Log auf console?
    optConsoleLog = new Option("console", "logging to console for debugging purposes...");
    // Entwicklerdebug
    optDeveloperDebug = new Option("developer", "for programmers...");
    // Optionen zufgen
    options.addOption(optHelp);
    options.addOption(optLogLevel);
    options.addOption(optLogFile);
    options.addOption(optDatabaseDir);
    options.addOption(optExportDir);
    options.addOption(optLangTwoLetter);
    options.addOption(optConsoleLog);
    options.addOption(optDeveloperDebug);
    // Parser anlegen
    parser = new GnuParser();
    try {
        cmdLine = parser.parse(options, args);
        if (cmdLine == null) {
            throw new Exception("can't build cmdline parser");
        }
    } catch (ParseException e) {
        System.out.println(e.getLocalizedMessage());
        System.exit(-1);
    }
    //
    // auswerten der Argumente
    //
    //
    // hilfe?
    //
    if (cmdLine.hasOption("help")) {
        HelpFormatter formatter = new HelpFormatter();
        formatter.setWidth(120);
        formatter.printHelp(ProjectConst.CREATORPROGRAM, options);
        System.out.println("ENDE nach HELP...");
        System.exit(0);
    }
    //
    // Loglevel
    //
    if (cmdLine.hasOption("loglevel")) {
        argument = cmdLine.getOptionValue("loglevel").toLowerCase();
        // ALL | DEBU G | INFO | WARN | ERROR | FATAL | OFF
        if (argument.equalsIgnoreCase("all"))
            SpxPcloggerProgramConfig.logLevel = Level.ALL;
        else if (argument.equalsIgnoreCase("debug"))
            SpxPcloggerProgramConfig.logLevel = Level.DEBUG;
        else if (argument.equalsIgnoreCase("info"))
            SpxPcloggerProgramConfig.logLevel = Level.INFO;
        else if (argument.equalsIgnoreCase("warn"))
            SpxPcloggerProgramConfig.logLevel = Level.WARN;
        else if (argument.equalsIgnoreCase("error"))
            SpxPcloggerProgramConfig.logLevel = Level.ERROR;
        else if (argument.equalsIgnoreCase("fatal"))
            SpxPcloggerProgramConfig.logLevel = Level.FATAL;
        else if (argument.equalsIgnoreCase("off"))
            SpxPcloggerProgramConfig.logLevel = Level.OFF;
        else {
            // Ausgabe der Hilfe, wenn da was unverstndliches passierte
            System.err.println("unbekanntes Argument bei --loglevel <" + argument + ">");
            HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp(ProjectConst.CREATORPROGRAM, options);
            System.out.println("ENDE nach DEBUGLEVEL/HELP...");
            System.exit(-1);
        }
        SpxPcloggerProgramConfig.wasCliLogLevel = true;
    }
    //
    // Logfile
    //
    if (cmdLine.hasOption("logfile")) {
        argument = cmdLine.getOptionValue("logfile");
        File tempLogFile, tempParentDir;
        try {
            tempLogFile = new File(argument);
            tempParentDir = tempLogFile.getParentFile();
            if (tempParentDir.exists() && tempParentDir.isDirectory()) {
                SpxPcloggerProgramConfig.logFile = tempLogFile;
                SpxPcloggerProgramConfig.wasCliLogfile = true;
            }
        } catch (NullPointerException ex) {
            System.err.println("logfile was <null>");
        }
    }
    //
    // database Directory
    //
    if (cmdLine.hasOption("databasedir")) {
        argument = cmdLine.getOptionValue("databasedir");
        File tempDataDir;
        try {
            tempDataDir = new File(argument);
            if (tempDataDir.exists() && tempDataDir.isDirectory()) {
                SpxPcloggerProgramConfig.databaseDir = tempDataDir;
                SpxPcloggerProgramConfig.wasCliDatabaseDir = true;
            }
        } catch (NullPointerException ex) {
            System.err.println("dataDir was <null>");
        }
    }
    //
    // Export Directory
    //
    if (cmdLine.hasOption("exportdir")) {
        argument = cmdLine.getOptionValue("exportdir");
        File tempExportDir;
        try {
            tempExportDir = new File(argument);
            if (tempExportDir.exists() && tempExportDir.isDirectory()) {
                SpxPcloggerProgramConfig.exportDir = tempExportDir;
                SpxPcloggerProgramConfig.wasCliExportDir = true;
            }
        } catch (NullPointerException ex) {
            System.err.println("dataDir was <null>");
        }
    }
    //
    // Sprachcode (abweichend vom lokelen)
    //
    if (cmdLine.hasOption("langcode")) {
        argument = cmdLine.getOptionValue("langcode");
        if (argument.length() >= 2) {
            SpxPcloggerProgramConfig.langCode = argument;
            SpxPcloggerProgramConfig.wasCliLangCode = true;
        }
    }
    //
    // Console
    //
    if (cmdLine.hasOption("console")) {
        SpxPcloggerProgramConfig.consoleLog = true;
        SpxPcloggerProgramConfig.wasCliConsoleLog = true;
    }
    //
    // Entwicklerdebug
    //
    if (cmdLine.hasOption("developer")) {
        SpxPcloggerProgramConfig.developDebug = true;
    }
    return (true);
}

From source file:fr.inria.atlanmod.dag.instantiator.Launcher.java

/**
 * Configures the program options/*  w  ww . jav a 2  s.  co  m*/
 *
 * @param options
 */
private static void configureOptions(Options options) {

    Option outDirOpt = OptionBuilder.create(OUTPUT_PATH);
    outDirOpt.setLongOpt(OUTPUT_PATH_LONG);
    outDirOpt.setArgName("neoEMF output uri");
    outDirOpt.setDescription("Output directory (defaults to working dir)");
    outDirOpt.setArgs(1);
    outDirOpt.setRequired(true);

    Option nModelsOpt = OptionBuilder.create(N_MODELS);
    nModelsOpt.setLongOpt(N_MODELS_LONG);
    nModelsOpt.setArgName("models");
    nModelsOpt.setDescription("Number of generated models (defaults to 1)");
    nModelsOpt.setType(Number.class);
    nModelsOpt.setArgs(1);

    Option sizeOption = OptionBuilder.create(SIZE);
    sizeOption.setLongOpt(SIZE_LONG);
    sizeOption.setArgName("size");
    sizeOption.setDescription(MessageFormat.format("Average models'' size (defaults to {0})",
            Launcher.DEFAULT_AVERAGE_MODEL_SIZE));
    sizeOption.setType(Number.class);
    sizeOption.setArgs(1);

    Option densityOption = OptionBuilder.create(VARIATION);
    densityOption.setLongOpt(VARIATION_LONG);
    densityOption.setArgName("proportion");
    densityOption.setDescription(MessageFormat
            .format("Variation ([0..1]) in the models'' size (defaults to {0})", Launcher.DEFAULT_DEVIATION));
    densityOption.setType(Number.class);
    densityOption.setArgs(1);

    Option propVariationOption = OptionBuilder.create(PROP_VARIATION);
    propVariationOption.setLongOpt(PROP_VARIATION_LONG);
    propVariationOption.setArgName("properties deviation");
    propVariationOption.setDescription(MessageFormat.format(
            "Variation ([0..1]) in the properties'' size (defaults to {0})", Launcher.DEFAULT_DEVIATION));
    propVariationOption.setType(Number.class);
    propVariationOption.setArgs(1);

    Option seedOption = OptionBuilder.create(SEED);
    seedOption.setLongOpt(SEED_LONG);
    seedOption.setArgName("seed");
    seedOption.setDescription("Seed number (random by default)");
    seedOption.setType(Number.class);
    seedOption.setArgs(1);

    Option valuesSizeOption = OptionBuilder.create(VALUES_SIZE);
    valuesSizeOption.setLongOpt(VALUES_SIZE_LONG);
    valuesSizeOption.setArgName("size");
    valuesSizeOption.setDescription(MessageFormat.format(
            "Average size for attributes with variable length (defaults to {0}). Actual sizes may vary +/- {1}%.",
            GenericMetamodelConfig.DEFAULT_AVERAGE_VALUES_LENGTH,
            GenericMetamodelConfig.DEFAULT_VALUES_DEVIATION * 100));
    valuesSizeOption.setType(Number.class);
    valuesSizeOption.setArgs(1);

    Option degreeOption = OptionBuilder.create(DEGREE);
    degreeOption.setLongOpt(DEGREE_LONG);
    degreeOption.setArgName("degree");
    degreeOption.setDescription(MessageFormat.format(
            "Average number of references per EObject (defaults to {0}). Actual sizes may vary +/- {1}%.",
            GenericMetamodelConfig.DEFAULT_AVERAGE_REFERENCES_SIZE,
            GenericMetamodelConfig.DEFAULT_REFERENCES_DEVIATION * 100));
    degreeOption.setType(Number.class);
    degreeOption.setArgs(1);

    Option forceOption = OptionBuilder.create(FORCE);
    forceOption.setLongOpt(FORCE_LONG);
    forceOption.setDescription("Force the generation, even if input metamodels contain errors");

    Option diagnoseOption = OptionBuilder.create(DIAGNOSE);
    diagnoseOption.setLongOpt(DIAGNOSE_LONG);
    diagnoseOption.setDescription("Run diagnosis on the result model");

    options.addOption(outDirOpt);
    options.addOption(nModelsOpt);
    options.addOption(sizeOption);
    options.addOption(propVariationOption);
    options.addOption(valuesSizeOption);
    options.addOption(degreeOption);
    options.addOption(seedOption);
    options.addOption(forceOption);
    options.addOption(diagnoseOption);
    options.addOption(densityOption);
}

From source file:DcmRcv.java

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

    OptionBuilder.withArgName("NULL|3DES|AES");
    OptionBuilder.hasArg();/*from  w w  w .j a  v a 2  s  .c  o m*/
    OptionBuilder.withDescription("enable TLS connection without, 3DES or AES encryption");
    opts.addOption(OptionBuilder.create("tls"));

    opts.addOption("nossl2", false, "disable acceptance of SSLv2Hello TLS handshake");
    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("dir");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("store received objects into files in specified directory <dir>."
            + " Do not store received objects by default.");
    opts.addOption(OptionBuilder.create("dest"));

    opts.addOption("defts", false, "accept only default transfer syntax.");
    opts.addOption("bigendian", false, "accept also Explict VR Big Endian transfer syntax.");
    opts.addOption("native", false, "accept only transfer syntax with uncompressed pixel data.");

    OptionBuilder.withArgName("maxops");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription(
            "maximum number of outstanding operations performed " + "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("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 DIMSE-RSP; useful for testing asynchronous mode");
    opts.addOption(OptionBuilder.create("rspdelay"));

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

    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("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-RQ, 60s by default");
    opts.addOption(OptionBuilder.create("idleTO"));

    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("minimal buffer size to write received object to file, 1KB by default");
    opts.addOption(OptionBuilder.create("bufsize"));

    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("dcmrcv: " + e.getMessage());
        throw new RuntimeException("unreachable");
    }
    if (cl.hasOption("V")) {
        Package p = DcmRcv.class.getPackage();
        System.out.println("dcmrcv v" + p.getImplementationVersion());
        System.exit(0);
    }
    if (cl.hasOption("h") || cl.getArgList().size() == 0) {
        HelpFormatter formatter = new HelpFormatter();
        formatter.printHelp(USAGE, DESCRIPTION, opts, EXAMPLE);
        System.exit(0);
    }
    return cl;
}

From source file:com.bluemarsh.jswat.console.Main.java

/**
 * Process the given command line arguments.
 *
 * @param  args  command line arguments.
 * @throws  ParseException  if argument parsing fails.
 *//*from w  ww .  j av  a2  s.c  o  m*/
private static void processArguments(String[] args) throws ParseException {
    Options options = new Options();
    // Option: h/help
    OptionBuilder.withDescription(NbBundle.getMessage(Main.class, "MSG_Main_Option_help"));
    OptionBuilder.withLongOpt("help");
    options.addOption(OptionBuilder.create("h"));

    // Option: attach <port>
    OptionBuilder.hasArg();
    OptionBuilder.withArgName("port");
    OptionBuilder.withDescription(NbBundle.getMessage(Main.class, "MSG_Main_Option_attach"));
    options.addOption(OptionBuilder.create("attach"));

    // Option: sourcepath <path>
    OptionBuilder.hasArg();
    OptionBuilder.withArgName("path");
    OptionBuilder.withDescription(NbBundle.getMessage(Main.class, "MSG_Main_Option_sourcepath"));
    options.addOption(OptionBuilder.create("sourcepath"));

    // Option: e/emacs
    OptionBuilder.withDescription(NbBundle.getMessage(Main.class, "MSG_Main_Option_jdb"));
    options.addOption(OptionBuilder.create("jdb"));

    // Parse the command line arguments.
    CommandLineParser parser = new GnuParser();
    CommandLine line = parser.parse(options, args);

    // Interrogate the command line options.
    jdbEmulationMode = line.hasOption("jdb");
    if (line.hasOption("help")) {
        HelpFormatter formatter = new HelpFormatter();
        formatter.printHelp("java com.bluemarsh.jswat.console.Main", options);
        System.exit(0);
    }
    if (line.hasOption("sourcepath")) {
        Session session = SessionProvider.getCurrentSession();
        PathManager pm = PathProvider.getPathManager(session);
        String path = line.getOptionValue("sourcepath");
        List<String> roots = Strings.stringToList(path, File.pathSeparator);
        pm.setSourcePath(roots);
    }
    if (line.hasOption("attach")) {
        final Session session = SessionProvider.getCurrentSession();
        String port = line.getOptionValue("attach");
        ConnectionFactory factory = ConnectionProvider.getConnectionFactory();
        final JvmConnection connection;
        try {
            connection = factory.createSocket("localhost", port);
            // The actual connection may be made some time from now,
            // so set up a listener to be notified at that time.
            connection.addConnectionListener(new ConnectionListener() {

                @Override
                public void connected(ConnectionEvent event) {
                    if (session.isConnected()) {
                        // The user already connected to something else.
                        JvmConnection c = event.getConnection();
                        c.getVM().dispose();
                        c.disconnect();
                    } else {
                        session.connect(connection);
                    }
                }
            });
            connection.connect();
        } catch (Exception e) {
            logger.log(Level.SEVERE, null, e);
        }
    }
}

From source file:com.github.dakusui.symfonion.CLI.java

private Options buildOptions() {
    // create Options object
    Options options = new Options();

    //////from  ww  w  .  ja  va 2 s  .c  o  m
    // Behavior options
    options.addOption("V", "version", false, "print the version information.");
    options.addOption("h", "help", false, "print the command line usage.");
    options.addOption("l", "list", false, "list the available midi devices.");
    options.addOption("p", "play", true, "play the specifiled file.");
    options.addOption("c", "compile", true, "compile the specified file to a standard midi file.");
    {
        Option option = OptionBuilder.create("r");
        option.setLongOpt("route");
        option.setValueSeparator('=');
        option.setArgs(2);
        option.setDescription("run a midi patch bay.");
        options.addOption(option);
    }

    ////
    // I/O options
    {
        Option option = OptionBuilder.create("O");
        option.setValueSeparator('=');
        option.setArgs(2);
        option.setDescription("specify midi out port.");
        options.addOption(option);
    }
    {
        Option option = OptionBuilder.create("I");
        option.setValueSeparator('=');
        option.setArgs(2);
        option.setDescription("specify midi in port.");
        options.addOption(option);
    }
    {
        Option option = OptionBuilder.create("o");
        option.setArgs(1);
        option.setDescription("specify a file to which a compiled standard midi file is output.");
        options.addOption(option);
    }
    return options;
}