Example usage for org.apache.commons.cli Option getOpt

List of usage examples for org.apache.commons.cli Option getOpt

Introduction

In this page you can find the example usage for org.apache.commons.cli Option getOpt.

Prototype

public String getOpt() 

Source Link

Document

Retrieve the name of this Option.

Usage

From source file:gobblin.runtime.StateStoreBasedWatermarkStorageCli.java

private void printUsage(Options options) {

    HelpFormatter formatter = new HelpFormatter();
    formatter.setOptionComparator(new Comparator<Option>() {
        @Override/*from   w  w  w . j av a2 s  .  c om*/
        public int compare(Option o1, Option o2) {
            if (o1.isRequired() && !o2.isRequired()) {
                return -1;
            }
            if (!o1.isRequired() && o2.isRequired()) {
                return 1;
            }
            return o1.getOpt().compareTo(o2.getOpt());
        }
    });

    String usage = "gobblin watermarks ";
    formatter.printHelp(usage, options);
}

From source file:gobblin.runtime.cli.CliEmbeddedGobblin.java

private void printUsage(String alias, Options options, EmbeddedGobblinCliFactory factory) {

    HelpFormatter formatter = new HelpFormatter();
    formatter.setOptionComparator(new Comparator<Option>() {
        @Override//  w ww .  j  a va 2s . c o  m
        public int compare(Option o1, Option o2) {
            if (o1.isRequired() && !o2.isRequired()) {
                return -1;
            }
            if (!o1.isRequired() && o2.isRequired()) {
                return 1;
            }
            return o1.getOpt().compareTo(o2.getOpt());
        }
    });

    String usage;
    if (Strings.isNullOrEmpty(alias)) {
        usage = "gobblin run [listQuickApps] [<quick-app>] " + factory.getUsageString();
    } else {
        usage = "gobblin run " + alias + " " + factory.getUsageString();
    }

    formatter.printHelp(usage, options);
}

From source file:com.github.mrstampy.poisonivy.PoisonIvy.java

/**
 * Prints the help message to System.out.
 *//*from w  w  w .j a  v  a  2 s  .c  o  m*/
protected void printHelpMessage() {
    out.println("Poison Ivy - Java Library Dependency Resolver and Application Launcher");
    out.println();
    out.println("Licence: GPL 2.0");
    out.println("Copyright Burton Alexander 2014");
    out.println();
    out.println("Usage: ");
    out.println();

    Options opts = getOptions();

    for (Object op : opts.getOptions()) {
        Option o = (Option) op;
        out.println("-" + o.getOpt() + (o.hasArg() ? " [ARG]" : "") + " - " + o.getDescription());
    }

    out.println();
    out.println("The required options can be put into a file named '" + POISONIVY_CONFIG + "'");
    out.println();
    printExamples();
    out.println();
    out.println("See http://mrstampy.github.io/PoisonIvy/ for more information");
}

From source file:edu.harvard.med.screensaver.io.CommandLineApplication.java

public String toString() {
    StringBuilder s = new StringBuilder();
    for (Option option : (Collection<Option>) _options.getOptions()) {
        if (_cmdLine.hasOption(option.getOpt())) {
            if (s.length() > 0) {
                s.append(", ");
            }/*w ww. j a  va  2s.c  om*/
            s.append(option.getLongOpt());
            if (option.hasArg()) {
                s.append("=").append(_cmdLine.getOptionValue(option.getOpt()));
            }
        }
    }
    return "command line options: " + s.toString();
}

From source file:com.dm.estore.server.CommandLineOptions.java

public Properties parse(final String executableName, final String[] args) {

    Properties properties = null;

    Options options = generateOptions();
    CommandLineParser parser = new BasicParser();
    try {//from w ww . j a va 2 s  .  com
        // parse the command line arguments
        CommandLine line = parser.parse(options, args);

        // validate that block-size has been set
        if (line.hasOption(CMD_HELP)) {
            HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp(executableName, options, true);
            return null;
        } else {
            properties = new Properties();

            @SuppressWarnings("unchecked")
            Iterator<Option> iter = line.iterator();
            while (iter != null && iter.hasNext()) {
                Option o = iter.next();
                String value = o.getValue();
                // if empty then set it to true to mark that it was specified
                if (value == null)
                    value = Boolean.TRUE.toString();

                if (propMap.containsKey(o.getOpt())) {
                    properties.put(propMap.get(o.getOpt()), value);
                } else {
                    properties.put(o.getOpt(), value);
                }
            }
        }
    } catch (ParseException exp) {
        // oops, something went wrong
        System.err.println("Unable to parse arguments. " + exp.getMessage());

        HelpFormatter formatter = new HelpFormatter();
        formatter.printHelp(executableName, options, true);
    }

    return properties;
}

From source file:it.crs4.seal.read_sort.MergeAlignments.java

private Map<String, String> parseReadGroupOptions(Map<String, Option> readGroupOptions, CommandLine args)
        throws ParseException {
    HashMap<String, String> fields = new HashMap<String, String>();

    for (Map.Entry<String, Option> pair : readGroupOptions.entrySet()) {
        String fieldName = pair.getKey();
        Option opt = pair.getValue();
        if (args.hasOption(opt.getOpt())) {
            fields.put(fieldName, args.getOptionValue(opt.getOpt()));
        }//  ww  w.j  av a  2  s  .c o m
    }

    if (!fields.isEmpty()) {
        if (!fields.containsKey("ID") || !fields.containsKey("SM"))
            throw new ParseException(
                    "If you specify read group tags (RG) you must specify at least id and sample");
    }
    return fields;
}

From source file:com.zimbra.cs.volume.VolumeCLI.java

private void printOpt(String optStr, int leftPad) {
    Options options = getOptions();/*ww  w.j  av  a2s  .  co  m*/
    Option opt = options.getOption(optStr);
    StringBuilder buf = new StringBuilder();
    buf.append(Strings.repeat(" ", leftPad));
    buf.append('-').append(opt.getOpt()).append(",--").append(opt.getLongOpt());
    if (opt.hasArg()) {
        buf.append(" <arg>");
    }
    buf.append(Strings.repeat(" ", 35 - buf.length()));
    buf.append(opt.getDescription());
    System.err.println(buf.toString());
}

From source file:com.greenpepper.maven.runner.CommandLineRunner.java

@SuppressWarnings("unchecked")
private List<String> parseCommandLine(String[] args)
        throws ArgumentMissingException, IOException, ParseException {
    List<String> parameters = new ArrayList<String>();
    CommandLine commandLine = argumentsParser.parse(args);
    if (commandLine != null) {
        Option[] options = commandLine.getOptions();
        for (Option option : options) {
            if ("v".equals(option.getOpt())) {
                isDebug = true;//  w  w  w.ja va2 s  .co  m
                parameters.add("--debug");
            } else if ("p".equals(option.getOpt())) {
                projectDependencyDescriptor = option.getValue();
            } else if ("m".equals(option.getOpt())) {
                usingScopes(option.getValue());
            } else if ("o".equals(option.getOpt())) {
                parameters.add("-" + option.getOpt());
                parameters.add(option.getValue());
            } else if ("r".equals(option.getOpt())) {
                parameters.add("-" + option.getOpt());
                parameters.add(option.getValue());
            } else {
                parameters.add("--" + option.getLongOpt());
                if (option.hasArg()) {
                    parameters.add(option.getValue());
                }
            }
        }
        parameters.addAll(commandLine.getArgList());
    }
    return parameters;
}

From source file:gobblin.runtime.cli.PublicMethodsCliObjectFactory.java

private void printUsage(String usage, Options options) {

    HelpFormatter formatter = new HelpFormatter();
    formatter.setOptionComparator(new Comparator<Option>() {
        @Override//from  ww  w . j  a  va2  s .c o m
        public int compare(Option o1, Option o2) {
            if (o1.isRequired() && !o2.isRequired()) {
                return -1;
            }
            if (!o1.isRequired() && o2.isRequired()) {
                return 1;
            }
            return o1.getOpt().compareTo(o2.getOpt());
        }
    });

    formatter.printHelp(usage, options);
}

From source file:cz.pecina.retro.ondra.CommandLineProcessor.java

/**
 * Creates an instance of the command line procssor.
 *
 * @param hardware the hardware object to operate on
 *///from w w w  . j  a  v a  2 s.c om
public CommandLineProcessor(final Hardware hardware) {
    log.fine("New CommandLineProcessor creation started");
    this.hardware = hardware;

    // build options
    log.fine("Building options");
    options.addOption(
            Option.builder("?").longOpt("help").desc(Application.getString(this, "option.help")).build());
    options.addOption(
            Option.builder("V").longOpt("version").desc(Application.getString(this, "option.version")).build());
    options.addOption(Option.builder("l").longOpt("language").hasArg().argName("CODE")
            .desc(Application.getString(this, "option.language")).build());
    options.addOption(Option.builder("p").longOpt("pixel-size").hasArg().argName("SIZE")
            .desc(Application.getString(this, "option.pixelSize")).build());
    options.addOption(Option.builder("a").longOpt("address").hasArg().argName("ADDR")
            .desc(Application.getString(this, "option.address")).build());
    options.addOption(Option.builder("o").longOpt("ROM-file").hasArg().argName("FILE")
            .desc(Application.getString(this, "option.ROM")).build());
    options.addOption(Option.builder("b").longOpt("binary").hasArgs().numberOfArgs(2).argName("FILE>,<ADDR")
            .valueSeparator(',').desc(Application.getString(this, "option.binary")).build());
    options.addOption(Option.builder("h").longOpt("intel-hex").hasArg().argName("FILE")
            .desc(Application.getString(this, "option.intelHex")).build());
    options.addOption(Option.builder("x").longOpt("xml").hasArg().argName("FILE")
            .desc(Application.getString(this, "option.xml")).build());
    options.addOption(Option.builder("s").longOpt("snapshot").hasArg().argName("FILE")
            .desc(Application.getString(this, "option.snapshot")).build());
    options.addOption(Option.builder("w").longOpt("write-snapshot").hasArg().argName("FILE")
            .desc(Application.getString(this, "option.writeSnapshot")).build());
    options.addOption(Option.builder("S").longOpt("speed-up").hasArg().argName("FACTOR")
            .desc(Application.getString(this, "option.speedUp")).build());
    options.addOption(
            Option.builder("g").longOpt("opengl").desc(Application.getString(this, "option.openGL")).build());
    options.addOption(Option.builder("G").longOpt("no-opengl")
            .desc(Application.getString(this, "option.noOpenGL")).build());
    log.finer("Options set up");

    // parse the command line
    final CommandLineParser parser = new DefaultParser();
    CommandLine line = null;
    try {
        line = parser.parse(options, Parameters.arguments);
    } catch (final Exception exception) {
        usage();
        error();
    }
    log.finer("Command line parsed");

    // load default snapshot if exists
    boolean success = false;
    for (String name : DEFAULT_SNAPSHOT_NAMES) {
        final File defaultSnapshot = new File(name);
        if (defaultSnapshot.canRead()) {
            try {
                new Snapshot(hardware).read(defaultSnapshot);
            } catch (final RuntimeException exception) {
                log.fine("Error reading default snapshot");
                System.out.println(Application.getString(this, "error.errorDefaultShapshot"));
                error();
            }
            log.fine("Default snapshot read from the current directory");
            success = true;
            break;
        }
    }
    if (!success) {
        for (String name : DEFAULT_SNAPSHOT_NAMES) {
            final File defaultSnapshot = new File(new File(System.getProperty("user.home")), name);
            if (defaultSnapshot.canRead()) {
                try {
                    new Snapshot(hardware).read(defaultSnapshot);
                } catch (final Exception exception) {
                    log.fine("Error reading default snapshot");
                    System.out.println(Application.getString(this, "error.errorDefaultShapshot"));
                    error();
                }
                log.fine("Default snapshot read from the user's home directory");
                break;
            }
        }
    }
    log.finer("Default files processed");

    // process the options
    if (!line.getArgList().isEmpty()) {
        usage();
        error();
    }
    if (line.hasOption("?")) {
        log.finer("Processing -?");
        usage();
        System.exit(0);
    }
    if (line.hasOption("V")) {
        log.finer("Processing -V");
        System.out.println(Application.getString(this, "longAppName") + " "
                + Application.getString(this, "version") + " @VERSION@");
        System.exit(0);
    }
    try {
        for (Option option : line.getOptions()) {
            switch (option.getOpt()) {
            case "l":
                log.finer("Processing -l");
                final String language = option.getValue();
                if (!Arrays.asList(GeneralConstants.SUPPORTED_LOCALES).contains(language)) {
                    System.out.println(Application.getString(this, "error.unsupportedLanguage"));
                    error();
                }
                UserPreferences.setLocale(language);
                break;
            case "p":
                log.finer("Processing -p");
                final int pixelSize = Integer.parseInt(option.getValue());
                if (!Arrays.asList(GeneralConstants.PIXEL_SIZES).contains(pixelSize)) {
                    System.out.println(Application.getString(this, "error.unsupportedPixelSize"));
                    error();
                }
                UserPreferences.setPixelSize(pixelSize);
                break;
            case "o":
                log.finer("Processing -o");
                fileNameROM = option.getValue();
                break;
            case "a":
                log.finer("Processing -a");
                int address = Integer.parseInt(option.getValue(), 16);
                if ((address < 0) || (address >= 0x10000)) {
                    System.out.println(Application.getString(this, "error.invalidAddress"));
                    error();
                }
                Parameters.cpu.setPC(address);
                break;
            case "b":
                log.finer("Processing -b");
                File file = new File(option.getValue(0));
                address = Integer.parseInt(option.getValue(1), 16);
                if ((address < 0) || (address >= 0x10000)) {
                    System.out.println(Application.getString(this, "error.invalidAddress"));
                    error();
                }
                new Raw(hardware, DEFAULT_BANK, DEFAULT_BANK).read(file, address);
                break;
            case "h":
                log.finer("Processing -h");
                file = new File(option.getValue());
                new IntelHEX(hardware, DEFAULT_BANK, DEFAULT_BANK).read(file);
                break;
            case "x":
                log.finer("Processing -x");
                file = new File(option.getValue());
                new XML(hardware, DEFAULT_BANK, DEFAULT_BANK).read(file);
                break;
            case "s":
                log.finer("Processing -s");
                file = new File(option.getValue());
                new Snapshot(hardware).read(file);
                break;
            case "w":
                log.finer("Processing -w");
                file = new File(option.getValue());
                new Snapshot(hardware).write(file);
                System.exit(0);
                break;
            case "S":
                log.finer("Processing -S");
                Parameters.speedUp = Integer.parseInt(option.getValue());
                if (Parameters.speedUp < 1) {
                    System.out.println(Application.getString(this, "error.nonPositiveSpeedUp"));
                    error();
                }
                break;
            case "g":
                log.finer("Processing -g");
                Parameters.openGL = true;
                break;
            case "G":
                log.finer("Processing -G");
                Parameters.openGL = false;
                break;
            }
        }
    } catch (final Exception exception) {
        usage();
        error();
    }

    log.fine("New CommandLineProcessor creation completed");
}