Skip to content

Incorrect casting exception #98

@flyingsilverfin

Description

@flyingsilverfin

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)

Additional information

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions