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.eclim.command.Main.java

public static void usage(String cmd, PrintStream out) {
    ArrayList<org.eclim.annotation.Command> commands = new ArrayList<org.eclim.annotation.Command>();
    for (Class<? extends Command> command : Services.getCommandClasses()) {
        commands.add(command.getAnnotation(org.eclim.annotation.Command.class));
    }//from w  ww.  j  av a  2s  . c o  m
    Collections.sort(commands, new Comparator<org.eclim.annotation.Command>() {
        public int compare(org.eclim.annotation.Command o1, org.eclim.annotation.Command o2) {
            return o1.name().compareTo(o2.name());
        }
    });

    boolean cmdFound = cmd == null;
    if (cmd == null) {
        String osOpts = StringUtils.EMPTY;
        if (SystemUtils.IS_OS_UNIX) {
            osOpts = " [-f eclimrc] [--nailgun-port port]";
        }
        out.println("Usage: eclim" + osOpts + " -command command [args]");
        out.println("  To view a full list of available commands:");
        out.println("    eclim -? commands");
        out.println("  To view info for a specific command:");
        out.println("    eclim -? <command_name>");
        out.println("  Ex.");
        out.println("    eclim -? project_create");
    } else if (cmd.equals("commands")) {
        out.println("Available Commands:");
    } else {
        out.println("Requested Command:");
    }

    for (org.eclim.annotation.Command command : commands) {
        if (cmd == null || (!cmd.equals(command.name()) && !cmd.equals("commands"))) {
            continue;
        }
        cmdFound = true;

        Collection<Option> options = new Options().parseOptions(command.options());
        StringBuffer opts = new StringBuffer();
        Iterator<Option> iterator = options.iterator();
        for (int ii = 0; iterator.hasNext(); ii++) {
            Option option = iterator.next();
            opts.append(option.isRequired() ? " " : " [");
            opts.append('-').append(option.getOpt());
            if (option.hasArg()) {
                opts.append(' ').append(option.getLongOpt());
            }
            if (!option.isRequired()) {
                opts.append(']');
            }
            // wrap every 4 options
            if ((ii + 1) % 4 == 0 && ii != options.size() - 1) {
                opts.append(StringUtils.rightPad("\n", command.name().length() + 5));
            }
        }
        StringBuffer info = new StringBuffer().append("    ").append(command.name()).append(opts);
        out.println(info);
        if (!command.description().equals(StringUtils.EMPTY)) {
            out.println("      " + command.description());
        }
    }

    if (!cmdFound) {
        out.println("    No Such Command: " + cmd);
    }
}

From source file:org.finra.dm.core.ArgumentParserTest.java

@Test
public void testAddArgument() {
    Option opt1 = new Option("a", "some_flag", false, "Some flag parameter");
    Option opt2 = new Option("b", "some_parameter", true, "Some parameter with an argument");

    List<String> optionsIn = Arrays.asList(optionToString(opt1), optionToString(opt2));

    ArgumentParser argParser = new ArgumentParser("");

    argParser.addArgument(opt1, true);//from  w w w .  j  a v a  2 s.  com
    argParser.addArgument(opt2.getOpt(), opt2.getLongOpt(), opt2.hasArg(), opt2.getDescription(), false);

    Collection resultOptions = argParser.getConfiguredOptions();

    List<String> optionsOut = new ArrayList<>();

    for (Object obj : resultOptions) {
        assertTrue(obj instanceof Option);
        optionsOut.add(optionToString((Option) obj));
    }

    optionsOut.containsAll(optionsIn);
    optionsIn.containsAll(optionsOut);
}

From source file:org.finra.dm.core.ArgumentParserTest.java

@Test
public void testGetUsageInformation() {
    List<Option> optionsIn = new ArrayList<>();
    optionsIn.add(new Option("a", "some_flag", false, "Some flag parameter"));
    optionsIn.add(new Option("b", "some_parameter", true, "Some parameter with an argument"));

    ArgumentParser argParser = new ArgumentParser("TestApp");
    argParser.addArgument(optionsIn.get(0), false);
    argParser.addArgument(optionsIn.get(1), true);

    String usage = argParser.getUsageInformation();

    assertNotNull(usage);// w  w  w.  j av a2  s. c  o m
    assertTrue(usage.contains(String.format("usage: %s", argParser.getApplicationName())));

    for (Option option : optionsIn) {
        assertTrue(usage.contains(String.format("-%s,", option.getOpt())));
        assertTrue(usage.contains(String.format("--%s", option.getLongOpt())));
        assertTrue(usage.contains(option.getDescription()));
        assertTrue(!option.hasArg() || usage.contains(String.format("<%s>", option.getArgName())));
    }
}

From source file:org.finra.dm.core.ArgumentParserTest.java

/**
 * Dump state of the Option object instance, suitable for debugging and comparing Options as Strings.
 *
 * @param option the Option object instance to dump the state of
 *
 * @return Stringified form of this Option object instance
 *//*from w  w  w.  ja v  a 2s.com*/
private String optionToString(Option option) {
    StringBuilder buf = new StringBuilder();

    buf.append("[ option: ");
    buf.append(option.getOpt());

    if (option.getLongOpt() != null) {
        buf.append(" ").append(option.getLongOpt());
    }

    buf.append(" ");

    if (option.hasArg()) {
        buf.append(" [ARG]");
    }

    buf.append(" :: ").append(option.getDescription());

    if (option.isRequired()) {
        buf.append(" [REQUIRED]");
    }

    buf.append(" ]");

    return buf.toString();
}

From source file:org.finra.herd.core.ArgumentParserTest.java

@Test
public void testGetUsageInformation() {
    List<Option> optionsIn = new ArrayList<>();
    optionsIn.add(new Option("a", "some_flag", false, "Some flag parameter"));
    optionsIn.add(new Option("b", "some_parameter", true, "Some parameter with an argument"));

    ArgumentParser argParser = new ArgumentParser("TestApp");
    argParser.addArgument(optionsIn.get(0), false);
    argParser.addArgument(optionsIn.get(1), true);

    String usage = argParser.getUsageInformation();

    assertNotNull(usage);/*from  w ww  .j av a 2 s  .  c o  m*/
    assertTrue(usage.contains(String.format("usage: %s", argParser.getApplicationName())));

    for (Option option : optionsIn) {
        assertTrue(usage.contains(String.format("-%s,", option.getOpt())));
        assertTrue(usage.contains(String.format("--%s", option.getLongOpt())));
        assertTrue(usage.contains(option.getDescription()));
        assertTrue(!option.hasArg() || usage.contains("<arg>"));
    }
}

From source file:org.g_node.srv.CliOptionServiceTest.java

/**
 * Main assertions of all option arguments.
 * @param opt The actual {@link Option}.
 * @param shortOpt Short commandline argument of the current option.
 * @param longOpt Long commandline argument of the current option.
 * @param desc Description text of the current option.
 * @param isRequired Whether the current option is a required commandline argument.
 * @param hasArguments Whether the current option requires an additional argument.
 *///from   w w  w .j  a  v  a 2s .c  om
private void assertOption(final Option opt, final String shortOpt, final String longOpt, final String desc,
        final Boolean isRequired, final Boolean hasArgument, final Boolean hasArguments) {
    assertThat(opt.getOpt()).isEqualToIgnoringCase(shortOpt);
    assertThat(opt.getLongOpt()).isEqualToIgnoringCase(longOpt);
    assertThat(opt.getDescription()).contains(desc);
    assertThat(opt.isRequired()).isEqualTo(isRequired);
    assertThat(opt.hasArg()).isEqualTo(hasArgument);
    assertThat(opt.hasArgs()).isEqualTo(hasArguments);
}

From source file:org.ldaptive.cli.AbstractCli.java

/**
 * Reads the options from the supplied command line and returns a properties
 * containing those options./*w  w w  .  j a va2 s.co  m*/
 *
 * @param  domain  to place property names in
 * @param  line  command line
 *
 * @return  properties for each option and value
 */
protected Properties getPropertiesFromOptions(final String domain, final CommandLine line) {
    final Properties props = new Properties();
    for (Option o : line.getOptions()) {
        if (o.hasArg()) {
            // if provider property, split the value
            // else add the domain to the ldaptive properties
            if (o.getOpt().equals(OPT_PROVIDER_PROPERTIES)) {
                final String[] s = o.getValue().split("=");
                props.setProperty(s[0], s[1]);
            } else {
                props.setProperty(domain + o.getOpt(), o.getValue());
            }
        }
    }
    return props;
}

From source file:org.ldp4j.tutorial.client.ContactsShell.java

protected void debug(String command, CommandLine commandLine) {
    this.console.message("- Command: ").metadata(command).message("%n");
    for (Option opt : options.getOptions()) {
        if (commandLine.hasOption(opt.getOpt())) {
            if (!opt.hasArg()) {
                this.console.metadata("  + %s%n", opt.getOpt());
            } else {
                if (!opt.hasArgs()) {
                    this.console.metadata("  + %s: ", opt.getOpt()).data("%s%n",
                            commandLine.getOptionValue(opt.getOpt()));
                } else {
                    this.console.metadata("  + %s: ", opt.getOpt()).data("%s%n",
                            Arrays.toString(commandLine.getOptionValues(opt.getOpt())));
                }/*ww w  . java 2  s  . co  m*/
            }
        }
    }
    List<String> argList = commandLine.getArgList();
    if (!argList.isEmpty()) {
        this.console.metadata("  + Arguments:%n");
        for (String arg : argList) {
            this.console.metadata("    * ").data("%s%n", arg);
        }
    }
}

From source file:org.mitre.secretsharing.cli.cmd.AbstractCommand.java

protected String checkArgument(CommandLine cmd, Option o) {
    String invalid = "";
    if (!requiredArguments().contains(o))
        return invalid;
    if ((o.getOpt() == null || !cmd.hasOption(o.getOpt().charAt(0))) && !cmd.hasOption(o.getLongOpt())) {
        if (o.getOpt() != null)
            invalid += "-" + o.getOpt() + ",";
        invalid += "--" + o.getLongOpt();
        if (o.hasArg())
            invalid += " <" + o.getArgName() + ">";
        invalid += " is missing.\n";
    }//  www .  j  a v  a2s .co m
    return invalid;
}

From source file:org.pz.platypus.commandline.ClParser.java

/**
 *  Does the option expect an argument?/*from   w w w  .j av  a2  s . c  o m*/
 */
protected boolean doesOptionHaveArg(String option) {
    Option opt = options.getOption(option);
    if (opt != null) {
        return (opt.hasArg());
    }
    return (false);
}