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

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

Introduction

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

Prototype

public static OptionBuilder hasArg() 

Source Link

Document

The next Option created will require an argument value.

Usage

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

private void initOptions() {
    OptionGroup optionGroup = new OptionGroup();
    optionGroup.setRequired(true);//from ww  w  .  ja v a  2 s.  c o  m

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    options.addOptionGroup(optionGroup);

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

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

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

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

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

From source file:projetg2.DcmSnd.java

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

    OptionBuilder.withArgName("name");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("set device name, use DCMSND by default");
    opts.addOption(OptionBuilder.create("device"));

    OptionBuilder.withArgName("aet[@host][:port]");
    OptionBuilder.hasArg();// w w  w .j a v  a  2  s .  c o m
    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   ww  w  . j  a v  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//  w ww. java  2  s  .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);
}

From source file:sse.Main.java

@SuppressWarnings("static-access")
private static Options buildOptions() {
    Options options = new Options();

    Option input = OptionBuilder.hasArg().withArgName("file").isRequired().withDescription(
            "The basename of the input files. Can be either a block for search mode or a text for create mode.")
            .create("i");
    OptionGroup mode = new OptionGroup();

    Option output = OptionBuilder.hasArg().withArgName("file")
            .withDescription("The basename of the output files.").create("o");

    Option iv = OptionBuilder.hasArg().withArgName("file")
            .withDescription("The file wich contains the iv and salt.").create("iv");
    Option help = new Option("help", "Prints the help message.");
    Option verbose = new Option("v", "Enables verbose mode.");
    Option backend = OptionBuilder.hasArg().withArgName("backend")
            .withDescription("Sets the backend which is to be used. Either amazon or file-system.")
            .create("backend");

    Option create = new Option("create", "Encrypts the given text");

    Option search = OptionBuilder.hasArg().withArgName("text").withDescription("Searches for the given text.")
            .create("search");

    Option password = OptionBuilder.hasArg().withArgName("password")
            .withDescription("Sets the password used for encryption.").isRequired().create("password");

    mode.addOption(create);//from  ww  w .  j  a v  a2 s.  com
    mode.addOption(search);
    options.addOption(output);
    options.addOptionGroup(mode);

    options.addOption(input);
    options.addOption(iv);
    options.addOption(help);
    options.addOption(verbose);
    options.addOption(backend);
    options.addOption(password);

    return options;

}

From source file:ubc.pavlab.aspiredb.cli.AbstractCLI.java

protected void addDateOption() {
    OptionBuilder.hasArg();
    OptionBuilder.withArgName("mdate");
    OptionBuilder.withDescription("Constrain to run only on entities with analyses older than the given date. "
            + "For example, to run only on entities that have not been analyzed in the last 10 days, use '-10d'. "
            + "If there is no record of when the analysis was last run, it will be run.");
    Option dateOption = OptionBuilder.create("mdate");

    addOption(dateOption);//from w  w  w .  j  a va 2s.  c  o m
}

From source file:ubc.pavlab.aspiredb.cli.AbstractCLI.java

/**
 * Convenience method to add a standard pair of options to intake a host name and port number. *
 * //from  ww  w.jav a 2s. co  m
 * @param hostRequired Whether the host name is required
 * @param portRequired Whether the port is required
 */
protected void addHostAndPortOptions(boolean hostRequired, boolean portRequired) {
    OptionBuilder.withArgName("host");
    OptionBuilder.withLongOpt("host");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("Hostname to use (Default = " + DEFAULT_HOST + ")");
    Option hostOpt = OptionBuilder.create(HOST_OPTION);

    hostOpt.setRequired(hostRequired);

    OptionBuilder.withArgName("port");
    OptionBuilder.withLongOpt("port");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("Port to use on host (Default = " + DEFAULT_PORT + ")");
    Option portOpt = OptionBuilder.create(PORT_OPTION);

    portOpt.setRequired(portRequired);

    options.addOption(hostOpt);
    options.addOption(portOpt);
}