commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Henri Yandell (JIRA)" <j...@apache.org>
Subject [jira] Closed: (CLI-145) ArgumentBuilder.withMaximum causes parse errors: Unexpeced <value> while processing options
Date Mon, 09 Jun 2008 07:27:45 GMT

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

Henri Yandell closed CLI-145.
-----------------------------

    Resolution: Fixed

svn ci -m "Applying Brian Egge's patch to CLI-145, fixing things so the withMinimum/withMaximum
works correctly" src
Sending        src/java/org/apache/commons/cli2/OptionException.java
Sending        src/java/org/apache/commons/cli2/option/ArgumentImpl.java
Adding         src/test/org/apache/commons/cli2/bug/BugCLI145Test.java
Sending        src/test/org/apache/commons/cli2/bug/BugLoopingOptionLookAlikeTest.java
Transmitting file data ....
Committed revision 664644.

> ArgumentBuilder.withMaximum causes parse errors: Unexpeced <value> while processing
options
> -------------------------------------------------------------------------------------------
>
>                 Key: CLI-145
>                 URL: https://issues.apache.org/jira/browse/CLI-145
>             Project: Commons CLI
>          Issue Type: Bug
>          Components: CLI-2.x
>         Environment: Windows XP
>            Reporter: David Biesack
>             Fix For: 2.0
>
>         Attachments: CLI145.patch
>
>
> With the sample program below, running with the arguments
>   -a 0 -b 1 2 3 4
> causes the error:
> Unexpected 3 while processing options                                           
> Usage:                                                                          
>  [-a <a1> [<a2> ...] -b <b1> <b2> [<b3> [<b4>]]]
                               
> options                                                                         
>   -a (--a) a [a ...]                                                            
>   -b (--b) b b [b [b]]                                                          
> I specified .withMinimum(2).withMaximum(4) 
> The help is correct, but the value '3' is not added as a value.
> Note also that if for bOption, if you add two more defaults (uncomment them in the source)
>             .withDefault("10000")
>             .withDefault("1000000")
> an error is raised (incorrectly) on the first b value (i.e. 1 instead of 3) :
> Unexpected 1 while processing options         
> Usage:                                                                          
>  [-a <a1> [<a2> ...] -b <b1> <b2> [<b3> [<b4>]]]
                               
> options                                                                         
>   -a (--a) a [a ...]                                                            
>   -b (--b) b b [b [b]]
> Source:
> package org.apache.commons.cli2.issues;
> import java.util.List;
> import org.apache.commons.cli2.CommandLine;
> import org.apache.commons.cli2.Group;
> import org.apache.commons.cli2.builder.ArgumentBuilder;
> import org.apache.commons.cli2.builder.DefaultOptionBuilder;
> import org.apache.commons.cli2.builder.GroupBuilder;
> import org.apache.commons.cli2.commandline.Parser;
> import org.apache.commons.cli2.option.DefaultOption;
> public class WithMinimum
> {
>    public static void main(String[] args)
>    {
>       final DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
>       final ArgumentBuilder abuilder = new ArgumentBuilder();
>       final GroupBuilder gbuilder = new GroupBuilder();
>       DefaultOption aOption = obuilder//
>             .withShortName("a")
>             .withLongName("a")
>             .withArgument(abuilder
>                   .withName("a")
>                   .withDefault("10")
>                   .create())
>             .create();
>       DefaultOption bOption = obuilder
>       .withShortName("b")
>       .withLongName("b")
>       .withArgument(abuilder
>             .withName("b")
>             .withMinimum(2)
>             .withMaximum(4)
>             .withDefault("100")
>             .withDefault("1000")
> //            .withDefault("10000")
> //            .withDefault("1000000")
>             .create())
>       .create();
>       Group options = gbuilder
>             .withName("options")
>             .withOption(aOption)
>             .withOption(bOption)
>             .create();
>       Parser parser = new Parser();
>       parser.setHelpTrigger("--help");
>       parser.setGroup(options);
>       CommandLine cl = parser.parseAndHelp(args);
>       if (cl == null)
>          System.exit(1);
>       int a = Integer.parseInt(cl.getValue(aOption).toString());
>       List b = cl.getValues(bOption);
>       System.out.printf("a=%d b=%s%n", a, b);
>    }
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message