[
https://issues.apache.org/jira/browse/CLI-317?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17749753#comment-17749753
]
Sruteesh Kumar Paramata commented on CLI-317:
---------------------------------------------
[~ggregory]
In the deprecated OptionBuilder(), hasOptionalArg() is setting the argCount to
1 where as the Option.builder().optionalArg(boolean flag) isn't setting the
argCount if the flag is true. This is most probably causing the
NullPointerException.
Please confirm if the argCount isn't set intentionally. If that is
unintentional, I'll create a new Jira issue regarding the optionalArg method.
You can assign me that Jira and I will fix it and raise PR. If that is
intentional, I can upgrade this particular test case to new Option.builder()
and fix the NullPointerException
> NullPointerException thrown by CommandLineParser.parse()
> --------------------------------------------------------
>
> Key: CLI-317
> URL: https://issues.apache.org/jira/browse/CLI-317
> Project: Commons CLI
> Issue Type: Bug
> Components: Parser
> Affects Versions: 1.5.0
> Reporter: Philippe Bastiani
> Priority: Critical
> Labels: exception
>
> # First at all, your *testAmbiguousLongWithoutEqualSingleDash* does not lead
> to a AmbiguousOptionException
> # For this same test, if I replace the deprecated OptionBuilder with
> Option.Builder as follows
> {code:java}
> options.addOption(Option.builder().option("f").longOpt("foo").optionalArg(true).build());
> options.addOption(Option.builder().option("b").longOpt("bar").optionalArg(false).build());
> {code}
> the test leads to a NPE
> {code:java}
> java.lang.NullPointerException
> at xx.DefaultParser.handleShortAndLongOption(DefaultParser.java:476)
> at xx.DefaultParser.handleToken(DefaultParser.java:535)
> at xx.DefaultParser.parse(DefaultParser.java:714)
> at xx.DefaultParser.parse(DefaultParser.java:677)
> at xx.DefaultParser.parse(DefaultParser.java:654)
> {code}
> _Note_ : tested with Github code (January 22, 2023)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)