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

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

Introduction

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

Prototype

public static OptionBuilder withDescription(String newDescription) 

Source Link

Document

The next Option created will have the specified description

Usage

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

/**
 * Creates the command line options.// w  w  w. j  a v  a2  s.  c  om
 *
 * @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 w  w w  .  j a v  a  2  s.  c  o m
    OptionBuilder.withArgName("BLOOMBERG_TICKER, BLOOMBERG_BUID");
    return OptionBuilder.create("s");
}

From source file:edu.hawaii.soest.kilonalu.utilities.TextOutputPlugin.java

/**
 * This method overrides the setOptions() method in RBNBBase and adds in 
 * options for the various command line flags.
 *//*from  w  w  w  .  j  ava  2  s  . c o m*/
protected Options setOptions() {
    Options opt = setBaseOptions(new Options()); // uses h, s, p
    opt.addOption("k", true, "Sink Name *" + DEFAULT_SINK_NAME);
    opt.addOption("n", true, "Source Name *" + DEFAULT_SOURCE_NAME);
    opt.addOption("c", true, "Source Channel Name *" + DEFAULT_CHANNEL_NAME);
    opt.addOption("S", true, "Start time (defauts to now)");
    opt.addOption("E", true, "End time (defaults to forever)");
    opt.addOption(OptionBuilder.withDescription("Event markers to filter start/stop times").hasOptionalArg()
            .create("M"));
    opt.addOption("B", true,
            "Number of seconds to go back from now to set start time\n Mututally exclusive with -E and -S");

    setNotes("Writes data frames between start time and end time to the "
            + "directory structure starting at the base directory. The time "
            + "format is yyyy-mm-dd:hhTmm:ss.nnn.");
    return opt;
}

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);/*ww w. ja v a2 s  .c o  m*/
    fileHelpGroup
            .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.opengamma.bbg.loader.BloombergSecurityFileLoader.java

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

From source file:com.linkedin.databus.core.BaseCli.java

/**
 * Creates command-line options/* w  w w. ja v a2 s  .  co  m*/
 */
@SuppressWarnings("static-access")
protected void constructCommandLineOptions() {
    _cliOptions.addOption(OptionBuilder.withLongOpt(HELP_OPT_LONG_NAME)
            .withDescription("Prints command-line options info").create(HELP_OPT_CHAR));
    _cliOptions.addOption(OptionBuilder.withLongOpt(CMD_LINE_PROPS_OPT_LONG_NAME)
            .withDescription(
                    "Command-line override for config properties; a " + "semicolon-separated list of key=vale.")
            .hasArg().withArgName("Semicolon_separated_properties").create(CMD_LINE_PROPS_OPT_CHAR));
    _cliOptions.addOption(
            OptionBuilder.withLongOpt(LOG4J_PROPS_OPT_LONG_NAME).withDescription("Log4j properties to use")
                    .hasArg().withArgName("property_file").create(LOG4J_PROPS_OPT_CHAR));
    _cliOptions.addOption(
            OptionBuilder.withLongOpt(PROPS_FILE_OPT_LONG_NAME).withDescription("Config properties file to use")
                    .hasArg().withArgName("property_file").create(PROPS_FILE_OPT_CHAR));
    _cliOptions.addOption(OptionBuilder.withLongOpt(QUIET_OPT_LONG_NAME).withDescription("quiet (no logging)")
            .create(QUIET_OPT_CHAR));
    _cliOptions.addOption(OptionBuilder.withDescription("verbose").create(VERBOSE1_OPT_LONG_NAME));
    _cliOptions.addOption(OptionBuilder.withDescription("more verbose").create(VERBOSE2_OPT_LONG_NAME));
    _cliOptions.addOption(OptionBuilder.withDescription("most verbose").create(VERBOSE3_OPT_LONG_NAME));
}

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

/**
 * CLI-Optionen einlesen Project: SubmatixBTConfigPC Package: de.dmarcini.submatix.pclogger.gui
 * //from w ww.  j  a  v  a 2s .  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:UartEchoServer.java

public static void main(String[] aArgs) {
    final Options options = new Options();

    options.addOption(new Option(OPTION_HELP, "print this message"));

    OptionBuilder.withLongOpt(OPTION_PORT);
    OptionBuilder.withDescription("set port COMx");
    OptionBuilder.withValueSeparator('=');
    OptionBuilder.hasArg();//w w w . j  av a  2  s  .  co m
    options.addOption(OptionBuilder.create());

    OptionBuilder.withLongOpt(OPTION_BAUD);
    OptionBuilder.withDescription("set the baud rate");
    OptionBuilder.withValueSeparator('=');
    OptionBuilder.hasArg();
    options.addOption(OptionBuilder.create());

    OptionBuilder.withLongOpt(OPTION_DATA);
    OptionBuilder.withDescription("set the data bits [" + DATA_BITS_5 + "|" + DATA_BITS_6 + "|" + DATA_BITS_7
            + "|" + DATA_BITS_8 + "]");
    OptionBuilder.withValueSeparator('=');
    OptionBuilder.hasArg();
    options.addOption(OptionBuilder.create());

    OptionBuilder.withLongOpt(OPTION_STOP);
    OptionBuilder.withDescription(
            "set the stop bits [" + STOP_BITS_1 + "|" + STOP_BITS_1_5 + "|" + STOP_BITS_2 + "]");
    OptionBuilder.withValueSeparator('=');
    OptionBuilder.hasArg();
    options.addOption(OptionBuilder.create());

    OptionBuilder.withLongOpt(OPTION_PARITY);
    OptionBuilder.withDescription("set the parity [" + PARITY_NONE + "|" + PARITY_EVEN + "|" + PARITY_ODD + "|"
            + PARITY_MARK + "|" + PARITY_SPACE + "]");
    OptionBuilder.withValueSeparator('=');
    OptionBuilder.hasArg();
    options.addOption(OptionBuilder.create());

    OptionBuilder.withLongOpt(OPTION_FLOW);
    OptionBuilder.withDescription("set the flow control [" + FLOWCONTROL_NONE + "|" + FLOWCONTROL_RTSCTS + "|"
            + FLOWCONTROL_XONXOFF + "]");
    OptionBuilder.withValueSeparator('=');
    OptionBuilder.hasArg();
    options.addOption(OptionBuilder.create());

    final CommandLineParser parser = new PosixParser();

    try {
        // parse the command line arguments
        final CommandLine commandLine = parser.parse(options, aArgs);

        if (commandLine.hasOption(OPTION_HELP)) {
            final HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp("UartEchoServer", options);
        } else {
            final UartEchoServer echoServer = new UartEchoServer();
            echoServer.Construct(commandLine);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:DcmRcv.java

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

    OptionBuilder.withArgName("NULL|3DES|AES");
    OptionBuilder.hasArg();/*from   ww  w  .j  a  va 2s. c  om*/
    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:fr.iphc.grid.jobmanager.JobManager.java

@SuppressWarnings("static-access")
protected Options createOptions() {
    Options opt = new Options();

    // command/*from   w w w . j  a  v a2s  .c  o  m*/
    opt.addOption(OptionBuilder.withDescription("Display this help and exit").withLongOpt(LONGOPT_HELP)
            .create(OPT_HELP));

    // optional arguments
    opt.addOption(OptionBuilder.withDescription("file with cream URL [IPHC]").hasArg()
            .withLongOpt(LONGOPT_QUEUE).withArgName("queue").create(OPT_QUEUE));

    opt.addOption(OptionBuilder
            .withDescription("generate the job description in the targeted grid language "
                    + "and exit (do not submit the job)")
            .withLongOpt(LONGOPT_DESCRIPTION).create(OPT_DESCRIPTION));

    opt.addOption(OptionBuilder.withDescription("File List of Bad Ce elminate from the Ce List[IPHC]").hasArg()
            .withLongOpt(LONGOPT_BAD).create(OPT_BAD));

    opt.addOption(OptionBuilder
            .withDescription("Time -> END Program in minutes/hour (Default 10H) Value: mM hH  [IPHC]").hasArg()
            .withLongOpt(LONGOPT_END).create(OPT_END));

    opt.addOption(OptionBuilder
            .withDescription("Duration Run -Thread in minutes/hour (Default 1H) Value: mM hH  [IPHC]").hasArg()
            .withLongOpt(LONGOPT_RUN).create(OPT_RUN));

    opt.addOption(
            OptionBuilder.withDescription("Time queue wating in CE/queue in minutes (Default 15 mn) [IPHC]")
                    .hasArg().withLongOpt(LONGOPT_WAIT).create(OPT_WAIT));

    opt.addOption(OptionBuilder.withDescription("Threshold display full log in log file[IPHC]").hasArg()
            .withLongOpt(LONGOPT_LOGDISPLAY).create(OPT_LOGDISPLAY));

    opt.addOption(
            OptionBuilder.withDescription("Define working directory for monitoring file (default cwd) [IPHC]")
                    .hasArg().withLongOpt(LONGOPT_CWD).create(OPT_CWD));

    opt.addOption(OptionBuilder.withDescription("Setup xml file Global paramters (default setup) [IPHC]")
            .hasArg().withLongOpt(LONGOPT_SETUP).create(OPT_SETUP));

    opt.addOption(OptionBuilder.withDescription("Disable Optimize Timeout Run Average execution time[IPHC]")
            .withLongOpt(LONGOPT_OPTIMIZETIMEOUTRUN).create(OPT_OPTIMIZETIMEOUTRUN));

    // required arguments group jdl file | list of jdl
    OptionGroup reqGroup = new OptionGroup();
    reqGroup.addOption(OptionBuilder.withDescription("read job description from file <path> [IPHC]").hasArg()
            .withLongOpt(LONGOPT_JOB).withArgName("file").create(OPT_JOB));
    reqGroup.addOption(OptionBuilder.withDescription("read file include jdl file [IPHC]").hasArg()
            .withLongOpt(LONGOPT_FILEJOB).withArgName("list").create(OPT_FILEJOB));
    reqGroup.setRequired(true);
    opt.addOptionGroup(reqGroup);

    // optional group
    OptionGroup optGroup = new OptionGroup();
    optGroup.addOption(OptionBuilder
            .withDescription(
                    "print the job identifier as soon as it is submitted, " + "and wait for it to be finished")
            .withLongOpt(LONGOPT_JOBID).create(OPT_JOBID));

    optGroup.setRequired(false);
    opt.addOptionGroup(optGroup);

    // job description
    opt.addOption(o("positional parameters for the command").hasArgs().create(JobDescription.ARGUMENTS));
    opt.addOption(o("SPMD job type and startup mechanism").hasArg().create(JobDescription.SPMDVARIATION));
    opt.addOption(
            o("total number of cpus requested for this job").hasArg().create(JobDescription.TOTALCPUCOUNT));
    opt.addOption(o("number of process instances to start").hasArg().create(JobDescription.NUMBEROFPROCESSES));
    opt.addOption(o("number of processes to start per host").hasArg().create(JobDescription.PROCESSESPERHOST));
    opt.addOption(
            o("expected number of threads per process").hasArg().create(JobDescription.THREADSPERPROCESS));
    opt.addOption(o("set of environment variables for the job").hasArgs().withValueSeparator()
            .create(JobDescription.ENVIRONMENT));
    opt.addOption(o("working directory for the job").hasArg().create(JobDescription.WORKINGDIRECTORY));
    opt.addOption(o("run the job in interactive mode").create(JobDescription.INTERACTIVE));
    opt.addOption(o("pathname of the standard input file").hasArg().create(JobDescription.INPUT));
    opt.addOption(o("pathname of the standard output file").hasArg().create(JobDescription.OUTPUT));
    opt.addOption(o("pathname of the standard error file").hasArg().create(JobDescription.ERROR));
    opt.addOption(o("a list of file transfer directives").hasArgs().create(JobDescription.FILETRANSFER));
    opt.addOption(o("defines if output files get removed after the job finishes").hasArg()
            .create(JobDescription.CLEANUP));
    opt.addOption(o("time at which a job should be scheduled").hasArg().create(JobDescription.JOBSTARTTIME));
    opt.addOption(o("hard limit for the total job runtime").hasArg().create(JobDescription.WALLTIMELIMIT));
    opt.addOption(o("estimated total number of CPU seconds which the job will require").hasArg()
            .create(JobDescription.TOTALCPUTIME));
    opt.addOption(o("estimated amount of memory the job requires").hasArg()
            .create(JobDescription.TOTALPHYSICALMEMORY));
    opt.addOption(o("compatible processor for job submission").hasArg().create(JobDescription.CPUARCHITECTURE));
    opt.addOption(o("compatible operating system for job submission").hasArg()
            .create(JobDescription.OPERATINGSYSTEMTYPE));
    opt.addOption(
            o("list of host names which are to be considered by the resource manager as candidate targets")
                    .hasArgs().create(JobDescription.CANDIDATEHOSTS));
    opt.addOption(o("name of a queue to place the job into").hasArg().create(JobDescription.QUEUE));
    opt.addOption(o("name of an account or project name").hasArg().create(JobDescription.JOBPROJECT));
    opt.addOption(o("set of endpoints describing where to report").hasArgs().create(JobDescription.JOBCONTACT));

    // returns
    return opt;
}