[ https://issues.apache.org/jira/browse/CLI-230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13575882#comment-13575882 ]
Alexander Fast commented on CLI-230: ------------------------------------ {quote} Actually, Options.getRequiredOptions() should return an unmodifiable list, adding there something really breaks some internal logic. {quote} Agreed, I thought that was strange as well (got warnings about unchecked when adding typed stuff to the list). > 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 > > 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