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

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

Introduction

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

Prototype

public static OptionBuilder withArgName(String name) 

Source Link

Document

The next Option created will have the specified argument value name.

Usage

From source file:com.yahoo.semsearch.fastlinking.io.RepackWikipedia.java

@SuppressWarnings("static-access")
@Override//from   w  w  w.j av  a  2 s  .c  o  m
public int run(String[] args) throws Exception {
    Options options = new Options();
    options.addOption(
            OptionBuilder.withArgName("path").hasArg().withDescription("XML dump file").create(INPUT_OPTION));
    options.addOption(OptionBuilder.withArgName("path").hasArg().withDescription("output location")
            .create(OUTPUT_OPTION));
    options.addOption(OptionBuilder.withArgName("path").hasArg().withDescription("mapping file")
            .create(MAPPING_FILE_OPTION));
    options.addOption(OptionBuilder.withArgName("block|record|none").hasArg()
            .withDescription("compression type").create(COMPRESSION_TYPE_OPTION));
    options.addOption(OptionBuilder.withArgName("en|sv|de").hasArg().withDescription("two-letter language code")
            .create(LANGUAGE_OPTION));

    CommandLine cmdline;
    CommandLineParser parser = new GnuParser();
    try {
        cmdline = parser.parse(options, args);
    } catch (ParseException exp) {
        System.err.println("Error parsing command line: " + exp.getMessage());
        return -1;
    }

    if (!cmdline.hasOption(INPUT_OPTION) || !cmdline.hasOption(OUTPUT_OPTION)
            || !cmdline.hasOption(MAPPING_FILE_OPTION) || !cmdline.hasOption(COMPRESSION_TYPE_OPTION)) {
        HelpFormatter formatter = new HelpFormatter();
        formatter.printHelp(this.getClass().getName(), options);
        ToolRunner.printGenericCommandUsage(System.out);
        return -1;
    }

    String inputPath = cmdline.getOptionValue(INPUT_OPTION);
    String outputPath = cmdline.getOptionValue(OUTPUT_OPTION);
    String mappingFile = cmdline.getOptionValue(MAPPING_FILE_OPTION);
    String compressionType = cmdline.getOptionValue(COMPRESSION_TYPE_OPTION);

    if (!"block".equals(compressionType) && !"record".equals(compressionType)
            && !"none".equals(compressionType)) {
        System.err.println("Error: \"" + compressionType + "\" unknown compression type!");
        return -1;
    }

    String language = null;
    if (cmdline.hasOption(LANGUAGE_OPTION)) {
        language = cmdline.getOptionValue(LANGUAGE_OPTION);
        if (language.length() != 2) {
            System.err.println("Error: \"" + language + "\" unknown language!");
            return -1;
        }
    }

    // this is the default block size
    int blocksize = 1000000;

    Job job = Job.getInstance(getConf());
    job.setJarByClass(RepackWikipedia.class);
    job.setJobName(String.format("RepackWikipedia[%s: %s, %s: %s, %s: %s, %s: %s]", INPUT_OPTION, inputPath,
            OUTPUT_OPTION, outputPath, COMPRESSION_TYPE_OPTION, compressionType, LANGUAGE_OPTION, language));

    job.getConfiguration().set(DOCNO_MAPPING_FIELD, mappingFile);

    LOG.info("Tool name: " + this.getClass().getName());
    LOG.info(" - XML dump file: " + inputPath);
    LOG.info(" - output path: " + outputPath);
    LOG.info(" - docno mapping data file: " + mappingFile);
    LOG.info(" - compression type: " + compressionType);
    LOG.info(" - language: " + language);

    if ("block".equals(compressionType)) {
        LOG.info(" - block size: " + blocksize);
    }

    job.setNumReduceTasks(0);

    FileInputFormat.addInputPath(job, new Path(inputPath));
    FileOutputFormat.setOutputPath(job, new Path(outputPath));

    if ("none".equals(compressionType)) {
        FileOutputFormat.setCompressOutput(job, false);
    } else {
        FileOutputFormat.setCompressOutput(job, true);

        if ("record".equals(compressionType)) {
            SequenceFileOutputFormat.setOutputCompressionType(job, SequenceFile.CompressionType.RECORD);
        } else {
            SequenceFileOutputFormat.setOutputCompressionType(job, SequenceFile.CompressionType.BLOCK);
            job.getConfiguration().setInt("io.seqfile.compress.blocksize", blocksize);
        }
    }

    if (language != null) {
        job.getConfiguration().set("wiki.language", language);
    }

    job.setInputFormatClass(WikipediaPageInputFormat.class);
    job.setOutputFormatClass(SequenceFileOutputFormat.class);
    job.setOutputKeyClass(IntWritable.class);
    job.setOutputValueClass(WikipediaPageFactory.getWikipediaPageClass(language));
    //job.setOutputValueClass(EnglishWikipediaPage.class);

    job.setMapperClass(MyMapper.class);

    // Delete the output directory if it exists already.
    FileSystem.get(getConf()).delete(new Path(outputPath), true);

    return job.waitForCompletion(true) ? 0 : -1;

}

From source file:com.google.code.linkedinapi.client.examples.CompaniesApiExample.java

/**
  * Build command line options object./* w  w  w.ja v a  2  s .  c  o m*/
  */
private static Options buildOptions() {

    Options opts = new Options();

    String helpMsg = "Print this message.";
    Option help = new Option(HELP_OPTION, helpMsg);
    opts.addOption(help);

    String consumerKeyMsg = "You API Consumer Key.";
    OptionBuilder.withArgName("consumerKey");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription(consumerKeyMsg);
    Option consumerKey = OptionBuilder.create(CONSUMER_KEY_OPTION);
    opts.addOption(consumerKey);

    String consumerSecretMsg = "You API Consumer Secret.";
    OptionBuilder.withArgName("consumerSecret");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription(consumerSecretMsg);
    Option consumerSecret = OptionBuilder.create(CONSUMER_SECRET_OPTION);
    opts.addOption(consumerSecret);

    String accessTokenMsg = "You OAuth Access Token.";
    OptionBuilder.withArgName("accessToken");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription(accessTokenMsg);
    Option accessToken = OptionBuilder.create(ACCESS_TOKEN_OPTION);
    opts.addOption(accessToken);

    String tokenSecretMsg = "You OAuth Access Token Secret.";
    OptionBuilder.withArgName("accessTokenSecret");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription(tokenSecretMsg);
    Option accessTokenSecret = OptionBuilder.create(ACCESS_TOKEN_SECRET_OPTION);
    opts.addOption(accessTokenSecret);

    String idMsg = "ID of the user whose profile is to be fetched.";
    OptionBuilder.withArgName("id");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription(idMsg);
    Option id = OptionBuilder.create(ID_OPTION);
    opts.addOption(id);

    return opts;
}

From source file:mitm.common.tools.SMIME.java

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

    Option inOption = OptionBuilder.withArgName("in").hasArg().withDescription("input file").create("in");
    inOption.setRequired(false);/*w w  w.java  2  s . c  o  m*/
    options.addOption(inOption);

    Option keyStoreOption = OptionBuilder.withArgName("p12").hasArg().withDescription("keystore (.p12/.pfx)")
            .create("p12");
    keyStoreOption.setRequired(false);
    options.addOption(keyStoreOption);

    Option passwordOption = OptionBuilder.withArgName("password").hasArg().withDescription("password")
            .create("password");
    passwordOption.setRequired(false);
    options.addOption(passwordOption);

    Option passwordPromptOption = OptionBuilder.withDescription("ask for password").create("pwd");
    passwordPromptOption.setRequired(false);
    options.addOption(passwordPromptOption);

    Option helpOption = OptionBuilder.withDescription("Show help").create("help");
    helpOption.setRequired(false);
    options.addOption(helpOption);

    Option p7mOption = OptionBuilder.withDescription("file is a p7m file").create("p7m");
    p7mOption.setRequired(false);
    options.addOption(p7mOption);

    Option p7mOutputOption = OptionBuilder.withArgName("p7m output file").hasArg()
            .withDescription("save the p7m as S/MIME to p7mOut").create("p7mOut");
    p7mOutputOption.setRequired(false);
    options.addOption(p7mOutputOption);

    Option binaryOption = OptionBuilder.withDescription("file is binary").create("binary");
    binaryOption.setRequired(false);
    options.addOption(binaryOption);

    Option cerOutputOption = OptionBuilder.withArgName("cer output file").hasArg()
            .withDescription("saves the certificates from the signed blob to this file in p7b format.")
            .create("cerOut");
    cerOutputOption.setRequired(false);
    options.addOption(cerOutputOption);

    Option readOption = OptionBuilder.withDescription("read S/MIME file").create("r");
    readOption.setRequired(false);
    options.addOption(readOption);

    Option signOption = OptionBuilder.withDescription("sign file").create("sign");
    signOption.setRequired(false);
    options.addOption(signOption);

    Option keyAliasOption = OptionBuilder.withArgName("alias").hasArg().withDescription("key alias")
            .create("alias");
    keyAliasOption.setRequired(false);
    options.addOption(keyAliasOption);

    Option printAliasesOption = OptionBuilder.withDescription("print key aliases").create("printAliases");
    printAliasesOption.setRequired(false);
    options.addOption(printAliasesOption);

    Option digestOption = OptionBuilder.withDescription("hash algorithm").hasArg()
            .withDescription("digest hash algorithm").create("digest");
    digestOption.setRequired(false);
    options.addOption(digestOption);

    Option outOption = OptionBuilder.withDescription("output file").hasArg().withDescription("output file")
            .create("out");
    outOption.setRequired(false);
    options.addOption(outOption);

    return options;
}

From source file:mitm.application.djigzo.tools.CertManager.java

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

    soapUserOption = OptionBuilder.withArgName("soapUser").hasArg().withDescription("soap user")
            .create("soapUser");
    soapUserOption.setRequired(false);/*from w w  w . j  a  va 2s.c  o  m*/
    options.addOption(soapUserOption);

    soapPasswordOption = OptionBuilder.withArgName("soapPassword").hasArg().withDescription("soap password")
            .create("soapPassword");
    soapPasswordOption.setRequired(false);
    options.addOption(soapPasswordOption);

    importOption = OptionBuilder
            .withDescription("If set, certificate(s) or a pfx will be read from stdin and imported")
            .create("import");
    options.addOption(importOption);

    cerOption = OptionBuilder.withDescription("If set, certificate(s) will be read from stdin and imported")
            .create("cer");
    options.addOption(cerOption);

    pfxOption = OptionBuilder
            .withDescription("If set, certificate(s) and key(s) will be read from stdin and imported")
            .create("pfx");
    options.addOption(pfxOption);

    keyStorePasswordOption = OptionBuilder.withArgName("keyStorePassword").hasArg()
            .withDescription("Password for the keystore when importing a pfx file").create("keyStorePassword");
    keyStorePasswordOption.setRequired(false);
    options.addOption(keyStorePasswordOption);

    syncOption = OptionBuilder.withArgName("syncmode").hasArg()
            .withDescription("If set, the certificate and keys will be synced").create("sync");
    options.addOption(syncOption);

    loggingOption = OptionBuilder.withDescription("If set, debug logging will be enabled").create("logging");
    options.addOption(loggingOption);

    helpOption = OptionBuilder.withDescription("Show help").create("help");
    helpOption.setRequired(false);
    options.addOption(helpOption);

    hostOption = OptionBuilder.withArgName("host").hasArg()
            .withDescription("The host to connect to (127.0.0.1)").create("host");
    options.addOption(hostOption);

    portOption = OptionBuilder.withArgName("port").hasArg()
            .withDescription("The port to use (" + DjigzoWSDefaults.PORT + ")").create("port");
    options.addOption(portOption);

    return options;
}

From source file:acromusashi.kafka.log.producer.LinuxApacheLogProducer.java

/**
 * ???//  w w w.  j  ava2  s.com
 * 
 * @return ??
 */
public static Options createOptions() {
    Options cliOptions = new Options();

    // 
    OptionBuilder.hasArg(true);
    OptionBuilder.withArgName("LinuxApacheLogProducer Conf Path");
    OptionBuilder.withDescription("LinuxApacheLogProducer Conf Path");
    OptionBuilder.isRequired(true);
    Option confPathOption = OptionBuilder.create("c");

    // 
    OptionBuilder.withDescription("show help");
    Option helpOption = OptionBuilder.create("h");

    cliOptions.addOption(confPathOption);
    cliOptions.addOption(helpOption);
    return cliOptions;
}

From source file:edu.umd.cloud9.collection.medline.CountMedlineCitations.java

@SuppressWarnings("static-access")
public int run(String[] args) throws Exception {
    Options options = new Options();
    options.addOption(OptionBuilder.withArgName("path").hasArg().withDescription("(required) collection path")
            .create(COLLECTION_OPTION));
    options.addOption(OptionBuilder.withArgName("path").hasArg().withDescription("(required) output path")
            .create(OUTPUT_OPTION));/*w  w  w .ja v a 2s  .  com*/
    options.addOption(OptionBuilder.withArgName("path").hasArg().withDescription("(required) DocnoMapping data")
            .create(MAPPING_OPTION));

    CommandLine cmdline;
    CommandLineParser parser = new GnuParser();
    try {
        cmdline = parser.parse(options, args);
    } catch (ParseException exp) {
        System.err.println("Error parsing command line: " + exp.getMessage());
        return -1;
    }

    if (!cmdline.hasOption(COLLECTION_OPTION) || !cmdline.hasOption(OUTPUT_OPTION)
            || !cmdline.hasOption(MAPPING_OPTION)) {
        HelpFormatter formatter = new HelpFormatter();
        formatter.printHelp(this.getClass().getName(), options);
        ToolRunner.printGenericCommandUsage(System.out);
        return -1;
    }

    String inputPath = cmdline.getOptionValue(COLLECTION_OPTION);
    String outputPath = cmdline.getOptionValue(OUTPUT_OPTION);
    String mappingFile = cmdline.getOptionValue(MAPPING_OPTION);

    LOG.info("Tool: " + CountMedlineCitations.class.getSimpleName());
    LOG.info(" - input: " + inputPath);
    LOG.info(" - output dir: " + outputPath);
    LOG.info(" - docno mapping file: " + mappingFile);

    Job job = new Job(getConf(), CountMedlineCitations.class.getSimpleName() + ":" + inputPath);
    job.setJarByClass(CountMedlineCitations.class);

    job.setNumReduceTasks(0);

    // Pass in the class name as a String; this is makes the mapper general in being able to load
    // any collection of Indexable objects that has docid/docno mapping specified by a DocnoMapping
    // object.
    job.getConfiguration().set("DocnoMappingClass", MedlineDocnoMapping.class.getCanonicalName());

    // Put the mapping file in the distributed cache so each map worker will have it.
    DistributedCache.addCacheFile(new URI(mappingFile), job.getConfiguration());

    FileInputFormat.setInputPaths(job, new Path(inputPath));
    FileOutputFormat.setOutputPath(job, new Path(outputPath));
    FileOutputFormat.setCompressOutput(job, false);

    job.setInputFormatClass(MedlineCitationInputFormat.class);
    job.setOutputKeyClass(Text.class);
    job.setOutputValueClass(IntWritable.class);

    job.setMapperClass(MyMapper.class);

    // Delete the output directory if it exists already.
    FileSystem.get(job.getConfiguration()).delete(new Path(outputPath), true);

    job.waitForCompletion(true);

    Counters counters = job.getCounters();
    int numDocs = (int) counters.findCounter(Count.DOCS).getValue();
    LOG.info("Read " + numDocs + " docs.");

    return numDocs;
}

From source file:it.crs4.pydoop.mapreduce.pipes.CommandLineParser.java

void addArgument(String name, boolean required, String description) {
    Option option = OptionBuilder.withArgName(name).hasArgs(1).withDescription(description).isRequired(required)
            .create();//from  w  w  w.  ja  v a  2 s.  co  m
    options.addOption(option);
}

From source file:mitm.application.djigzo.tools.Upgrade.java

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

    Option helpOption = OptionBuilder.withDescription("Show help").create("help");
    helpOption.setRequired(false);/*  w w w  .  j  av a2 s.co m*/
    options.addOption(helpOption);

    Option versionOption = OptionBuilder.withArgName("version").hasArg().withDescription("version")
            .create("version");
    versionOption.setRequired(true);
    options.addOption(versionOption);

    Option userOption = OptionBuilder.withArgName("user").hasArg().withDescription("user").create("user");
    userOption.setRequired(false);
    options.addOption(userOption);

    Option passwordOption = OptionBuilder.withArgName("password").hasArg().withDescription("password")
            .create("password");
    passwordOption.setRequired(false);
    options.addOption(passwordOption);

    hostOption = OptionBuilder.withArgName("host").hasArg()
            .withDescription("The host to connect to (def: 127.0.0.1)").create("host");
    options.addOption(hostOption);

    portOption = OptionBuilder.withArgName("port").hasArg()
            .withDescription("The port to use (def: " + DjigzoWSDefaults.PORT + ")").create("port");
    options.addOption(portOption);

    return options;
}

From source file:com.mosso.client.cloudfiles.sample.FilesRemove.java

@SuppressWarnings("static-access")
private static Options addCommandLineOptions() {
    Option help = new Option("help", "print this message");
    Option recurse = new Option("r", "Recursively go through the folders and files");

    Option container = OptionBuilder.withArgName("container").hasArg(true)
            .withDescription("Name of  container to remove.").create("container");

    Option object = OptionBuilder.withArgName("object").hasArg(true)
            .withDescription("Name and path of  object to remove.").create("object");

    Options options = new Options();

    options.addOption(help);/*  w w w .  j av  a 2  s  . co m*/
    options.addOption(recurse);

    options.addOption(container);
    options.addOption(object);

    return options;
}

From source file:com.boundary.sdk.event.EventCLI.java

@SuppressWarnings("static-access")
private void addApiKeyOption() {
    optionApiKey = OptionBuilder.withArgName("api_key").hasArg().withDescription("Boundary API Key")
            .withLongOpt("api-key").create(OPTION_API_KEY);
    options.addOption(optionApiKey);//from  w w w . jav  a 2  s  . co  m
}