-
-
Notifications
You must be signed in to change notification settings - Fork 87
Closed
Description
ArcadeDB Version: 22.8.1
JDK Version: Oracle Corporation v11.0.2 build 11.0.2+9 (2019-01-15) - class version 55.0
OS: MacOS 12.4
Expected behavior
ArcadeGraph.vertices( ids... String ) to return only vertices
Actual behavior
the query in ArcadeGraph.vertices() implementation do not query only vertices, but will also return edges, which causes a ClassCastException on line 212:
return resultset.stream()
.map(result -> (Vertex) new ArcadeVertex(this, (com.arcadedb.graph.Vertex) (result.toElement())))
.iterator();
The problem is: (com.arcadedb.graph.Vertex) (result.toElement())
Steps to reproduce
Create Vertices and Edges with properties, where vertices and the the edge have the same label identifier. Do a graph traversal:
com.arcadedb.database.Database database = databaseServer().getDatabase( "debug-db-2", true, true );
org.apache.tinkerpop.gremlin.arcadedb.structure.ArcadeGraph graph =
org.apache.tinkerpop.gremlin.arcadedb.structure.ArcadeGraph.open( database );
GraphTraversalSource g =
AnonymousTraversalSource
.traversal()
.withEmbedded( graph )
;
org.apache.tinkerpop.gremlin.structure.Vertex _v1 = g.addV( "l1" ).property( "[test]", "sallad" ).next();
org.apache.tinkerpop.gremlin.structure.Vertex _v2 = g.addV( "l1" ).property( "[test]", "sallad" ).next();
g.addE( "l1" ).from( _v1 ).to( _v2 ).property( "[test]", "sallad" ).iterate();
g.V()
.has( "[test]", org.apache.tinkerpop.gremlin.process.traversal.P.within( "sallad" ) )
.forEachRemaining( v -> {
System.out.println( v + " --> " + " " );
} );
---- Exception details ----
java.lang.ClassCastException: class com.arcadedb.graph.MutableEdge cannot be cast to class com.arcadedb.graph.Vertex (com.arcadedb.graph.MutableEdge and com.arcadedb.graph.Vertex are in unnamed module of loader 'app')
java.lang.ClassCastException: class com.arcadedb.graph.MutableEdge cannot be cast to class com.arcadedb.graph.Vertex (com.arcadedb.graph.MutableEdge and com.arcadedb.graph.Vertex are in unnamed module of loader 'app')
at org.apache.tinkerpop.gremlin.arcadedb.structure.ArcadeGraph.lambda$vertices$0(ArcadeGraph.java:212) ~[arcadedb-gremlin-22.8.1.jar:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[?:?]
at com.arcadedb.query.sql.executor.ResultSet.tryAdvance(ResultSet.java:60) ~[arcadedb-engine-22.8.1.jar:?]
at java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:294) ~[?:?]
at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206) ~[?:?]
at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:169) ~[?:?]
at java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300) ~[?:?]
at java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681) ~[?:?]
at org.apache.tinkerpop.gremlin.process.traversal.step.map.GraphStep.processNextStart(GraphStep.java:149) ~[gremlin-core-3.5.1.jar:3.5.1]
at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:150) ~[gremlin-core-3.5.1.jar:3.5.1]
at org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.next(ExpandableStepIterator.java:55) ~[gremlin-core-3.5.1.jar:3.5.1]
at org.apache.tinkerpop.gremlin.process.traversal.step.filter.FilterStep.processNextStart(FilterStep.java:37) ~[gremlin-core-3.5.1.jar:3.5.1]
at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:135) ~[gremlin-core-3.5.1.jar:3.5.1]
at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:40) ~[gremlin-core-3.5.1.jar:3.5.1]
at org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.next(DefaultTraversal.java:230) ~[gremlin-core-3.5.1.jar:3.5.1]
at org.apache.tinkerpop.gremlin.process.traversal.Traversal.forEachRemaining(Traversal.java:278) ~[gremlin-core-3.5.1.jar:3.5.1]
at test.lambda$0(TestEmbeddedDatabaserServer2.java:139) ~[classes/:?]
at io.vertx.core.impl.ContextImpl.lambda$null$0(ContextImpl.java:159) ~[vertx-core-4.3.1.jar:4.3.1]
at io.vertx.core.impl.AbstractContext.dispatch(AbstractContext.java:101) ~[vertx-core-4.3.1.jar:4.3.1]
at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$1(ContextImpl.java:157) ~[vertx-core-4.3.1.jar:4.3.1]
at io.vertx.core.impl.TaskQueue.run(TaskQueue.java:76) ~[vertx-core-4.3.1.jar:4.3.1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.77.Final.jar:4.1.77.Final]
at java.lang.Thread.run(Thread.java:834) [?:?]
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working