[ 
https://issues.apache.org/jira/browse/CLI-230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thomas Neidhart resolved CLI-230.
---------------------------------

       Resolution: Fixed
    Fix Version/s: 1.3

Applied changes in r1444940.

Also added a clarifying statement in Option javadoc wrt changing the required 
flag after the option has been added to Options.
                
> Unable to properly require options
> ----------------------------------
>
>                 Key: CLI-230
>                 URL: https://issues.apache.org/jira/browse/CLI-230
>             Project: Commons CLI
>          Issue Type: Bug
>          Components: CLI-1.x, Options definition
>    Affects Versions: 1.2
>         Environment: windows jdk1.6.0_21
>            Reporter: Alexander Fast
>             Fix For: 1.3
>
>
> Having some problems setting options as required. Have I misunderstood the 
> documentation?
>  * In test1() the option is required but also supplied, I expect to get no 
> exceptions.
>  * In test2() the option is required but *not* supplied, I expect to get an 
> exception.
> {code:java}
> public class Testing {
>     public static void main(String[] args) {
>         System.out.println("Begin test 1");
>         test1();
>         System.out.println("End test 1");
>         System.out.println("Begin test 2");
>         test2();
>         System.out.println("End test 2");
>     }
>     private static void test1() {
>         String[] args = new String[] { "--foo" };
>         Options options = new Options();
>         options.addOption("f", "foo", false, "");
>         options.getRequiredOptions().add(options.getOption("foo"));
>         GnuParser parser = new GnuParser();
>         try {
>             parser.parse(options, args);
>         } catch (ParseException e) {
>             // didn't expect to get MissingOptionException here
>             System.out.println("ERROR: " + e.getMessage());
>         }
>     }
>     private static void test2() {
>         String[] args = new String[] { };
>         Options options = new Options();
>         options.addOption("f", "foo", false, "");
>         options.getOption("f").setRequired(true);
>         GnuParser parser = new GnuParser();
>         try {
>             parser.parse(options, args);
>         } catch (ParseException e) {
>             // expected to get MissingOptionException here
>             System.out.println("ERROR: " + e.getMessage());
>         }
>     }
> }
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to