[ 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