[
https://issues.apache.org/jira/browse/TINKERPOP-1468?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15596415#comment-15596415
]
Marko A. Rodriguez commented on TINKERPOP-1468:
-----------------------------------------------
This is really weird because there is no method signature that allows for no
args.
{code}
public default <E2> GraphTraversal<S, E2> optional(final Traversal<?, E2>
optionalTraversal) {
this.asAdmin().getBytecode().addStep(Symbols.optional,
optionalTraversal);
return this.asAdmin().addStep(new ChooseStep<>(this.asAdmin(),
(Traversal.Admin<E, ?>) optionalTraversal, (Traversal.Admin<E, E2>)
optionalTraversal.asAdmin().clone(), (Traversal.Admin<E, E2>)
__.<E2>identity()));
}
{code}
And its dying on the {{clone()}} call. I don't know why Groovy isn't throwing a
"no such method found exception".
> GraphTraversal.optional throws a NPE if no traversal is provided
> ----------------------------------------------------------------
>
> Key: TINKERPOP-1468
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1468
> Project: TinkerPop
> Issue Type: Bug
> Components: process
> Affects Versions: 3.2.2
> Reporter: Ted Wilmes
> Labels: trivial
>
> {{GraphTraversal.optional}} throws a NPE if no traversal is provided. We
> should probably throw a friendlier exception with instructions to provide a
> traversal as an argument.
> {code}
> gremlin> g.V().optional()
> java.lang.NullPointerException
> Type ':help' or ':h' for help.
> Display stack trace? [yN]y
> java.lang.NullPointerException
> at
> org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal.optional(GraphTraversal.java:1316)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)