[
https://issues.apache.org/jira/browse/CLI-230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13576032#comment-13576032
]
Thomas Neidhart commented on CLI-230:
-------------------------------------
Ok good, it is advised to ask questions first on the user mailinglist
([email protected]) with the prefix [cli].
The warnings you get when using the OptionBuilder are due to the fact that all
methods there are static. The 1.3 release will provide a different way to build
options using a Builder class in the Option class itself.
The problem with the required options list will need a fix though to prevent
such mistakes.
> 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