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:org.signserver.client.cli.validationservice.ValidateCertificateCommand.java

public ValidateCertificateCommand() {
    Option help = new Option(OPTION_HELP, false, "Display this info");
    Option silent = new Option(OPTION_SILENT, false, "Don't produce any output, only return value.");
    Option pem = new Option(OPTION_PEM, false, "Certificate is in PEM format (Default).");
    Option der = new Option(OPTION_DER, false, "Certificate is in DER format.");

    OptionBuilder.withArgName("service-name");
    OptionBuilder.hasArg();//  w ww . ja  va  2  s .co m
    OptionBuilder.withDescription("The name or id of the validation service to process request. (Required)");
    Option serviceOption = OptionBuilder.create(OPTION_SERVICE);

    OptionBuilder.withArgName("cert-file");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("Path to certificate file (DER or PEM) (Required).");
    Option certOption = OptionBuilder.create(OPTION_CERT);

    OptionBuilder.withArgName("hosts");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription(
            "A ',' separated string containing the hostnames of the validation service nodes. Ex 'host1.someorg.org,host2.someorg.org'. When using the HTTP protocol, only one host name can be specified. (Required).");
    Option hostsOption = OptionBuilder.create(OPTION_HOSTS);

    OptionBuilder.withArgName("port");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("Remote port of service (Default is 8080 or 8442 for SSL).");
    Option portOption = OptionBuilder.create(OPTION_PORT);

    OptionBuilder.withArgName("certpurposes");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("A ',' separated string containing requested certificate purposes.");
    Option usagesOption = OptionBuilder.create(OPTION_CERTPURPOSES);

    OptionBuilder.withArgName("jks-file");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("Path to JKS truststore containing trusted CA for SSL Server certificates.");
    Option truststore = OptionBuilder.create(OPTION_TRUSTSTORE);

    OptionBuilder.withArgName("password");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("Password to unlock the truststore.");
    Option truststorepwd = OptionBuilder.create(OPTION_TRUSTSTOREPWD);

    OptionBuilder.withArgName("servlet-url");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription(
            "URL to the webservice servlet. Default: " + SignServerWSClientFactory.DEFAULT_WSDL_URL
                    + " when using the webservice protocol, otherwise /signserver/process");
    Option servlet = OptionBuilder.create(OPTION_SERVLET);

    OptionBuilder.withArgName("protocol");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("Protocol to use, either WEBSERVICES or HTTP. Default: WEBSERVICES.");
    Option protocol = OptionBuilder.create(OPTION_PROTOCOL);

    options.addOption(help);
    options.addOption(serviceOption);
    options.addOption(certOption);
    options.addOption(hostsOption);
    options.addOption(portOption);
    options.addOption(usagesOption);
    options.addOption(pem);
    options.addOption(der);
    options.addOption(silent);
    options.addOption(truststore);
    options.addOption(truststorepwd);
    options.addOption(servlet);
    options.addOption(protocol);
}

From source file:org.skb.util.cli.CliApache.java

public void setPropOptions(TSPropertyMap prop) {
    String optType;//from   w  w w  .  j a v a  2s . c o  m
    String optShort;
    String optLong;
    String optDescr;
    String optArgName;

    HashSet<String> ts = new HashSet<String>(prop.getRows());
    for (Iterator<String> i = ts.iterator(); i.hasNext(); i.hasNext()) {
        String current = i.next();
        if (prop.get(current, TSPropertyMap.pmValCliOptionType) != null) {
            optType = prop.get(current, TSPropertyMap.pmValCliOptionType).toString();
            if (!(prop.get(current, TSPropertyMap.pmValCliOptionShort)).tsIsType(TEnum.TS_NULL))
                optShort = prop.get(current, TSPropertyMap.pmValCliOptionShort).toString();
            else
                optShort = null;
            if (!(prop.get(current, TSPropertyMap.pmValCliOptionLong)).tsIsType(TEnum.TS_NULL))
                optLong = prop.get(current, TSPropertyMap.pmValCliOptionLong).toString();
            else
                optLong = null;
            optDescr = prop.get(current, TSPropertyMap.pmValCliUsageDescr).toString();
            optArgName = prop.get(current, TSPropertyMap.pmValCliUsageDescrAdd).toString();

            if (optType.equals(TSRepository.TString.TS_ATOMIC_JAVA_STRING)
                    || optType.equals(TSRepository.TString.TS_ATOMIC_JAVA_INTEGER)
                    || optType.equals(TSRepository.TString.TS_ATOMIC_JAVA_DOUBLE)
                    || optType.equals(TSRepository.TString.TS_ATOMIC_JAVA_LONG)) {
                if (optShort != null && optLong != null) {
                    OptionBuilder.hasArg();
                    OptionBuilder.withDescription(optDescr);
                    OptionBuilder.withLongOpt(optLong);
                    OptionBuilder.withArgName(optArgName);
                    this.options.addOption(OptionBuilder.create(optShort.charAt(0)));
                    this.optionList.put(current, optLong);
                } else if (optLong != null) {
                    OptionBuilder.hasArg();
                    OptionBuilder.withDescription(optDescr);
                    OptionBuilder.withLongOpt(optLong);
                    OptionBuilder.withArgName(optArgName);
                    this.options.addOption(OptionBuilder.create());
                    this.optionList.put(current, optLong);
                }
            } else if (optType.equals(TSRepository.TString.TS_ATOMIC_JAVA_BOOLEAN)) {
                if (optShort != null && optLong != null) {
                    OptionBuilder.withDescription(optDescr);
                    OptionBuilder.withLongOpt(optLong);
                    this.options.addOption(OptionBuilder.create(optShort.charAt(0)));
                    this.optionList.put(current, optLong);
                } else if (optLong != null) {
                    OptionBuilder.withDescription(optDescr);
                    OptionBuilder.withLongOpt(optLong);
                    this.options.addOption(OptionBuilder.create());
                    this.optionList.put(current, optLong);
                }
            }
        }
    }
}

From source file:org.tonguetied.server.Server.java

/**
 * Read and process command line arguments when the server is run.
 * //from w  ww. ja  va  2 s  . co  m
 * @param args the arguments to process
 * @throws IllegalArgumentException if the arguments fail to be initialized
 *         correctly
 */
private static void readArguments(String[] args) throws IllegalArgumentException {
    final Option help = new Option("help", "print this message");
    OptionBuilder.withArgName("file");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("the name and location of the properties file to use");
    final Option propertiesFile = OptionBuilder.create("p");

    Options options = new Options();
    options.addOption(help);
    options.addOption(propertiesFile);

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

        // has the properties file argument been passed?
        if (line.hasOption("p")) {
            // initialise the member variable
            propsFile = line.getOptionValue("p");
        }
        if (line.hasOption("help")) {
            printHelp(options, 0);
        }
    } catch (ParseException pe) {
        // oops, something went wrong
        System.err.println("Parsing failed. Reason: " + pe.getMessage());
        printHelp(options, 1);
    }
}

From source file:org.unigram.docvalidator.Main.java

public static void main(String[] args) throws DocumentValidatorException {
    Options options = new Options();
    options.addOption("h", "help", false, "help");

    OptionBuilder.withLongOpt("format");
    OptionBuilder.withDescription("input data format");
    OptionBuilder.hasArg();//from w w  w . java2  s  .  com
    OptionBuilder.withArgName("FORMAT");
    options.addOption(OptionBuilder.create("f"));

    OptionBuilder.withLongOpt("input");
    OptionBuilder.withDescription("input file");
    OptionBuilder.hasOptionalArgs();
    OptionBuilder.withArgName("INPUT FILE");
    options.addOption(OptionBuilder.create("i"));

    OptionBuilder.withLongOpt("conf");
    OptionBuilder.withDescription("configuration file");
    OptionBuilder.hasArg();
    options.addOption(OptionBuilder.create("c"));

    OptionBuilder.withLongOpt("result-format");
    OptionBuilder.withDescription("output result format");
    OptionBuilder.hasArg();
    OptionBuilder.withArgName("RESULT FORMAT");
    options.addOption(OptionBuilder.create("r"));

    options.addOption("v", "version", false, "print the version information and exit");

    CommandLineParser parser = new BasicParser();
    CommandLine commandLine = null;

    try {
        commandLine = parser.parse(options, args);
    } catch (ParseException e) {
        LOG.error("Error occurred in parsing command line options ");
        printHelp(options);
        System.exit(-1);
    }

    String inputFormat = "plain";
    String[] inputFileNames = null;
    String configFileName = "";
    String resultFormat = "plain";
    Parser.Type parserType;
    Formatter.Type outputFormat;

    if (commandLine.hasOption("h")) {
        printHelp(options);
        System.exit(0);
    }
    if (commandLine.hasOption("v")) {
        System.out.println("1.0");
        System.exit(0);
    }
    if (commandLine.hasOption("f")) {
        inputFormat = commandLine.getOptionValue("f");
    }
    if (commandLine.hasOption("i")) {
        inputFileNames = commandLine.getOptionValues("i");
    }
    if (commandLine.hasOption("c")) {
        configFileName = commandLine.getOptionValue("c");
    }
    if (commandLine.hasOption("r")) {
        resultFormat = commandLine.getOptionValue("r");
    }

    ConfigurationLoader configLoader = new ConfigurationLoader();
    Configuration conf = configLoader.loadConfiguration(configFileName);
    if (conf == null) {
        LOG.error("Failed to initialize the DocumentValidator configuration.");
        System.exit(-1);
    }

    parserType = Parser.Type.valueOf(inputFormat.toUpperCase());
    outputFormat = Formatter.Type.valueOf(resultFormat.toUpperCase());

    DocumentCollection documentCollection = DocumentGenerator.generate(inputFileNames, conf, parserType);

    if (documentCollection == null) {
        LOG.error("Failed to create a DocumentCollection object");
        System.exit(-1);
    }
    ResultDistributor distributor = ResultDistributorFactory.createDistributor(outputFormat, System.out);

    DocumentValidator validator = new DocumentValidator.Builder().setConfiguration(conf)
            .setResultDistributor(distributor).build();

    validator.check(documentCollection);

    System.exit(0);
}

From source file:org.usergrid.standalone.Server.java

public Options createOptions() {

    Options options = new Options();
    OptionBuilder.withDescription("Initialize database");
    Option initOption = OptionBuilder.create("init");

    OptionBuilder.withDescription("Start database");
    Option dbOption = OptionBuilder.create("db");

    OptionBuilder.withDescription("Http port");
    OptionBuilder.hasArg();//  www.  j ava2 s  . c  o m
    OptionBuilder.withArgName("PORT");
    OptionBuilder.withLongOpt("port");
    OptionBuilder.withType(Number.class);
    Option portOption = OptionBuilder.create('p');

    options.addOption(initOption);
    options.addOption(dbOption);
    options.addOption(portOption);

    return options;
}

From source file:org.vivoweb.harvester.util.args.ArgParser.java

/**
 * Create the Options from this ArgParser
 *//* w ww  . j  av a2s.  co  m*/
@SuppressWarnings("static-access")
private void createOptions() {
    this.parser = new Options();
    for (ArgDef arg : getArgDefs()) {
        OptionBuilder ob = OptionBuilder.isRequired(false);
        if (arg.getLongOption() != null) {
            ob = ob.withLongOpt(arg.getLongOption());
            this.optMap.put(arg.getLongOption(), arg);
        }
        if (arg.getDescription() != null) {
            ob = ob.withDescription(arg.getDescription());
        }
        if (arg.hasParameter()) {
            ob = ob.withArgName(arg.getParameterDescription());
            int num = arg.numParameters();
            if (num == 1) {
                ob = ob.hasArg(arg.isParameterRequired());
            } else if (num == -1) {
                if (arg.isParameterRequired()) {
                    ob = ob.hasArgs();
                } else {
                    if (arg.isParameterValueMap()) {
                        ob = ob.hasOptionalArgs(2).withValueSeparator();
                    } else {
                        ob = ob.hasOptionalArgs();
                    }
                }
            } else {
                if (arg.isParameterRequired()) {
                    ob = ob.hasArgs(num);
                } else {
                    ob = ob.hasOptionalArgs(num);
                }
            }
        }
        Option o;
        if (arg.getShortOption() != null) {
            o = ob.create(arg.getShortOption().charValue());
            this.optMap.put(arg.getShortOption().toString(), arg);
        } else {
            o = ob.create();
        }
        this.parser.addOption(o);
    }
}

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

private void initOptions() {
    OptionGroup optionGroup = new OptionGroup();
    optionGroup.setRequired(true);//from  ww  w . j av a 2s. 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 a2  s  .  co  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:sos.scheduler.cron.CronConverter.java

/**
 * @param args//from w  w w  .j av a 2 s .  c om
 */
public static void main(final String[] args) {

    Logger logger = Logger.getLogger(CronConverter.class);
    @SuppressWarnings("unused")
    Log4JHelper objLogger = null;

    objLogger = new Log4JHelper(null);

    logger = Logger.getRootLogger();
    logger.info("SOS CronConverter - Main"); //$NON-NLS-1$

    /*try {
         test();
       } catch(Exception ex){
    ex.printStackTrace();
       }
    */
    try {
        //SOSArguments arguments = new SOSArguments(args);
        SOSLogger sosLogger;
        String sourceFile = "";
        String targetFile = "";
        String changeUser = "";
        File source = null;
        File target = null;
        int logLevel = 0;
        boolean sysTab = false;
        boolean useOldRunTime = false;
        String jobTimeout = "";
        /*
        try {
           sourceFile = arguments.as_string("-crontab=");
           if (sourceFile.equalsIgnoreCase("/etc/crontab")) sysTab = true;
           targetFile = arguments.as_string("-target=");
           logLevel = arguments.as_int("-v=",SOSStandardLogger.INFO);
           sysTab = arguments.as_bool("-system=",sysTab);
           useOldRunTime = arguments.as_bool("-oldRunTime=",false);
           changeUser = arguments.as_string("-change-user=", "su");
        } catch (Exception e1) {
           System.out.println(e1.getMessage());
           showUsage();
           System.exit(0);
        }*/
        Options options = new Options();
        OptionBuilder.withArgName("0|1");
        OptionBuilder.hasArg();
        OptionBuilder.withDescription("set to 1 if source is the system crontab (with user field)");

        Option optSysTab = OptionBuilder.create(conOptionsSYSTAB);

        OptionBuilder.withArgName("file");
        OptionBuilder.hasArgs();
        OptionBuilder.isRequired();
        OptionBuilder.withDescription("crontab file");

        Option optSourceFile = OptionBuilder.create(conOptionCRONTAB);
        OptionBuilder.withArgName("file");
        OptionBuilder.hasArgs();
        OptionBuilder.isRequired();
        OptionBuilder.withDescription("xml configuration file");

        Option optTargetFile = OptionBuilder.create(conOptionTARGET);
        OptionBuilder.withArgName("level");
        OptionBuilder.hasArg();
        OptionBuilder.withType(new Integer(0));
        OptionBuilder.withDescription("loglevel [0=info] [1=debug1]...[9=debug]");

        Option optLogLevel = OptionBuilder.create(conOptionVERBOSE);

        OptionBuilder.withArgName("command");
        OptionBuilder.hasArgs();
        OptionBuilder.withDescription(
                "change user command for -systab=1. 'su' or 'sudo' or define your own command using $SCHEDULER_CRONTAB_USER.");

        Option optChangeUser = OptionBuilder.create(conOptionCHANGEUSER);

        OptionBuilder.withArgName("seconds");
        OptionBuilder.hasArg();
        OptionBuilder.withDescription("job timeout (0 for unlimited");
        @SuppressWarnings("unused")
        Option optTimeOut = OptionBuilder.create(conOptionTIMEOUT);
        @SuppressWarnings("unused")
        Option optOldRunTime = new Option("oldRunTime", "");

        OptionBuilder.withArgName("true|false");
        OptionBuilder.hasArg();
        OptionBuilder.withDescription("set to true if script has to be mok'ed");
        Option optCreateMok = OptionBuilder.create(conOptionCREATE_MOCK);

        OptionBuilder.withArgName("true|false");
        OptionBuilder.hasArg();
        OptionBuilder.withDescription("set to true if you want to create jobChains and jobs");
        Option optCreateJobChains = OptionBuilder.create(conOptionCREATE_JobChains);

        options.addOption(optSysTab);
        options.addOption(optSourceFile);
        options.addOption(optTargetFile);
        options.addOption(optLogLevel);
        options.addOption(optChangeUser);
        options.addOption(optCreateMok);
        options.addOption(optCreateJobChains);

        CommandLineParser parser = new GnuParser();
        CommandLine line = null;
        try {
            line = parser.parse(options, args);
        } catch (Exception e) {
            HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp("cronconverter", options, true);
            System.exit(0);
        }

        sourceFile = getWholeArgument(line.getOptionValues(conOptionCRONTAB));
        if (sourceFile.equalsIgnoreCase(conSystemCrontabName))
            sysTab = true;
        targetFile = getWholeArgument(line.getOptionValues(conOptionTARGET));

        String ll = line.getOptionValue(conOptionVERBOSE, "" + SOSStandardLogger.INFO);
        logLevel = Integer.parseInt(ll);
        if (line.hasOption(optSysTab.getOpt())) {
            sysTab = line.getOptionValue(optSysTab.getOpt()).trim().equals("1");
        }
        useOldRunTime = line.hasOption("oldRunTime");
        changeUser = "";
        if (line.hasOption(conOptionCHANGEUSER)) {
            changeUser = getWholeArgument(line.getOptionValues(conOptionCHANGEUSER));
        }

        jobTimeout = line.getOptionValue(conOptionTIMEOUT);
        if (logLevel == 0)
            logLevel = SOSLogger.INFO;
        sosLogger = new SOSStandardLogger(logLevel);

        target = new File(targetFile);
        source = new File(sourceFile);

        CronConverter cc = new CronConverter(sosLogger);
        if (jobTimeout != null && jobTimeout.length() > 0) {
            cc.setTimeout(jobTimeout);
        }
        cc.setChangeUserCommand(changeUser);
        if (line.hasOption(conOptionCREATE_MOCK)) { // JITL-28
            cc.setCreateAMock(line.getOptionValue(conOptionCREATE_MOCK).equalsIgnoreCase(conTRUE));
        }
        if (line.hasOption(conOptionCREATE_JobChains)) { // JITL-28
            cc.setCreateJobChainJobs(line.getOptionValue(conOptionCREATE_JobChains).equalsIgnoreCase(conTRUE));
        }

        cc.setSystemCronTab(sysTab);
        cc.oldRunTime = useOldRunTime;
        cc.cronFile2SchedulerXMLFile(source, target);

    } catch (Exception e) {
        e.printStackTrace();
    }

}

From source file:sos.scheduler.cron.CrontabFileConverter.java

/**
 * @param args//from  ww w.j ava2s  .c o  m
 */
public static void main(final String[] args) {

    Logger logger = Logger.getLogger(CrontabFileConverter.class);
    @SuppressWarnings("unused")
    Log4JHelper objLogger = null;

    objLogger = new Log4JHelper(null);

    logger = Logger.getRootLogger();
    logger.info("SOS CronConverter - Main"); //$NON-NLS-1$

    /*try {
         test();
       } catch(Exception ex){
    ex.printStackTrace();
       }
    */
    try {
        //SOSArguments arguments = new SOSArguments(args);
        SOSLogger sosLogger;
        String sourceFile = "";
        String targetFile = "";
        String changeUser = "";
        File source = null;
        File target = null;
        int logLevel = 0;
        boolean sysTab = false;
        boolean useOldRunTime = false;
        String jobTimeout = "";
        /*
        try {
           sourceFile = arguments.as_string("-crontab=");
           if (sourceFile.equalsIgnoreCase("/etc/crontab")) sysTab = true;
           targetFile = arguments.as_string("-target=");
           logLevel = arguments.as_int("-v=",SOSStandardLogger.INFO);
           sysTab = arguments.as_bool("-system=",sysTab);
           useOldRunTime = arguments.as_bool("-oldRunTime=",false);
           changeUser = arguments.as_string("-change-user=", "su");
        } catch (Exception e1) {
           System.out.println(e1.getMessage());
           showUsage();
           System.exit(0);
        }*/
        Options options = new Options();
        OptionBuilder.withArgName("0|1");
        OptionBuilder.hasArg();
        OptionBuilder.withDescription("set to 1 if source is the system crontab (with user field)");

        Option optSysTab = OptionBuilder.create(conOptionsSYSTAB);

        OptionBuilder.withArgName("file");
        OptionBuilder.hasArgs();
        OptionBuilder.isRequired();
        OptionBuilder.withDescription("crontab file");

        Option optSourceFile = OptionBuilder.create(conOptionCRONTAB);
        OptionBuilder.withArgName("file");
        OptionBuilder.hasArgs();
        OptionBuilder.isRequired();
        OptionBuilder.withDescription("xml configuration file");

        Option optTargetFile = OptionBuilder.create(conOptionTARGET);
        OptionBuilder.withArgName("level");
        OptionBuilder.hasArg();
        OptionBuilder.withType(new Integer(0));
        OptionBuilder.withDescription("loglevel [0=info] [1=debug1]...[9=debug]");

        Option optLogLevel = OptionBuilder.create(conOptionVERBOSE);

        OptionBuilder.withArgName("command");
        OptionBuilder.hasArgs();
        OptionBuilder.withDescription(
                "change user command for -systab=1. 'su' or 'sudo' or define your own command using $SCHEDULER_CRONTAB_USER.");

        Option optChangeUser = OptionBuilder.create(conOptionCHANGEUSER);

        OptionBuilder.withArgName("seconds");
        OptionBuilder.hasArg();
        OptionBuilder.withDescription("job timeout (0 for unlimited");
        @SuppressWarnings("unused")
        Option optTimeOut = OptionBuilder.create(conOptionTIMEOUT);
        @SuppressWarnings("unused")
        Option optOldRunTime = new Option("oldRunTime", "");

        OptionBuilder.withArgName("true|false");
        OptionBuilder.hasArg();
        OptionBuilder.withDescription("set to true if script has to be mok'ed");
        Option optCreateMok = OptionBuilder.create(conOptionCREATE_MOCK);

        OptionBuilder.withArgName("true|false");
        OptionBuilder.hasArg();
        OptionBuilder.withDescription("set to true if you want to create jobChains and jobs");
        Option optCreateJobChains = OptionBuilder.create(conOptionCREATE_JobChains);

        options.addOption(optSysTab);
        options.addOption(optSourceFile);
        options.addOption(optTargetFile);
        options.addOption(optLogLevel);
        options.addOption(optChangeUser);
        options.addOption(optCreateMok);
        options.addOption(optCreateJobChains);

        CommandLineParser parser = new GnuParser();
        CommandLine line = null;
        try {
            line = parser.parse(options, args);
        } catch (Exception e) {
            HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp("cronconverter", options, true);
            System.exit(0);
        }

        sourceFile = getWholeArgument(line.getOptionValues(conOptionCRONTAB));
        if (sourceFile.equalsIgnoreCase(conSystemCrontabName))
            sysTab = true;
        targetFile = getWholeArgument(line.getOptionValues(conOptionTARGET));

        String ll = line.getOptionValue(conOptionVERBOSE, "" + SOSStandardLogger.INFO);
        logLevel = Integer.parseInt(ll);
        if (line.hasOption(optSysTab.getOpt())) {
            sysTab = line.getOptionValue(optSysTab.getOpt()).trim().equals("1");
        }
        useOldRunTime = line.hasOption("oldRunTime");
        changeUser = "";
        if (line.hasOption(conOptionCHANGEUSER)) {
            changeUser = getWholeArgument(line.getOptionValues(conOptionCHANGEUSER));
        }

        jobTimeout = line.getOptionValue(conOptionTIMEOUT);
        if (logLevel == 0)
            logLevel = SOSLogger.INFO;
        sosLogger = new SOSStandardLogger(logLevel);

        target = new File(targetFile);
        source = new File(sourceFile);

        CrontabFileConverter cc = new CrontabFileConverter(sosLogger);
        if (jobTimeout != null && jobTimeout.length() > 0) {
            cc.setTimeout(jobTimeout);
        }
        cc.setChangeUserCommand(changeUser);
        if (line.hasOption(conOptionCREATE_MOCK)) { // JITL-28
            cc.setCreateAMock(line.getOptionValue(conOptionCREATE_MOCK).equalsIgnoreCase(conTRUE));
        }
        if (line.hasOption(conOptionCREATE_JobChains)) { // JITL-28
            cc.setCreateJobChainJobs(line.getOptionValue(conOptionCREATE_JobChains).equalsIgnoreCase(conTRUE));
        }

        //         cc.setCreateAMock(line.getOptionValue(conOptionCREATE_MOCK).equalsIgnoreCase(conTRUE));
        //         cc.setCreateJobChainJobs(line.getOptionValue(conOptionCREATE_JobChains).equalsIgnoreCase(conTRUE));

        cc.setSystemCronTab(sysTab);
        cc.oldRunTime = useOldRunTime;
        cc.cronFile2SchedulerXMLFile(source, target);

    } catch (Exception e) {
        e.printStackTrace();
        System.exit(1);
    }

    System.exit(0);
}