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

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

Introduction

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

Prototype

public static OptionBuilder hasOptionalArg() 

Source Link

Document

The next Option can have an optional argument.

Usage

From source file:org.apache.nutch.scoring.webgraph.NodeReader.java

/**
 * Runs the NodeReader tool. The command line arguments must contain a
 * webgraphdb path and a url. The url must match the normalized url that is
 * contained in the NodeDb of the WebGraph.
 *//*  w  ww  .  j  a v a  2  s  .  c  o  m*/
public static void main(String[] args) throws Exception {

    Options options = new Options();
    OptionBuilder.withArgName("help");
    OptionBuilder.withDescription("show this help message");
    Option helpOpts = OptionBuilder.create("help");
    options.addOption(helpOpts);

    OptionBuilder.withArgName("webgraphdb");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("the webgraphdb to use");
    Option webGraphOpts = OptionBuilder.create("webgraphdb");
    options.addOption(webGraphOpts);

    OptionBuilder.withArgName("url");
    OptionBuilder.hasOptionalArg();
    OptionBuilder.withDescription("the url to dump");
    Option urlOpts = OptionBuilder.create("url");
    options.addOption(urlOpts);

    CommandLineParser parser = new GnuParser();
    try {

        // command line must take a webgraphdb and a url
        CommandLine line = parser.parse(options, args);
        if (line.hasOption("help") || !line.hasOption("webgraphdb") || !line.hasOption("url")) {
            HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp("WebGraphReader", options);
            return;
        }

        // dump the values to system out and return
        String webGraphDb = line.getOptionValue("webgraphdb");
        String url = line.getOptionValue("url");
        NodeReader reader = new NodeReader(NutchConfiguration.create());
        reader.dumpUrl(new Path(webGraphDb), url);

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

From source file:org.apache.nutch.service.NutchServer.java

private static Options createOptions() {
    Options options = new Options();

    OptionBuilder.withDescription("Show this help");
    options.addOption(OptionBuilder.create(CMD_HELP));

    OptionBuilder.withArgName("port");
    OptionBuilder.hasOptionalArg();
    OptionBuilder.withDescription("The port to run the Nutch Server. Default port 8081");
    options.addOption(OptionBuilder.create(CMD_PORT));

    OptionBuilder.withArgName("host");
    OptionBuilder.hasOptionalArg();//ww w  .  j  a  va 2s .  c o m
    OptionBuilder.withDescription("The host to bind the Nutch Server to. Default is localhost.");
    options.addOption(OptionBuilder.create(CMD_HOST));

    return options;
}

From source file:org.apache.nutch.webui.NutchUiServer.java

private static Options createWebAppOptions() {
    Options options = new Options();
    Option helpOpt = new Option("h", "help", false, "show this help message");
    OptionBuilder.withDescription("Port to run the WebApplication on.");
    OptionBuilder.hasOptionalArg();
    OptionBuilder.withArgName("port number");
    options.addOption(OptionBuilder.create(CMD_PORT));
    options.addOption(helpOpt);//from w  w  w  . java 2 s . c  o  m
    return options;
}

From source file:org.columba.mail.main.MailMain.java

public void registerCommandLineArguments() {
    ColumbaCmdLineParser parser = ColumbaCmdLineParser.getInstance();

    Option composeOption = new Option("compose", true, "compose message");
    parser.addOption(composeOption);//w  w  w  .  ja  va2s .c  om

    Option mailOption = OptionBuilder.hasOptionalArg().withLongOpt("mailurl").create("mail");

    parser.addOption(mailOption);
}

From source file:org.eclipse.jubula.app.autagent.AutAgentApplication.java

/**
 * method to create an options object, filled with all options
 *
 * @return the options//from w  ww.j a  v  a 2  s .com
 */
private static Options createOptions() {
    Options options = new Options();

    Option portOption = new Option(COMMANDLINE_OPTION_PORT, true, Messages.CommandlineOptionPort);
    portOption.setArgName(COMMANDLINE_PORT);
    options.addOption(portOption);

    options.addOption(COMMANDLINE_OPTION_LENIENT, false, Messages.CommandlineOptionLenient);
    options.addOption(COMMANDLINE_OPTION_HELP, false, Messages.CommandlineOptionHelp);

    OptionGroup verbosityOptions = new OptionGroup();
    verbosityOptions.addOption(new Option(COMMANDLINE_OPTION_QUIET, false, Messages.CommandlineOptionQuiet));
    verbosityOptions
            .addOption(new Option(COMMANDLINE_OPTION_VERBOSE, false, Messages.CommandlineOptionVerbose));
    options.addOptionGroup(verbosityOptions);

    OptionGroup startStopOptions = new OptionGroup();
    startStopOptions.addOption(new Option(COMMANDLINE_OPTION_START, false, Messages.CommandlineOptionStart));

    OptionBuilder.hasOptionalArg();
    Option stopOption = OptionBuilder.create(COMMANDLINE_OPTION_STOP);
    stopOption.setDescription(NLS.bind(Messages.OptionStopDescription, DEFAULT_HOSTNAME_LOCALHOST));
    stopOption.setArgName(HOSTNAME);
    startStopOptions.addOption(stopOption);
    options.addOptionGroup(startStopOptions);

    return options;
}

From source file:org.nuunframework.cli.NuunCliPlugin.java

private Option createOptionFromField(Field field) {
    Option option = null;//from   w  ww  .ja v a  2s  . c  om
    // Cli Option Builder is completly static :-/
    // so we synchronized it ...
    synchronized (OptionBuilder.class) {
        // reset the builder creating a dummy option
        OptionBuilder.withLongOpt("dummy");
        OptionBuilder.create();

        // 
        NuunOption nuunOption = field.getAnnotation(NuunOption.class);

        if (nuunOption == null) {
            for (Annotation anno : field.getAnnotations()) {
                if (AssertUtils.hasAnnotationDeep(anno.annotationType(), NuunOption.class)) {
                    nuunOption = AssertUtils.annotationProxyOf(NuunOption.class, anno);
                    break;
                }
            }
        }

        // longopt
        if (!Strings.isNullOrEmpty(nuunOption.longOpt())) {
            OptionBuilder.withLongOpt(nuunOption.longOpt());
        }
        // description
        if (!Strings.isNullOrEmpty(nuunOption.description())) {
            OptionBuilder.withDescription(nuunOption.description());
        }
        // required
        OptionBuilder.isRequired((nuunOption.required()));

        // arg
        OptionBuilder.hasArg((nuunOption.arg()));

        // args
        if (nuunOption.args()) {
            if (nuunOption.numArgs() > 0) {
                OptionBuilder.hasArgs(nuunOption.numArgs());
            } else {
                OptionBuilder.hasArgs();
            }
        }
        // is optional 
        if (nuunOption.optionalArg()) {
            OptionBuilder.hasOptionalArg();
        }

        // nuun 
        OptionBuilder.withValueSeparator(nuunOption.valueSeparator());

        // opt 
        if (!Strings.isNullOrEmpty(nuunOption.opt())) {
            option = OptionBuilder.create(nuunOption.opt());
        } else {
            option = OptionBuilder.create();
        }
    }

    return option;

}