[
https://issues.apache.org/jira/browse/CLI-137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12604904#action_12604904
]
Emmanuel Bourg commented on CLI-137:
------------------------------------
I tried your test Russel, it fails on CLI 1.0. I don't think your example is
right, you declare that -D has an unlimited number of arguments, so there
shouldn't be remaining arguments, the last -D option gets 3 values. Your
example would work with hasArg() instead of hasArgs().
With hasArg() the test fails on CLI 1.1, and it works on CLI 1.2 with my patch
applied.
> Change of behaviour 1.0 -> 1.1
> ------------------------------
>
> Key: CLI-137
> URL: https://issues.apache.org/jira/browse/CLI-137
> Project: Commons CLI
> Issue Type: Bug
> Components: CLI-1.x
> Affects Versions: 1.1
> Environment: Ubuntu 7.04 Feisty Fawn (JDK 1.6.0) + Commons CLI 1.0
> and 1.1
> Reporter: Russel Winder
> Priority: Blocker
> Fix For: 1.2
>
> Attachments: repeated-options.patch
>
>
> The code:
> {code}
> import org.apache.commons.cli.*;
> public class Trial {
> private void execute (String[] commandLine) throws ParseException {
> Options options = new Options();
> options.addOption (
> OptionBuilder.withLongOpt("flob").hasArg().create('F') );
> CommandLine line = new GnuParser().parse(options, commandLine);
> String[] results = line.getOptionValues('F');
> if ( results != null ) {
> for ( String s : results ) {
> System.out.println( "-F " + s );
> }
> }
> results = line.getOptionValues("flob") ;
> if ( results != null ) {
> for ( String s : results ) {
> System.out.println( "--blah " + s );
> }
> }
> String[] theRest = line.getArgs() ;
> for ( String s : theRest ) {
> System.out.print( s + " " );
> }
> System.out.println();
> }
> public static void main (String[] args) throws ParseException {
> Trial trial = new Trial() ;
> trial.execute ( new String[] { "-F1" , "-F3" , "-Fbla" , "-F 76" ,
> "--flob" , "54" } ) ;
> }
> }
> {code}
> when compiled and executed under 1.0 produces:
> trial:
> [java] -F 1
> [java] -F 3
> [java] -F bla
> [java] -F 76
> [java] -F 54
> [java]
> However, when compiled and executed under 1.1 produces:
> trial:
> [java] -F 1
> [java] --blah 1
> [java] 3 bla 76 54
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.