List of usage examples for org.apache.commons.cli Option hasArg
public boolean hasArg()
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(" <").append(option.getArgName()).append(">"); } 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(" <").append(option.getArgName()).append(">"); } 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(" <").append(option.getArgName()).append(">"); } 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; }