You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2021/02/19 20:02:00 UTC

[jira] [Commented] (TINKERPOP-2513) Generics insufficiently strict on property()

    [ https://issues.apache.org/jira/browse/TINKERPOP-2513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17287334#comment-17287334 ] 

ASF GitHub Bot commented on TINKERPOP-2513:
-------------------------------------------

spmallette opened a new pull request #1393:
URL: https://github.com/apache/tinkerpop/pull/1393


   https://issues.apache.org/jira/browse/TINKERPOP-2513
   
   Focused mostly on addE() with property() cardinality and improper from()/to() usage. This is a bit of a patch for the exact issues described in the JIRA, but probably needs to be implemented more generally as described in TINKERPOP-800. I targetted 3.5.0 with this since it does introduce some new exceptions which could be helpful to users but might also make their upgrades more challenging. As we look to release 3.5.0 shortly and likely focus more efforts there this seems like a safe move. 
   
   All tests pass with `docker/build.sh -t -n -i`
   
   VOTE +1


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> Generics insufficiently strict on property()
> --------------------------------------------
>
>                 Key: TINKERPOP-2513
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2513
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: process
>    Affects Versions: 3.4.9
>            Reporter: Christopher Smith
>            Priority: Major
>
> The method 
> {code:java}
> GraphTraversal<S, E> property(final VertexProperty.Cardinality cardinality, final Object key, final Object value, final Object... keyValues)
> {code}
> can be applied to any "current traversal location", whether that's a vertex or an edge. However, if this _particular_ signature is applied to an edge with _either_ (inclusive) {{cardinality}} or {{keyValues}} specified, it produces a {{ClassCastException}} when evaluated at {{AddPropertyStep.java:151}}. I understand entirely that multi-properties may not be supported on edges, but inadvertently adding {{single}} should, if an error, produce a compile-time error instead of a runtime {{ClassCastException}}. (At a minimum, a useful runtime exception should be thrown to indicate the semantic problem.)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)