You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by "David DIDIER (JIRA)" <ji...@apache.org> on 2006/06/07 22:26:30 UTC

[jira] Commented: (CLI-15) [cli] HelpFormatter does not handle groups properly

    [ http://issues.apache.org/jira/browse/CLI-15?page=comments#action_12415201 ] 

David DIDIER commented on CLI-15:
---------------------------------

It seems that it was not corrected. The code below:

Option a = new Option("a", "aaa");
Option b = new Option("b", "bbb");
Option c = new Option("c", "ccc");

OptionGroup optionGroup = new OptionGroup();
optionGroup.addOption(a);
optionGroup.addOption(b);

Options options = new Options();
options.addOptionGroup(optionGroup);
options.addOption(c);

HelpFormatter formatter = new HelpFormatter();
formatter.printHelp("___", options, true);



prints:

usage: ___ [-b | -a][-c] [-a]
 -a   aaa
 -b   bbb
 -c   ccc

> [cli] HelpFormatter does not handle groups properly
> ---------------------------------------------------
>
>          Key: CLI-15
>          URL: http://issues.apache.org/jira/browse/CLI-15
>      Project: Commons CLI
>         Type: Bug

>     Versions: 1.0 Final
>  Environment: Operating System: All
> Platform: All
>     Reporter: Etienne Pelletier
>  Attachments: HelpFormatter.java, Option.java
>
> The HelpFormatter repeats Options that have previously been printed with the group.
> The problem is in the else block where options not belonging to a group are
> printed.  The code gets executed if it does not belong to a group -OR- if the
> group has already been printed.
>    if( group != null && !list.contains(group)) {
> // this gets executed when a new group is found
> ...
> } else {
>   // this gets executed if the group is OR ISN'T null, and if group is in list.  
>  ....
> }
> The else statement on line 267 should be as follows:
> } else if (group == null) {
> // This will make sure that options that have not been printed as part of a group
> // will not get printed again.
> ...
> }
> I believe this change fixes the problem.
> Also, the append on line 264 should add an extra space after the ] to make sure
> that there will be a space between the ] and the next option.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org