MissingOptionException.getMissingOptions() returns OptionGroup, not just String
-------------------------------------------------------------------------------
Key: CLI-220
URL: https://issues.apache.org/jira/browse/CLI-220
Project: Commons CLI
Issue Type: Bug
Components: CLI-1.x
Affects Versions: 1.2
Reporter: Joe Casadonte
The following code:
{code:title=Test.java|borderStyle=solid}
import java.util.List;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.GnuParser;
import org.apache.commons.cli.MissingOptionException;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.OptionGroup;
import org.apache.commons.cli.Options;
public class Test {
public static void main(String[] argv)
{
Option opt_foo =
OptionBuilder.hasArg(false)
.isRequired(true)
.withDescription("option foo")
.create("foo");
Option opt_bar =
OptionBuilder.hasArg(false)
.isRequired(false)
.withDescription("option bar")
.create("bar");
Option opt_baz =
OptionBuilder.hasArg(false)
.isRequired(false)
.withDescription("option baz")
.create("baz");
OptionGroup optgrp = new OptionGroup();
optgrp.setRequired(true);
optgrp.addOption(opt_bar)
.addOption(opt_baz);
Options optsdef = new Options();
optsdef.addOption(opt_foo)
.addOptionGroup(optgrp);
try {
CommandLineParser parser = new GnuParser();
CommandLine cmdline = parser.parse(optsdef, argv);
}
catch (MissingOptionException ex) {
List opts = ex.getMissingOptions();
for (Object option : opts) {
System.out.println("OPT: " +
option.getClass().getName());
}
}
catch (Exception ex) {
ex.printStackTrace();
System.exit(1);
}
}
}
{code}
produces the following output:
{code}
</tmp/MissingOptionException> $ javac -cp commons-cli-1.2.jar Test.java
</tmp/MissingOptionException> $ java -cp commons-cli-1.2.jar:. Test
OPT: java.lang.String
OPT: org.apache.commons.cli.OptionGroup
{code}
The JavaDoc for MissingOptionException.getMissingOptions() says:
{quote}
Return the list of options (as strings) missing in the command line parsed.
{quote}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira