-
Notifications
You must be signed in to change notification settings - Fork 55
Closed
Labels
Description
given:
String query = "{ Books(where: {genre: {EQ: NOVEL}}) { select { id title, genre } }}";
when:
Object result = executor.execute(query).getData();
then:
String expected = "{Books={select=["
+ "{id=2, title=War and Peace, genre=NOVEL}, "
+ "{id=3, title=Anna Karenina, genre=NOVEL}"
+ "]}}";
assertThat(result.toString()).isEqualTo(expected);
results in error:
2018-10-18 13:36:11.440 WARN 31844 --- [ main] g.e.SimpleDataFetcherExceptionHandler : Exception while fetching data (/Books) : Unsupported field type class com.introproventures.graphql.jpa.query.schema.model.book.Genre for field genre
java.lang.IllegalArgumentException: Unsupported field type class com.introproventures.graphql.jpa.query.schema.model.book.Genre for field genre
at com.introproventures.graphql.jpa.query.schema.impl.JpaPredicateBuilder.getTypedPredicate(JpaPredicateBuilder.java:368) ~[classes/:na]
at com.introproventures.graphql.jpa.query.schema.impl.JpaPredicateBuilder.getPredicate(JpaPredicateBuilder.java:382) ~[classes/:na]
at com.introproventures.graphql.jpa.query.schema.impl.QraphQLJpaBaseDataFetcher.lambda$25(QraphQLJpaBaseDataFetcher.java:393) ~[classes/:na]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[na:1.8.0_161]
at java.util.ArrayList.forEach(ArrayList.java:1257) ~[na:1.8.0_161]
at java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:390) ~[na:1.8.0_161]
at java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[na:1.8.0_161]
at java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[na:1.8.0_161]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[na:1.8.0_161]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[na:1.8.0_161]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[na:1.8.0_161]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[na:1.8.0_161]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:1.8.0_161]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) ~[na:1.8.0_161]
at com.introproventures.graphql.jpa.query.schema.impl.QraphQLJpaBaseDataFetcher.getFieldPredicate(QraphQLJpaBaseDataFetcher.java:395) ~[classes/:na]
at com.introproventures.graphql.jpa.query.schema.impl.QraphQLJpaBaseDataFetcher.lambda$15(QraphQLJpaBaseDataFetcher.java:349) ~[classes/:na]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[na:1.8.0_161]
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[na:1.8.0_161]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) ~[na:1.8.0_161]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[na:1.8.0_161]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[na:1.8.0_161]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[na:1.8.0_161]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[na:1.8.0_161]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:1.8.0_161]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) ~[na:1.8.0_161]
at com.introproventures.graphql.jpa.query.schema.impl.QraphQLJpaBaseDataFetcher.getArgumentPredicate(QraphQLJpaBaseDataFetcher.java:353) ~[classes/:na]
at com.introproventures.graphql.jpa.query.schema.impl.QraphQLJpaBaseDataFetcher.getWherePredicate(QraphQLJpaBaseDataFetcher.java:305) ~[classes/:na]
at com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaQueryDataFetcher.getPredicate(GraphQLJpaQueryDataFetcher.java:135) ~[classes/:na]
at com.introproventures.graphql.jpa.query.schema.impl.QraphQLJpaBaseDataFetcher.lambda$0(QraphQLJpaBaseDataFetcher.java:122) ~[classes/:na]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[na:1.8.0_161]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) ~[na:1.8.0_161]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[na:1.8.0_161]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[na:1.8.0_161]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[na:1.8.0_161]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:1.8.0_161]
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[na:1.8.0_161]
at com.introproventures.graphql.jpa.query.schema.impl.QraphQLJpaBaseDataFetcher.getQuery(QraphQLJpaBaseDataFetcher.java:124) ~[classes/:na]
at com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaQueryDataFetcher.get(GraphQLJpaQueryDataFetcher.java:101) ~[classes/:na]
at graphql.execution.ExecutionStrategy.fetchField(ExecutionStrategy.java:219) [graphql-java-6.0.jar:na]
at graphql.execution.ExecutionStrategy.resolveField(ExecutionStrategy.java:165) [graphql-java-6.0.jar:na]
at graphql.execution.AsyncExecutionStrategy.execute(AsyncExecutionStrategy.java:55) ~[graphql-java-6.0.jar:na]
at graphql.execution.Execution.executeOperation(Execution.java:154) ~[graphql-java-6.0.jar:na]
at graphql.execution.Execution.execute(Execution.java:98) ~[graphql-java-6.0.jar:na]
at graphql.GraphQL.execute(GraphQL.java:546) ~[graphql-java-6.0.jar:na]
at graphql.GraphQL.parseValidateAndExecute(GraphQL.java:488) ~[graphql-java-6.0.jar:na]
at graphql.GraphQL.executeAsync(GraphQL.java:463) ~[graphql-java-6.0.jar:na]
at graphql.GraphQL.execute(GraphQL.java:394) ~[graphql-java-6.0.jar:na]
at graphql.GraphQL.execute(GraphQL.java:265) ~[graphql-java-6.0.jar:na]
at com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaExecutor.execute(GraphQLJpaExecutor.java:58) ~[classes/:na]
at com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaExecutor$$FastClassBySpringCGLIB$$3c8ebb24.invoke(<generated>) ~[classes/:na]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738) ~[spring-aop-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) ~[spring-tx-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282) ~[spring-tx-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) ~[spring-aop-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaExecutor$$EnhancerBySpringCGLIB$$556acc4b.execute(<generated>) ~[classes/:na]
at com.introproventures.graphql.jpa.query.schema.GraphQLExecutorTests.queryForEnumEq(GraphQLExecutorTests.java:289) ~[test-classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_161]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_161]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_161]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_161]
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) ~[junit-4.12.jar:4.12]
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.12.jar:4.12]
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) ~[junit-4.12.jar:4.12]
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) ~[spring-test-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) ~[spring-test-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) ~[spring-test-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) ~[junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252) ~[spring-test-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94) ~[spring-test-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) ~[junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) ~[junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) ~[junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) ~[junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) ~[junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) ~[spring-test-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) ~[spring-test-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.junit.runners.ParentRunner.run(ParentRunner.java:363) ~[junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191) ~[spring-test-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89) ~[.cp/:na]
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41) ~[.cp/:na]
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:541) ~[.cp/:na]
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763) ~[.cp/:na]
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463) ~[.cp/:na]
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209) ~[.cp/:na]