[
https://issues.apache.org/jira/browse/CLI-137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12600844#action_12600844
]
Russel Winder commented on CLI-137:
-----------------------------------
Someone reformated my code, it now looks really ugly ;-)
The problem is that the 1.1 implementation doesn't match the semantics
specified, so you go and change all the code to the new semantics and you find
you can't have multiple options and if you try it eats all the parameters
whether they are options or not.
> 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
>
>
> 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.