Uploaded image for project: 'Commons CLI'
  1. Commons CLI
  2. CLI-15

HelpFormatter does not handle groups properly

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.0
    • Fix Version/s: 1.1
    • Component/s: Help formatter
    • Labels:
      None
    • Bugzilla Id:
      19749

      Description

      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.

        Attachments

        1. ASF.LICENSE.NOT.GRANTED--HelpFormatter.java
          18 kB
          Etienne Pelletier
        2. ASF.LICENSE.NOT.GRANTED--Option.java
          18 kB
          Etienne Pelletier

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              etienne.pelletier@pegs.com Etienne Pelletier
            • Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: