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

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

Introduction

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

Prototype

public boolean hasArg() 

Source Link

Document

Query to see if this Option requires an argument

Usage

From source file:org.apache.flink.table.client.config.entries.DeploymentEntry.java

/**
 * Parses the given command line options from the deployment properties. Ignores properties
 * that are not defined by options./*from   www  . ja v a  2 s.c  om*/
 */
public CommandLine getCommandLine(Options commandLineOptions) throws Exception {
    final List<String> args = new ArrayList<>();

    properties.asMap().forEach((k, v) -> {
        // only add supported options
        if (commandLineOptions.hasOption(k)) {
            final Option o = commandLineOptions.getOption(k);
            final String argument = "--" + o.getLongOpt();
            // options without args
            if (!o.hasArg()) {
                final Boolean flag = Boolean.parseBoolean(v);
                // add key only
                if (flag) {
                    args.add(argument);
                }
            }
            // add key and value
            else if (!o.hasArgs()) {
                args.add(argument);
                args.add(v);
            }
            // options with multiple args are not supported yet
            else {
                throw new IllegalArgumentException("Option '" + o + "' is not supported yet.");
            }
        }
    });

    return CliFrontendParser.parse(commandLineOptions, args.toArray(new String[args.size()]), true);
}

From source file:org.apache.geronimo.cli.PrintHelper.java

public void printUsage(PrintWriter pw, int width, String app, Options options) {
    // create a list for processed option groups
    ArrayList list = new ArrayList();

    StringBuilder optionsBuff = new StringBuilder();

    // temp variable
    Option option;

    // iterate over the options
    for (Iterator i = options.getOptions().iterator(); i.hasNext();) {
        // get the next Option
        option = (Option) i.next();

        // check if the option is part of an OptionGroup
        OptionGroup group = options.getOptionGroup(option);

        // if the option is part of a group and the group has not already
        // been processed
        if (group != null && !list.contains(group)) {

            // add the group to the processed list
            list.add(group);/*  www  .  j ava  2  s. c o  m*/

            // get the names of the options from the OptionGroup
            Collection names = group.getNames();

            optionsBuff.append("[");

            // for each option in the OptionGroup
            for (Iterator iter = names.iterator(); iter.hasNext();) {
                optionsBuff.append(iter.next());
                if (iter.hasNext()) {
                    optionsBuff.append("|");
                }
            }
            optionsBuff.append("] ");
        } else if (group == null) {
            // if the Option is not part of an OptionGroup
            // if the Option is not a required option
            if (!option.isRequired()) {
                optionsBuff.append("[");
            }

            if (!" ".equals(option.getOpt())) {
                optionsBuff.append("-").append(option.getOpt());
            } else {
                optionsBuff.append("--").append(option.getLongOpt());
            }

            if (option.hasArg()) {
                optionsBuff.append(" ");
            }

            // if the Option has a value
            if (option.hasArg()) {
                optionsBuff.append(option.getArgName());
            }

            // if the Option is not a required option
            if (!option.isRequired()) {
                optionsBuff.append("]");
            }
            optionsBuff.append(" ");
        }
    }

    app = app.replace("$options", optionsBuff.toString());

    // call printWrapped
    printWrapped(pw, width, app.indexOf(' ') + 1, app);
}

From source file:org.apache.geronimo.cli.PrintHelper.java

protected StringBuilder renderOptions(StringBuilder sb, int width, Options options, int leftPad, int descPad,
        boolean displayDesc) {
    final String lpad = createPadding(leftPad);
    final String dpad = createPadding(descPad);

    //first create list containing only <lpad>-a,--aaa where -a is opt and --aaa is
    //long opt; in parallel look for the longest opt string
    //this list will be then used to sort options ascending
    int max = 0;/* ww  w.ja v a 2s.com*/
    StringBuilder optBuf;
    List prefixList = new ArrayList();
    Option option;
    List optList = new ArrayList(options.getOptions());
    Collections.sort(optList, new StringBuilderComparator());
    for (Iterator i = optList.iterator(); i.hasNext();) {
        option = (Option) i.next();
        optBuf = new StringBuilder(8);

        if (option.getOpt().equals(" ")) {
            optBuf.append(lpad).append("   " + defaultLongOptPrefix).append(option.getLongOpt());
        } else {
            optBuf.append(lpad).append(defaultOptPrefix).append(option.getOpt());
            if (option.hasLongOpt()) {
                optBuf.append(',').append(defaultLongOptPrefix).append(option.getLongOpt());
            }

        }

        if (option.hasArg()) {
            if (option.hasArgName()) {
                optBuf.append(" <").append(option.getArgName()).append('>');
            } else {
                optBuf.append(' ');
            }
        }

        prefixList.add(optBuf);
        max = optBuf.length() > max ? optBuf.length() : max;
    }
    int x = 0;
    for (Iterator i = optList.iterator(); i.hasNext();) {
        option = (Option) i.next();
        optBuf = new StringBuilder(prefixList.get(x++).toString());

        if (optBuf.length() < max) {
            optBuf.append(createPadding(max - optBuf.length()));
        }
        optBuf.append(dpad);

        if (displayDesc) {
            optBuf.append(option.getDescription());
        }
        int nextLineTabStop = max + descPad;
        renderWrappedText(sb, width, nextLineTabStop, optBuf.toString());
        if (i.hasNext()) {
            sb.append(defaultNewLine);
            if (displayDesc) {
                sb.append(defaultNewLine);
            }
        }
    }

    return sb;
}

From source file:org.apache.hadoop.hbase.regionserver.DataBlockEncodingTool.java

private static void printUsage(Options options) {
    System.err.println("Usage:");
    System.err.println(String.format("./hbase %s <options>", DataBlockEncodingTool.class.getName()));
    System.err.println("Options:");
    for (Object it : options.getOptions()) {
        Option opt = (Option) it;
        if (opt.hasArg()) {
            System.err//from   www  .  ja v  a  2 s  . c  om
                    .println(String.format("-%s %s: %s", opt.getOpt(), opt.getArgName(), opt.getDescription()));
        } else {
            System.err.println(String.format("-%s: %s", opt.getOpt(), opt.getDescription()));
        }
    }
}

From source file:org.apache.marmotta.loader.core.MarmottaLoader.java

public static Configuration parseOptions(String[] args) throws ParseException {
    Options options = buildOptions();/*from  w w w . j  a va2  s.co m*/

    CommandLineParser parser = new PosixParser();
    CommandLine cmd = parser.parse(options, args);

    Configuration result = new MapConfiguration(new HashMap<String, Object>());

    if (cmd.hasOption('B')) {
        // check backends
        Set<String> existing = Sets
                .newHashSet(Iterators.transform(backends.iterator(), new BackendIdentifierFunction()));
        if (!existing.contains(cmd.getOptionValue('B'))) {
            throw new ParseException("the backend " + cmd.getOptionValue('B') + " does not exist");
        }

        result.setProperty(LoaderOptions.BACKEND, cmd.getOptionValue('B'));
    }

    if (cmd.hasOption('b')) {
        result.setProperty(LoaderOptions.BASE_URI, cmd.getOptionValue('b'));
    }

    if (cmd.hasOption('z')) {
        result.setProperty(LoaderOptions.COMPRESSION, CompressorStreamFactory.GZIP);
    }

    if (cmd.hasOption('j')) {
        result.setProperty(LoaderOptions.COMPRESSION, CompressorStreamFactory.BZIP2);
    }

    if (cmd.hasOption('c')) {
        result.setProperty(LoaderOptions.CONTEXT, cmd.getOptionValue('c'));
    }

    if (cmd.hasOption('t')) {
        RDFFormat fmt = getRDFFormat(cmd.getOptionValue('t'));
        if (fmt == null) {
            throw new ParseException("unrecognized MIME type: " + cmd.getOptionValue('t'));
        }

        result.setProperty(LoaderOptions.FORMAT, fmt.getDefaultMIMEType());
    }

    if (cmd.hasOption('f')) {
        result.setProperty(LoaderOptions.FILES, Arrays.asList(cmd.getOptionValues('f')));
    }

    if (cmd.hasOption('d')) {
        result.setProperty(LoaderOptions.DIRS, Arrays.asList(cmd.getOptionValues('d')));
    }

    if (cmd.hasOption('a')) {
        result.setProperty(LoaderOptions.ARCHIVES, Arrays.asList(cmd.getOptionValues('a')));
    }

    if (cmd.hasOption('s')) {
        result.setProperty(LoaderOptions.STATISTICS_ENABLED, true);
        result.setProperty(LoaderOptions.STATISTICS_GRAPH, cmd.getOptionValue('s'));
    }

    if (cmd.hasOption('D')) {
        for (Map.Entry e : cmd.getOptionProperties("D").entrySet()) {
            result.setProperty(e.getKey().toString(), e.getValue());
        }
    }

    for (LoaderBackend b : backends) {
        for (Option option : b.getOptions()) {
            if (cmd.hasOption(option.getOpt())) {
                String key = String.format("backend.%s.%s", b.getIdentifier(),
                        option.getLongOpt() != null ? option.getLongOpt() : option.getOpt());
                if (option.hasArg()) {
                    if (option.hasArgs()) {
                        result.setProperty(key, Arrays.asList(cmd.getOptionValues(option.getOpt())));
                    } else {
                        result.setProperty(key, cmd.getOptionValue(option.getOpt()));
                    }
                } else {
                    result.setProperty(key, true);
                }
            }
        }
    }

    return result;
}

From source file:org.apache.maven.cli.CLIManagerDocumentationTest.java

public String getOptionsAsHtml() {
    StringBuilder sb = new StringBuilder(512);
    boolean a = true;
    sb.append(/*w  w w.  j  a v  a2  s .co  m*/
            "<table border='1' class='zebra-striped'><tr class='a'><th><b>Options</b></th><th><b>Description</b></th></tr>");
    for (Option option : new CLIManagerExtension().getOptions()) {
        a = !a;
        sb.append("<tr class='").append(a ? 'a' : 'b').append("'><td><code>-<a name='");
        sb.append(option.getOpt());
        sb.append("'>");
        sb.append(option.getOpt());
        sb.append("</a>,--<a name='");
        sb.append(option.getLongOpt());
        sb.append("'>");
        sb.append(option.getLongOpt());
        sb.append("</a>");
        if (option.hasArg()) {
            if (option.hasArgName()) {
                sb.append(" &lt;").append(option.getArgName()).append("&gt;");
            } else {
                sb.append(' ');
            }
        }
        sb.append("</code></td><td>");
        sb.append(option.getDescription());
        sb.append("</td></tr>");
        sb.append(LS);
    }
    sb.append("</table>");
    return sb.toString();
}

From source file:org.apache.maven.cli.CLIManagerTest.java

public String getOptionsAsHtml() {
    StringBuilder sb = new StringBuilder();
    boolean a = true;
    sb.append(//from   w  ww.ja  va 2  s .c  om
            "<table border='1' class='zebra-striped'><tr class='a'><th><b>Options</b></th><th><b>Description</b></th></tr>");
    for (Option option : new CLIManagerExtension().getOptions()) {
        a = !a;
        sb.append("<tr class='").append(a ? 'a' : 'b').append("'><td><code>-<a name='");
        sb.append(option.getOpt());
        sb.append("'>");
        sb.append(option.getOpt());
        sb.append("</a>,--<a name='");
        sb.append(option.getLongOpt());
        sb.append("'>");
        sb.append(option.getLongOpt());
        sb.append("</a>");
        if (option.hasArg()) {
            if (option.hasArgName()) {
                sb.append(" &lt;").append(option.getArgName()).append("&gt;");
            } else {
                sb.append(' ');
            }
        }
        sb.append("</code></td><td>");
        sb.append(option.getDescription());
        sb.append("</td></tr>");
        sb.append(LS);
    }
    sb.append("</table>");
    return sb.toString();
}

From source file:org.apache.maven.index.cli.NexusIndexerCliTest.java

public String getOptionsAsHtml() {
    @SuppressWarnings("unchecked")
    List<Option> optList = new ArrayList<Option>(new NexusIndexerCli().buildDefaultCliOptions().getOptions());
    Collections.sort(optList, new OptionComparator());

    StringBuilder sb = new StringBuilder();
    boolean a = true;
    sb.append(// w  w w. j a va2s  .c  o m
            "<table border='1' class='zebra-striped'><tr class='a'><th><b>Options</b></th><th><b>Description</b></th></tr>");
    for (Option option : optList) {
        a = !a;
        sb.append("<tr class='").append(a ? 'a' : 'b').append("'><td><code>-<a name='");
        sb.append(option.getOpt());
        sb.append("'>");
        sb.append(option.getOpt());
        sb.append("</a>,--<a name='");
        sb.append(option.getLongOpt());
        sb.append("'>");
        sb.append(option.getLongOpt());
        sb.append("</a>");
        if (option.hasArg()) {
            if (option.hasArgName()) {
                sb.append(" &lt;").append(option.getArgName()).append("&gt;");
            } else {
                sb.append(' ');
            }
        }
        sb.append("</code></td><td>");
        sb.append(option.getDescription());
        sb.append("</td></tr>");
        sb.append(LS);
    }
    sb.append("</table>");
    return sb.toString();
}

From source file:org.brutusin.wava.main.peer.SubmitMain.java

private static int getCommandStart(Options options, String[] args) {
    for (int i = 0; i < args.length; i++) {
        String arg = args[i];/*  w  ww  .j  a v  a 2 s. c o m*/
        Option option = options.getOption(arg);
        if (option == null) {
            return i;
        }
        if (option.hasArg()) {
            i++;
        }
    }
    return -1;
}

From source file:org.eclim.annotation.CommandListingProcessor.java

public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment env) {
    Options options = new Options();
    Pattern pattern = null;// w  w  w . ja va 2s  .  com
    String filter = this.processingEnv.getOptions().get("filter");
    if (filter != null) {
        pattern = Pattern.compile(filter);
    }
    for (TypeElement element : annotations) {
        for (Element e : env.getElementsAnnotatedWith(element)) {
            Command command = e.getAnnotation(Command.class);
            if (pattern == null || pattern.matcher(command.name()).matches()) {
                Collection<Option> opts = options.parseOptions(command.options());
                System.out.print(command.name());
                for (Option opt : opts) {
                    String display = "-" + opt.getOpt();
                    if (opt.hasArg()) {
                        display += " " + opt.getLongOpt();
                    }
                    if (opt.isRequired()) {
                        System.out.print(" " + display);
                    } else {
                        System.out.print(" [" + display + "]");
                    }
                }
                System.out.println("\n\tclass: " + e);
            }
        }
    }
    return true;
}