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