[ https://issues.apache.org/jira/browse/CLI-220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Emmanuel Bourg updated CLI-220: ------------------------------- Component/s: Documentation Priority: Minor (was: Major) Fix Version/s: 1.3 Thank you for the detailed report Joe. The javadoc should be updated to reflect this. > 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, Documentation > Affects Versions: 1.2 > Reporter: Joe Casadonte > Priority: Minor > Fix For: 1.3 > > > 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