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)