You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Marko A. Rodriguez (JIRA)" <ji...@apache.org> on 2016/10/21 21:24:58 UTC
[jira] [Commented] (TINKERPOP-1468) GraphTraversal.optional throws
a NPE if no traversal is provided
[ 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)