*cheer Emmanuel* On Thu, May 29, 2008 at 6:40 AM, Emmanuel Bourg (JIRA) <[EMAIL PROTECTED]> wrote: > > [ > https://issues.apache.org/jira/browse/CLI-156?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel > ] > > Emmanuel Bourg resolved CLI-156. > -------------------------------- > > Resolution: Fixed > >> Missing required options not throwing MissingOptionException >> ------------------------------------------------------------ >> >> Key: CLI-156 >> URL: https://issues.apache.org/jira/browse/CLI-156 >> Project: Commons CLI >> Issue Type: Bug >> Components: Parser >> Affects Versions: 1.1 >> Reporter: Jeremy Wilde >> Priority: Trivial >> Fix For: 1.2 >> >> >> When an Options object is used to parse a second set of command arguments it >> won't throw a MissingOptionException. >> {code:java} >> import org.apache.commons.cli.CommandLine; >> import org.apache.commons.cli.GnuParser; >> import org.apache.commons.cli.OptionBuilder; >> import org.apache.commons.cli.Options; >> import org.apache.commons.cli.ParseException; >> public class Example >> { >> public static void main(String[] args) throws ParseException >> { >> brokenExample(); >> workingExample(); >> } >> // throws exception as expected >> private static void workingExample() throws ParseException >> { >> String[] args = {}; >> Options opts = new Options(); >> opts.addOption(OptionBuilder.isRequired().create('v')); >> GnuParser parser = new GnuParser(); >> CommandLine secondCL = parser.parse(opts, args); >> System.out.println("Done workingExample"); >> } >> // fails to throw exception on second invocation of parse >> private static void brokenExample() throws ParseException >> { >> String[] firstArgs = { "-v" }; >> String[] secondArgs = {}; >> Options opts = new Options(); >> opts.addOption(OptionBuilder.isRequired().create('v')); >> GnuParser parser = new GnuParser(); >> CommandLine firstCL = parser.parse(opts, firstArgs); >> CommandLine secondCL = parser.parse(opts, secondArgs); >> System.out.println("Done brokenExample"); >> } >> } >> {code} >> This is a result of the Options object returning the reference to its own >> list and the parsers modifying that list. The first call is removing the >> required options as they are found and subsequent calls get back an empty >> list. > > -- > This message is automatically generated by JIRA. > - > You can reply to this email to add a comment to the issue online. > >
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]