You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Oliver Heger (JIRA)" <ji...@apache.org> on 2008/07/15 22:25:32 UTC

[jira] Updated: (CLI-6) [cli] Unknown options are ignored instead of throwing UnrecognizedOptionException

     [ https://issues.apache.org/jira/browse/CLI-6?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oliver Heger updated CLI-6:
---------------------------

    Attachment: cli-6.patch

The problem does not exist in CLI2. The ParserTest class contains a test for verifying that an unknown option throws an exception. In the attached patch I added an additional test case for an unknown short option - just to be on the save side.

So this issue does not affect CLI2.

> [cli] Unknown options are ignored instead of throwing UnrecognizedOptionException
> ---------------------------------------------------------------------------------
>
>                 Key: CLI-6
>                 URL: https://issues.apache.org/jira/browse/CLI-6
>             Project: Commons CLI
>          Issue Type: Bug
>          Components: CLI-2.x
>    Affects Versions: 1.0
>         Environment: Operating System: All
> Platform: Other
>            Reporter: Peter Kunszt
>             Fix For: 2.0
>
>         Attachments: cli-6.patch, patch
>
>
> CLI does not handle unknown options, i.e. throw an 'UnrecognizedOptionException'.
> The reason is that the logic of PosixParser.processOptionToken() is incomplete:
>         if (this.options.hasOption(token))
>         {
>             currentOption = this.options.getOption(token);
>             tokens.add(token);
>         }
>         else if (stopAtNonOption)
>         {
>             eatTheRest = true;
>         }
> ie. if the stopAtNonOption is not set and the token is unknown, it
> will be ignored. there has to be a default case added:
>           else {
>             tokens.add(token);
>         }
> in which case the caller will throw the proper exception, because
> in Parse there is another check whether the option exists.
> i would've submitted a patch but did not find where to, sorry.
> peter

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.