-
Notifications
You must be signed in to change notification settings - Fork 37
Closed
Labels
Description
Description
Trying to retrieve subtypes of meta types throws with an incorrect cast exception.
Environment
Client-java Master (1.7.2) tests
Reproducible Steps
Create this test somewhere in client-java
@Test
public void subtypes() {
GraknClient.Session session = client.session("subs");
GraknClient.Transaction tx = session.transaction().write();
tx.execute(Graql.parse(" define name sub attribute, value string;").asDefine());
tx.commit();
tx = session.transaction().write();
List<? extends SchemaConcept.Remote<?>> subs = tx.getSchemaConcept(Label.of("thing")).subs().collect(Collectors.toList());
System.out.println(subs);
}
Expected Output
Should return the subtypes of thing
: thing
and name
Actual Output
The concept [grakn.client.concept.type.impl.AttributeTypeImpl.Remote{tx=grakn.client.GraknClient$Transaction@3d1848cc, id=V4272}] is not of type [interface grakn.client.concept.type.MetaType$Remote]
grakn.client.concept.GraknConceptException:
at grakn.client.concept.GraknConceptException.create(GraknConceptException.java:35)
at grakn.client.concept.GraknConceptException.invalidCasting(GraknConceptException.java:42)
at grakn.client.concept.Concept$Remote.asMetaType(Concept.java:559)
at grakn.client.concept.type.impl.MetaTypeImpl$Remote.asCurrentBaseType(MetaTypeImpl.java:64)
at grakn.client.concept.type.impl.MetaTypeImpl$Remote.asCurrentBaseType(MetaTypeImpl.java:45)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at grakn.client.test.integration.answer.AnswerIT.subtypes(AnswerIT.java:72)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at com.google.testing.junit.runner.internal.junit4.CancellableRequestFactory$CancellableRunner.run(CancellableRequestFactory.java:89)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at com.google.testing.junit.runner.junit4.JUnit4Runner.run(JUnit4Runner.java:112)
at com.google.testing.junit.runner.BazelTestRunner.runTestsInSuite(BazelTestRunner.java:159)