|
21 | 21 | import graphql.annotations.annotationTypes.GraphQLNonNull; |
22 | 22 | import graphql.annotations.processor.GraphQLAnnotations; |
23 | 23 | import graphql.annotations.processor.ProcessingElementsContainer; |
24 | | -import graphql.annotations.processor.retrievers.GraphQLInputObjectRetriever; |
| 24 | +import graphql.annotations.processor.retrievers.GraphQLFieldRetriever; |
25 | 25 | import graphql.annotations.processor.retrievers.GraphQLObjectHandler; |
| 26 | +import graphql.annotations.processor.retrievers.GraphQLObjectInfoRetriever; |
| 27 | +import graphql.annotations.processor.searchAlgorithms.BreadthFirstSearch; |
| 28 | +import graphql.annotations.processor.searchAlgorithms.ParentalSearch; |
| 29 | +import graphql.annotations.processor.typeBuilders.InputObjectBuilder; |
26 | 30 | import graphql.annotations.processor.typeFunctions.TypeFunction; |
27 | 31 | import graphql.schema.*; |
28 | 32 |
|
@@ -634,6 +638,13 @@ public String test2(@GraphQLName("other") int other, @GraphQLName("arg") TestCom |
634 | 638 | } |
635 | 639 | } |
636 | 640 |
|
| 641 | + public static class InputObject{ |
| 642 | + @GraphQLField |
| 643 | + int a; |
| 644 | + |
| 645 | + @GraphQLField |
| 646 | + int b; |
| 647 | + } |
637 | 648 |
|
638 | 649 | @Test |
639 | 650 | public void inputObjectArgument() { |
@@ -665,11 +676,12 @@ public void complexInputObjectArgument() { |
665 | 676 |
|
666 | 677 | @Test |
667 | 678 | public void inputObject() { |
668 | | - GraphQLObjectType object = GraphQLAnnotations.object(TestObjectInput.class); |
669 | | - GraphQLInputObjectRetriever graphQLInputObjectRetrieve=new GraphQLInputObjectRetriever(); |
670 | | - GraphQLInputObjectType inputObjectType = (GraphQLInputObjectType) graphQLInputObjectRetrieve.getInputObject(object, "input", |
671 | | - GraphQLAnnotations.getInstance().getContainer().getTypeRegistry()); |
672 | | - assertEquals(inputObjectType.getFields().size(), object.getFieldDefinitions().size()); |
| 679 | + GraphQLObjectInfoRetriever graphQLObjectInfoRetriever = new GraphQLObjectInfoRetriever(); |
| 680 | + GraphQLInputObjectType type = new InputObjectBuilder(graphQLObjectInfoRetriever, new ParentalSearch(graphQLObjectInfoRetriever), |
| 681 | + new BreadthFirstSearch(graphQLObjectInfoRetriever), new GraphQLFieldRetriever()). |
| 682 | + getInputObjectBuilder(InputObject.class, GraphQLAnnotations.getInstance().getContainer()).build(); |
| 683 | + |
| 684 | + assertEquals(type.getFields().size(), InputObject.class.getDeclaredFields().length); |
673 | 685 | } |
674 | 686 |
|
675 | 687 | public static class UUIDTypeFunction implements TypeFunction { |
@@ -732,9 +744,14 @@ public void queryOptional() { |
732 | 744 | @Test |
733 | 745 | public void optionalInput() { |
734 | 746 | GraphQLObjectType object = GraphQLAnnotations.object(OptionalTest.class); |
735 | | - GraphQLInputObjectRetriever graphQLInputObjectRetriever=new GraphQLInputObjectRetriever(); |
736 | | - GraphQLInputObjectType inputObject = (GraphQLInputObjectType) graphQLInputObjectRetriever.getInputObject(object, "input", |
737 | | - GraphQLAnnotations.getInstance().getTypeRegistry()); |
| 747 | +// GraphQLInputObjectRetriever graphQLInputObjectRetriever=new GraphQLInputObjectRetriever(); |
| 748 | +// GraphQLInputObjectType inputObject = (GraphQLInputObjectType) graphQLInputObjectRetriever.getInputObject(object, "input", |
| 749 | +// GraphQLAnnotations.getInstance().getTypeRegistry()); |
| 750 | + GraphQLObjectInfoRetriever graphQLObjectInfoRetriever = new GraphQLObjectInfoRetriever(); |
| 751 | + GraphQLInputObjectType inputObject = new InputObjectBuilder(graphQLObjectInfoRetriever, new ParentalSearch(graphQLObjectInfoRetriever), |
| 752 | + new BreadthFirstSearch(graphQLObjectInfoRetriever), new GraphQLFieldRetriever()). |
| 753 | + getInputObjectBuilder(OptionalTest.class, GraphQLAnnotations.getInstance().getContainer()).build(); |
| 754 | + |
738 | 755 | GraphQLObjectType mutation = GraphQLObjectType.newObject().name("mut").field(newFieldDefinition().name("test").type(object). |
739 | 756 | argument(GraphQLArgument.newArgument().type(inputObject).name("input").build()).dataFetcher(environment -> { |
740 | 757 | Map<String, String> input = environment.getArgument("input"); |
|
0 commit comments