From 4ff36ae78c29e27465cee44951d3106a1f009c43 Mon Sep 17 00:00:00 2001 From: Vitalii Tiutiunnyk Date: Sun, 14 Dec 2025 03:08:51 +0000 Subject: [PATCH 1/2] Add integration test suite for Java code generator Use the same approach as for `Kotlin2CodeGenTest` with a few differences: - Test cases are grouped by topic/area, so that it is easier to run just the required subset of related test cases. - Test case for underscore fields, which was inlined into `Kotlin2CodeGenTest`, is added as a separate test case into the `misc` package. Use `com.netflix.graphql.dgs.codegen.java` package for the test cases to avoid any accidental name clashes with the classes from the integration test suite for Kotlin code generator. Refactor the parametrized test logic, so that it works with the paths relative to the test sources root directory, rather than relying only on the parent package/directory. Resolve the issue with the client API generation for the cases when a reserved keyword is used as an input field name. Sanitize the input variable name, so that the generated Java code can be compiled. --- .../dgs/codegen/java/fixtures/Node.java | 23 ++ .../expected/DgsConstants.java | 31 ++ .../expected/client/PeopleGraphQLQuery.java | 85 ++++++ .../expected/client/PeopleProjectionRoot.java | 24 ++ .../datafetchers/PeopleDatafetcher.java | 18 ++ .../expected/types/Person.java | 82 ++++++ .../expected/types/PersonFilter.java | 62 ++++ .../constantsForInputTypes/schema.graphql | 12 + .../expected/DgsConstants.java | 33 +++ .../expected/client/PeopleGraphQLQuery.java | 85 ++++++ .../expected/client/PeopleProjectionRoot.java | 24 ++ .../datafetchers/PeopleDatafetcher.java | 18 ++ .../expected/types/Person.java | 82 ++++++ .../expected/types/PersonFilter.java | 83 ++++++ .../schema.graphql | 16 ++ .../expected/DgsConstants.java | 23 ++ .../expected/client/PeopleGraphQLQuery.java | 50 ++++ .../expected/client/PeopleProjectionRoot.java | 29 ++ .../datafetchers/PeopleDatafetcher.java | 18 ++ .../expected/types/Person.java | 18 ++ .../schema.graphql | 12 + .../expected/DgsConstants.java | 23 ++ .../expected/client/FriendsGraphQLQuery.java | 50 ++++ .../client/FriendsProjectionRoot.java | 24 ++ .../expected/client/PeopleGraphQLQuery.java | 50 ++++ .../expected/client/PeopleProjectionRoot.java | 24 ++ .../datafetchers/FriendsDatafetcher.java | 18 ++ .../datafetchers/PeopleDatafetcher.java | 18 ++ .../expected/types/Person.java | 82 ++++++ .../constantsWithExtendedQuery/schema.graphql | 12 + .../expected/DgsConstants.java | 23 ++ .../expected/client/PeopleGraphQLQuery.java | 50 ++++ .../expected/client/PeopleProjectionRoot.java | 29 ++ .../datafetchers/PeopleDatafetcher.java | 18 ++ .../expected/types/Person.java | 102 +++++++ .../constantsWithExtendedTypes/schema.graphql | 12 + .../dataClassDocs/expected/DgsConstants.java | 29 ++ .../expected/client/SearchGraphQLQuery.java | 85 ++++++ .../expected/client/SearchProjectionRoot.java | 19 ++ .../datafetchers/SearchDatafetcher.java | 17 ++ .../dataClassDocs/expected/types/Movie.java | 66 +++++ .../expected/types/MovieFilter.java | 67 +++++ .../dataclasses/dataClassDocs/schema.graphql | 20 ++ .../expected/DgsConstants.java | 29 ++ .../expected/client/SearchGraphQLQuery.java | 85 ++++++ .../expected/client/SearchProjectionRoot.java | 19 ++ .../datafetchers/SearchDatafetcher.java | 17 ++ .../expected/types/Movie.java | 74 +++++ .../expected/types/MovieFilter.java | 74 +++++ .../dataClassFieldDocs/schema.graphql | 17 ++ .../expected/DgsConstants.java | 17 ++ .../expected/client/MeGraphQLQuery.java | 50 ++++ .../expected/client/MeProjectionRoot.java | 14 + .../expected/datafetchers/MeDatafetcher.java | 17 ++ .../expected/types/Person.java | 25 ++ .../dataClassWIthNoFields/schema.graphql | 6 + .../expected/DgsConstants.java | 19 ++ .../expected/client/TestGraphQLQuery.java | 50 ++++ .../expected/client/TestProjectionRoot.java | 19 ++ .../datafetchers/TestDatafetcher.java | 17 ++ .../expected/types/RequiredTestType.java | 62 ++++ .../dataClassWithBooleanField/schema.graphql | 7 + .../expected/DgsConstants.java | 51 ++++ .../client/EntityConnectionGraphQLQuery.java | 50 ++++ .../EntityConnectionProjectionRoot.java | 28 ++ .../expected/client/EntityEdgeProjection.java | 25 ++ .../expected/client/EntityGraphQLQuery.java | 50 ++++ .../expected/client/EntityProjection.java | 24 ++ .../expected/client/EntityProjectionRoot.java | 24 ++ .../expected/client/PageInfoProjection.java | 34 +++ .../EntityConnectionDatafetcher.java | 17 ++ .../datafetchers/EntityDatafetcher.java | 18 ++ .../expected/types/Entity.java | 84 ++++++ .../expected/types/EntityConnection.java | 83 ++++++ .../expected/types/EntityEdge.java | 82 ++++++ .../expected/types/PageInfo.java | 123 ++++++++ .../schema.graphql | 29 ++ .../expected/DgsConstants.java | 43 +++ .../expected/client/CarsGraphQLQuery.java | 50 ++++ .../expected/client/CarsProjectionRoot.java | 31 ++ .../expected/client/EngineProjection.java | 35 +++ .../client/PerformanceProjection.java | 24 ++ .../datafetchers/CarsDatafetcher.java | 18 ++ .../expected/types/Car.java | 102 +++++++ .../expected/types/Engine.java | 124 ++++++++ .../expected/types/Performance.java | 83 ++++++ .../schema.graphql | 21 ++ .../expected/DgsConstants.java | 23 ++ .../expected/client/PeopleGraphQLQuery.java | 50 ++++ .../expected/client/PeopleProjectionRoot.java | 29 ++ .../datafetchers/PeopleDatafetcher.java | 18 ++ .../expected/types/Person.java | 18 ++ .../schema.graphql | 12 + .../expected/DgsConstants.java | 35 +++ .../client/EmployeeFragmentProjection.java | 55 ++++ .../expected/client/PeopleGraphQLQuery.java | 50 ++++ .../expected/client/PeopleProjectionRoot.java | 36 +++ .../datafetchers/PeopleDatafetcher.java | 18 ++ .../expected/types/Employee.java | 126 ++++++++ .../expected/types/Person.java | 25 ++ .../schema.graphql | 22 ++ .../expected/DgsConstants.java | 31 ++ .../client/EmployeeFragmentProjection.java | 50 ++++ .../expected/client/PeopleGraphQLQuery.java | 50 ++++ .../expected/client/PeopleProjectionRoot.java | 31 ++ .../datafetchers/PeopleDatafetcher.java | 18 ++ .../expected/types/Employee.java | 106 +++++++ .../expected/types/Person.java | 21 ++ .../dataClassWithInterface/schema.graphql | 14 + .../expected/DgsConstants.java | 43 +++ .../expected/client/PeopleGraphQLQuery.java | 50 ++++ .../expected/client/PeopleProjectionRoot.java | 24 ++ .../datafetchers/PeopleDatafetcher.java | 18 ++ .../expected/types/Employee.java | 25 ++ .../expected/types/Person.java | 13 + .../expected/types/Talent.java | 126 ++++++++ .../schema.graphql | 21 ++ .../expected/DgsConstants.java | 21 ++ .../expected/client/PeopleGraphQLQuery.java | 50 ++++ .../expected/client/PeopleProjectionRoot.java | 24 ++ .../datafetchers/PeopleDatafetcher.java | 18 ++ .../expected/types/Person.java | 83 ++++++ .../schema.graphql | 8 + .../expected/DgsConstants.java | 31 ++ .../expected/client/ProductsGraphQLQuery.java | 50 ++++ .../client/ProductsProjectionRoot.java | 19 ++ .../datafetchers/ProductsDatafetcher.java | 18 ++ .../expected/types/Entity.java | 18 ++ .../expected/types/Product.java | 66 +++++ .../schema.graphql | 15 + .../expected/DgsConstants.java | 51 ++++ .../client/EntityConnectionGraphQLQuery.java | 50 ++++ .../EntityConnectionProjectionRoot.java | 28 ++ .../expected/client/EntityEdgeProjection.java | 25 ++ .../expected/client/EntityGraphQLQuery.java | 50 ++++ .../expected/client/EntityProjection.java | 24 ++ .../expected/client/EntityProjectionRoot.java | 24 ++ .../expected/client/PageInfoProjection.java | 34 +++ .../EntityConnectionDatafetcher.java | 19 ++ .../datafetchers/EntityDatafetcher.java | 18 ++ .../expected/types/Entity.java | 84 ++++++ .../expected/types/EntityEdge.java | 82 ++++++ .../dataClassWithMappedTypes/schema.graphql | 29 ++ .../expected/DgsConstants.java | 33 +++ .../client/EmployeeFragmentProjection.java | 50 ++++ .../expected/client/PeopleGraphQLQuery.java | 50 ++++ .../expected/client/PeopleProjectionRoot.java | 36 +++ .../datafetchers/PeopleDatafetcher.java | 18 ++ .../expected/types/Employee.java | 106 +++++++ .../expected/types/Person.java | 25 ++ .../schema.graphql | 15 + .../expected/DgsConstants.java | 17 ++ .../expected/types/MyType.java | 62 ++++ .../expected/types/OtherType.java | 62 ++++ .../schema.graphql | 7 + .../expected/DgsConstants.java | 21 ++ .../expected/client/PeopleGraphQLQuery.java | 50 ++++ .../expected/client/PeopleProjectionRoot.java | 24 ++ .../datafetchers/PeopleDatafetcher.java | 18 ++ .../expected/types/Person.java | 83 ++++++ .../schema.graphql | 8 + .../expected/DgsConstants.java | 15 + .../expected/types/MyType.java | 102 +++++++ .../schema.graphql | 5 + .../expected/DgsConstants.java | 15 + .../expected/types/MyType.java | 106 +++++++ .../schema.graphql | 5 + .../expected/DgsConstants.java | 21 ++ .../expected/client/PeopleGraphQLQuery.java | 50 ++++ .../expected/client/PeopleProjectionRoot.java | 24 ++ .../datafetchers/PeopleDatafetcher.java | 18 ++ .../expected/types/Person.java | 83 ++++++ .../schema.graphql | 8 + .../expected/DgsConstants.java | 15 + .../expected/types/MyType.java | 105 +++++++ .../schema.graphql | 5 + .../expected/DgsConstants.java | 23 ++ .../expected/client/PeopleGraphQLQuery.java | 50 ++++ .../expected/client/PeopleProjectionRoot.java | 31 ++ .../expected/client/PersonProjection.java | 30 ++ .../datafetchers/PeopleDatafetcher.java | 18 ++ .../expected/types/Person.java | 103 +++++++ .../schema.graphql | 9 + .../expected/DgsConstants.java | 31 ++ .../expected/client/PeopleGraphQLQuery.java | 50 ++++ .../expected/client/PeopleProjectionRoot.java | 46 +++ .../expected/client/StringProjection.java | 14 + .../datafetchers/PeopleDatafetcher.java | 18 ++ .../expected/types/Person.java | 82 ++++++ .../expected/types/SampleType.java | 62 ++++ .../dataClassWithReservedWord/schema.graphql | 12 + .../expected/DgsConstants.java | 21 ++ .../expected/client/PeopleGraphQLQuery.java | 50 ++++ .../expected/client/PeopleProjectionRoot.java | 24 ++ .../datafetchers/PeopleDatafetcher.java | 18 ++ .../expected/types/Person.java | 82 ++++++ .../schema.graphql | 8 + .../test/DataClassQueryTest.java | 52 ++++ .../expected/DgsConstants.java | 25 ++ .../expected/types/A.java | 17 ++ .../expected/types/B.java | 17 ++ .../expected/types/Example.java | 87 ++++++ .../schema.graphql | 11 + .../enums/enumDocs/expected/DgsConstants.java | 4 + .../enums/enumDocs/expected/types/Color.java | 12 + .../testcases/enums/enumDocs/schema.graphql | 6 + .../enums/enumType/expected/DgsConstants.java | 13 + .../expected/client/TypesGraphQLQuery.java | 50 ++++ .../expected/client/TypesProjectionRoot.java | 14 + .../datafetchers/TypesDatafetcher.java | 18 ++ .../expected/types/EmployeeTypes.java | 9 + .../testcases/enums/enumType/schema.graphql | 9 + .../expected/DgsConstants.java | 13 + .../expected/client/TypesGraphQLQuery.java | 50 ++++ .../expected/client/TypesProjectionRoot.java | 14 + .../datafetchers/TypesDatafetcher.java | 18 ++ .../expected/types/EmployeeTypes.java | 11 + .../enums/enumWithExtendedType/schema.graphql | 13 + .../inputs/input/expected/DgsConstants.java | 23 ++ .../expected/client/MoviesGraphQLQuery.java | 85 ++++++ .../datafetchers/MoviesDatafetcher.java | 18 ++ .../input/expected/types/MovieFilter.java | 62 ++++ .../testcases/inputs/input/schema.graphql | 7 + .../inputs/input/test/InputQueryTest.java | 97 +++++++ .../expected/DgsConstants.java | 27 ++ .../expected/client/OrdersGraphQLQuery.java | 85 ++++++ .../datafetchers/OrdersDatafetcher.java | 17 ++ .../expected/types/OrderFilter.java | 103 +++++++ .../inputWithDefaultBigDecimal/schema.graphql | 11 + .../expected/DgsConstants.java | 23 ++ .../expected/client/OrdersGraphQLQuery.java | 85 ++++++ .../datafetchers/OrdersDatafetcher.java | 17 ++ .../expected/types/OrderFilter.java | 63 ++++ .../inputWithDefaultCurrency/schema.graphql | 9 + .../expected/DgsConstants.java | 11 + .../expected/types/Color.java | 7 + .../expected/types/SomeType.java | 64 +++++ .../schema.graphql | 8 + .../expected/DgsConstants.java | 11 + .../expected/types/SomeType.java | 65 +++++ .../schema.graphql | 3 + .../expected/DgsConstants.java | 11 + .../expected/types/SomeType.java | 64 +++++ .../schema.graphql | 3 + .../expected/DgsConstants.java | 11 + .../expected/types/SomeType.java | 64 +++++ .../schema.graphql | 3 + .../expected/DgsConstants.java | 11 + .../expected/types/Color.java | 5 + .../expected/types/ColorFilter.java | 62 ++++ .../schema.graphql | 7 + .../expected/DgsConstants.java | 25 ++ .../expected/types/Car.java | 62 ++++ .../expected/types/Hobby.java | 7 + .../expected/types/Person.java | 144 ++++++++++ .../schema.graphql | 16 ++ .../expected/DgsConstants.java | 27 ++ .../expected/types/Car.java | 62 ++++ .../expected/types/MovieFilter.java | 62 ++++ .../expected/types/Person.java | 103 +++++++ .../schema.graphql | 13 + .../expected/DgsConstants.java | 25 ++ .../expected/client/MoviesGraphQLQuery.java | 85 ++++++ .../datafetchers/MoviesDatafetcher.java | 18 ++ .../expected/types/MovieFilter.java | 83 ++++++ .../inputWithExtendedType/schema.graphql | 11 + .../expected/DgsConstants.java | 11 + .../expected/types/SampleInput.java | 62 ++++ .../inputWithReservedWord/schema.graphql | 3 + .../expected/DgsConstants.java | 53 ++++ .../expected/types/Bird.java | 168 +++++++++++ .../expected/types/Dog.java | 168 +++++++++++ .../expected/types/Pet.java | 33 +++ .../schema.graphql | 24 ++ .../expected/DgsConstants.java | 35 +++ .../expected/types/Diet.java | 17 ++ .../expected/types/Dog.java | 86 ++++++ .../expected/types/Pet.java | 19 ++ .../expected/types/Vegetarian.java | 87 ++++++ .../schema.graphql | 18 ++ .../expected/DgsConstants.java | 31 ++ .../client/EmployeeFragmentProjection.java | 50 ++++ .../expected/client/PeopleGraphQLQuery.java | 50 ++++ .../expected/client/PeopleProjectionRoot.java | 31 ++ .../datafetchers/PeopleDatafetcher.java | 18 ++ .../expected/types/Employee.java | 106 +++++++ .../expected/types/Person.java | 21 ++ .../schema.graphql | 14 + .../interfaceDocs/expected/DgsConstants.java | 11 + .../interfaceDocs/expected/types/Titled.java | 12 + .../interfaces/interfaceDocs/schema.graphql | 6 + .../expected/DgsConstants.java | 11 + .../expected/types/Titled.java | 15 + .../interfaceFieldsDocs/schema.graphql | 6 + .../expected/DgsConstants.java | 33 +++ .../expected/client/FruitsGraphQLQuery.java | 50 ++++ .../expected/client/FruitsProjectionRoot.java | 21 ++ .../expected/client/SeedProjection.java | 19 ++ .../datafetchers/FruitsDatafetcher.java | 18 ++ .../expected/types/Fruit.java | 9 + .../expected/types/Seed.java | 62 ++++ .../expected/types/StoneFruit.java | 14 + .../schema.graphql | 16 ++ .../expected/DgsConstants.java | 27 ++ .../expected/client/IsGraphQLQuery.java | 50 ++++ .../expected/client/IsProjectionRoot.java | 25 ++ .../expected/client/TFragmentProjection.java | 45 +++ .../expected/datafetchers/IsDatafetcher.java | 18 ++ .../expected/types/I.java | 17 ++ .../expected/types/T.java | 86 ++++++ .../schema.graphql | 12 + .../expected/DgsConstants.java | 13 + .../expected/types/Person.java | 62 ++++ .../misc/skipCodegenOnFields/schema.graphql | 4 + .../expected/DgsConstants.java | 13 + .../expected/types/Person.java | 9 + .../schema.graphql | 4 + .../expected/DgsConstants.java | 17 ++ .../expected/types/Person.java | 62 ++++ .../misc/skipCodegenOnTypes/schema.graphql | 7 + .../expected/DgsConstants.java | 25 ++ .../expected/client/ImplGraphQLQuery.java | 50 ++++ .../expected/client/ImplProjectionRoot.java | 19 ++ .../datafetchers/ImplDatafetcher.java | 17 ++ .../expected/types/MyInterface.java | 17 ++ .../expected/types/MyInterfaceImpl.java | 66 +++++ .../typesWithUnderscoreField/schema.graphql | 11 + .../expected/DgsConstants.java | 15 + .../expected/client/EGraphQLQuery.java | 50 ++++ .../expected/client/EProjectionRoot.java | 14 + .../expected/client/EsGraphQLQuery.java | 50 ++++ .../expected/client/EsProjectionRoot.java | 14 + .../expected/datafetchers/EDatafetcher.java | 17 ++ .../expected/datafetchers/EsDatafetcher.java | 18 ++ .../projectionWithEnum/expected/types/E.java | 5 + .../projectionWithEnum/schema.graphql | 8 + .../expected/DgsConstants.java | 43 +++ .../expected/client/Q1GraphQLQuery.java | 104 +++++++ .../expected/client/Q2GraphQLQuery.java | 104 +++++++ .../expected/datafetchers/Q1Datafetcher.java | 17 ++ .../expected/datafetchers/Q2Datafetcher.java | 17 ++ .../expected/types/I1.java | 82 ++++++ .../expected/types/I2.java | 82 ++++++ .../projectionWithNestedInputs/schema.graphql | 16 ++ .../ProjectionWithNestedInputsQueryTest.java | 68 +++++ .../expected/DgsConstants.java | 27 ++ .../expected/client/StringGraphQLQuery.java | 123 ++++++++ .../datafetchers/StringDatafetcher.java | 17 ++ .../expected/types/I.java | 62 ++++ .../schema.graphql | 7 + .../expected/DgsConstants.java | 15 + .../expected/client/StringGraphQLQuery.java | 50 ++++ .../expected/client/StringsGraphQLQuery.java | 50 ++++ .../datafetchers/StringDatafetcher.java | 17 ++ .../datafetchers/StringsDatafetcher.java | 18 ++ .../projectionWithPrimitives/schema.graphql | 4 + .../expected/DgsConstants.java | 29 ++ .../client/EmployeeFragmentProjection.java | 45 +++ .../expected/client/PeopleGraphQLQuery.java | 50 ++++ .../expected/client/PeopleProjectionRoot.java | 26 ++ .../expected/client/PersonGraphQLQuery.java | 50 ++++ .../expected/client/PersonProjectionRoot.java | 26 ++ .../datafetchers/PeopleDatafetcher.java | 18 ++ .../datafetchers/PersonDatafetcher.java | 17 ++ .../expected/types/Employee.java | 86 ++++++ .../expected/types/Person.java | 17 ++ .../projectionWithType/schema.graphql | 13 + .../expected/DgsConstants.java | 41 +++ .../client/EmployeeFragmentProjection.java | 45 +++ .../expected/client/PersonGraphQLQuery.java | 123 ++++++++ .../expected/client/PersonProjectionRoot.java | 26 ++ .../datafetchers/PersonDatafetcher.java | 17 ++ .../expected/types/Employee.java | 86 ++++++ .../expected/types/I.java | 62 ++++ .../expected/types/Person.java | 17 ++ .../projectionWithTypeAndArgs/schema.graphql | 16 ++ .../ProjectionWithTypeAndArgsQueryTest.java | 112 ++++++++ .../expected/DgsConstants.java | 29 ++ .../client/EmployeeFragmentProjection.java | 45 +++ .../expected/client/UGraphQLQuery.java | 50 ++++ .../expected/client/UProjectionRoot.java | 21 ++ .../expected/client/UsGraphQLQuery.java | 50 ++++ .../expected/client/UsProjectionRoot.java | 21 ++ .../expected/datafetchers/UDatafetcher.java | 17 ++ .../expected/datafetchers/UsDatafetcher.java | 18 ++ .../expected/types/Employee.java | 86 ++++++ .../expected/types/Person.java | 17 ++ .../projectionWithUnion/expected/types/U.java | 13 + .../projectionWithUnion/schema.graphql | 15 + .../unions/union/expected/DgsConstants.java | 25 ++ .../client/ActorFragmentProjection.java | 40 +++ .../client/MovieFragmentProjection.java | 40 +++ .../expected/client/SearchGraphQLQuery.java | 50 ++++ .../expected/client/SearchProjectionRoot.java | 28 ++ .../datafetchers/SearchDatafetcher.java | 18 ++ .../unions/union/expected/types/Actor.java | 66 +++++ .../unions/union/expected/types/Movie.java | 66 +++++ .../union/expected/types/SearchResult.java | 16 ++ .../testcases/unions/union/schema.graphql | 13 + .../expected/DgsConstants.java | 43 +++ .../client/DroidFragmentProjection.java | 50 ++++ .../client/HumanFragmentProjection.java | 50 ++++ .../expected/client/SearchGraphQLQuery.java | 84 ++++++ .../expected/client/SearchProjectionRoot.java | 21 ++ .../client/SearchResultProjection.java | 26 ++ .../datafetchers/SearchDatafetcher.java | 17 ++ .../expected/types/Droid.java | 106 +++++++ .../expected/types/Human.java | 107 +++++++ .../expected/types/SearchResult.java | 16 ++ .../expected/types/SearchResultPage.java | 63 ++++ .../schema.graphql | 21 ++ .../expected/DgsConstants.java | 31 ++ .../client/ActorFragmentProjection.java | 40 +++ .../client/MovieFragmentProjection.java | 40 +++ .../expected/client/SearchGraphQLQuery.java | 50 ++++ .../expected/client/SearchProjectionRoot.java | 28 ++ .../datafetchers/SearchDatafetcher.java | 18 ++ .../expected/types/Actor.java | 66 +++++ .../expected/types/Movie.java | 66 +++++ .../expected/types/Rating.java | 67 +++++ .../expected/types/SearchResult.java | 17 ++ .../unionWithExtendedType/schema.graphql | 19 ++ .../graphql/dgs/codegen/JavaCodeGenTest.kt | 269 ++++++++++++++++++ 423 files changed, 16205 insertions(+) create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/fixtures/Node.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/client/PeopleGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/client/PeopleProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/datafetchers/PeopleDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/types/PersonFilter.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/client/PeopleGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/client/PeopleProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/datafetchers/PeopleDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/types/PersonFilter.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/client/PeopleGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/client/PeopleProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/datafetchers/PeopleDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/FriendsGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/FriendsProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/PeopleGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/PeopleProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/datafetchers/FriendsDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/datafetchers/PeopleDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/client/PeopleGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/client/PeopleProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/datafetchers/PeopleDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/client/SearchGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/client/SearchProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/datafetchers/SearchDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/types/Movie.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/types/MovieFilter.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/client/SearchGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/client/SearchProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/datafetchers/SearchDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/types/Movie.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/types/MovieFilter.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/client/MeGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/client/MeProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/datafetchers/MeDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/client/TestGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/client/TestProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/datafetchers/TestDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/types/RequiredTestType.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityConnectionGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityConnectionProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityEdgeProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/PageInfoProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/datafetchers/EntityConnectionDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/datafetchers/EntityDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/Entity.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/EntityConnection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/EntityEdge.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/PageInfo.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/CarsGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/CarsProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/EngineProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/PerformanceProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/datafetchers/CarsDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Car.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Engine.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Performance.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/client/PeopleGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/client/PeopleProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/datafetchers/PeopleDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/EmployeeFragmentProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/PeopleGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/PeopleProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/datafetchers/PeopleDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/types/Employee.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/EmployeeFragmentProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/PeopleGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/PeopleProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/datafetchers/PeopleDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/types/Employee.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/client/PeopleGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/client/PeopleProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/datafetchers/PeopleDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Employee.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Talent.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/client/PeopleGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/client/PeopleProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/datafetchers/PeopleDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/client/ProductsGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/client/ProductsProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/datafetchers/ProductsDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/types/Entity.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/types/Product.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityConnectionGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityConnectionProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityEdgeProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/PageInfoProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/datafetchers/EntityConnectionDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/datafetchers/EntityDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/types/Entity.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/types/EntityEdge.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/EmployeeFragmentProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/PeopleGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/PeopleProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/datafetchers/PeopleDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/types/Employee.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/types/MyType.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/types/OtherType.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/client/PeopleGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/client/PeopleProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/datafetchers/PeopleDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/types/MyType.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/types/MyType.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/client/PeopleGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/client/PeopleProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/datafetchers/PeopleDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/types/MyType.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PeopleGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PeopleProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PersonProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/datafetchers/PeopleDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/PeopleGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/PeopleProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/StringProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/datafetchers/PeopleDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/types/SampleType.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/client/PeopleGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/client/PeopleProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/datafetchers/PeopleDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/test/DataClassQueryTest.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/A.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/B.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/Example.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/types/Color.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/client/TypesGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/client/TypesProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/datafetchers/TypesDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/types/EmployeeTypes.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/client/TypesGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/client/TypesProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/datafetchers/TypesDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/types/EmployeeTypes.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/client/MoviesGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/datafetchers/MoviesDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/types/MovieFilter.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/test/InputQueryTest.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/client/OrdersGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/datafetchers/OrdersDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/types/OrderFilter.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/client/OrdersGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/datafetchers/OrdersDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/types/OrderFilter.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/types/Color.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/types/SomeType.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/types/SomeType.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/types/SomeType.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/types/SomeType.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/types/Color.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/types/ColorFilter.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Car.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Hobby.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/Car.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/MovieFilter.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/client/MoviesGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/datafetchers/MoviesDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/types/MovieFilter.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/types/SampleInput.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Bird.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Dog.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Pet.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Diet.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Dog.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Pet.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Vegetarian.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/EmployeeFragmentProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/PeopleGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/PeopleProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/datafetchers/PeopleDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/types/Employee.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/types/Titled.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/types/Titled.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/FruitsGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/FruitsProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/SeedProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/datafetchers/FruitsDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/Fruit.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/Seed.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/StoneFruit.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/IsGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/IsProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/TFragmentProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/datafetchers/IsDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/types/I.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/types/T.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/client/ImplGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/client/ImplProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/datafetchers/ImplDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/types/MyInterface.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/types/MyInterfaceImpl.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EsGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EsProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/datafetchers/EDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/datafetchers/EsDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/types/E.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/client/Q1GraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/client/Q2GraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/datafetchers/Q1Datafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/datafetchers/Q2Datafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/types/I1.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/types/I2.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/test/ProjectionWithNestedInputsQueryTest.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/client/StringGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/datafetchers/StringDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/types/I.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/client/StringGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/client/StringsGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/datafetchers/StringDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/datafetchers/StringsDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/EmployeeFragmentProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PeopleGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PeopleProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PersonGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PersonProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/datafetchers/PeopleDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/datafetchers/PersonDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/types/Employee.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/EmployeeFragmentProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/PersonGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/PersonProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/datafetchers/PersonDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/Employee.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/I.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/test/ProjectionWithTypeAndArgsQueryTest.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/EmployeeFragmentProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UsGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UsProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/datafetchers/UDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/datafetchers/UsDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/Employee.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/Person.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/U.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/ActorFragmentProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/MovieFragmentProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/SearchGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/SearchProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/datafetchers/SearchDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/Actor.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/Movie.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/SearchResult.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/DroidFragmentProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/HumanFragmentProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchResultProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/datafetchers/SearchDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/Droid.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/Human.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/SearchResult.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/SearchResultPage.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/DgsConstants.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/ActorFragmentProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/MovieFragmentProjection.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/SearchGraphQLQuery.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/SearchProjectionRoot.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/datafetchers/SearchDatafetcher.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Actor.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Movie.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Rating.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/SearchResult.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/schema.graphql create mode 100644 graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/JavaCodeGenTest.kt diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/fixtures/Node.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/fixtures/Node.java new file mode 100644 index 000000000..3c4c70d2a --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/fixtures/Node.java @@ -0,0 +1,23 @@ +/* + * + * Copyright 2020 Netflix, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package com.netflix.graphql.dgs.codegen.java.fixtures; + +public interface Node { + String getId(); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/DgsConstants.java new file mode 100644 index 000000000..40f1b2c46 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/DgsConstants.java @@ -0,0 +1,31 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String People = "people"; + + public static class PEOPLE_INPUT_ARGUMENT { + public static final String Filter = "filter"; + } + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + } + + public static class PERSONFILTER { + public static final String TYPE_NAME = "PersonFilter"; + + public static final String Email = "email"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/client/PeopleGraphQLQuery.java new file mode 100644 index 000000000..3965f12c9 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/client/PeopleGraphQLQuery.java @@ -0,0 +1,85 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected.types.PersonFilter; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PeopleGraphQLQuery extends GraphQLQuery { + public PeopleGraphQLQuery(PersonFilter filter, String queryName, Set fieldsSet) { + super("query", queryName); + if (filter != null || fieldsSet.contains("filter")) { + getInput().put("filter", filter); + } + } + + public PeopleGraphQLQuery(PersonFilter filter, String queryName, Set fieldsSet, + Map variableReferences, List variableDefinitions) { + super("query", queryName); + if (filter != null || fieldsSet.contains("filter")) { + getInput().put("filter", filter); + } + if(variableDefinitions != null) { + getVariableDefinitions().addAll(variableDefinitions); + } + + if(variableReferences != null) { + getVariableReferences().putAll(variableReferences); + } + } + + public PeopleGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "people"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private PersonFilter filter; + + private String queryName; + + public PeopleGraphQLQuery build() { + return new PeopleGraphQLQuery(filter, queryName, fieldsSet, variableReferences, variableDefinitions); + + } + + public Builder filter(PersonFilter filter) { + this.filter = filter; + this.fieldsSet.add("filter"); + return this; + } + + public Builder filterReference(String variableRef) { + this.variableReferences.put("filter", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.TypeName("PersonFilter")).build()); + this.fieldsSet.add("filter"); + return this; + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/client/PeopleProjectionRoot.java new file mode 100644 index 000000000..c6b2c4fdd --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/client/PeopleProjectionRoot.java @@ -0,0 +1,24 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PeopleProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PeopleProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PeopleProjectionRoot firstname() { + getFields().put("firstname", null); + return this; + } + + public PeopleProjectionRoot lastname() { + getFields().put("lastname", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/datafetchers/PeopleDatafetcher.java new file mode 100644 index 000000000..525586667 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/datafetchers/PeopleDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class PeopleDatafetcher { + @DgsData( + parentType = "Query", + field = "people" + ) + public List getPeople(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/types/Person.java new file mode 100644 index 000000000..233423b69 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/types/Person.java @@ -0,0 +1,82 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class Person { + private String firstname; + + private String lastname; + + public Person() { + } + + public Person(String firstname, String lastname) { + this.firstname = firstname; + this.lastname = lastname; + } + + public String getFirstname() { + return firstname; + } + + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public String getLastname() { + return lastname; + } + + public void setLastname(String lastname) { + this.lastname = lastname; + } + + @Override + public String toString() { + return "Person{firstname='" + firstname + "', lastname='" + lastname + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Person that = (Person) o; + return Objects.equals(firstname, that.firstname) && + Objects.equals(lastname, that.lastname); + } + + @Override + public int hashCode() { + return Objects.hash(firstname, lastname); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String firstname; + + private String lastname; + + public Person build() { + Person result = new Person(); + result.firstname = this.firstname; + result.lastname = this.lastname; + return result; + } + + public Builder firstname(String firstname) { + this.firstname = firstname; + return this; + } + + public Builder lastname(String lastname) { + this.lastname = lastname; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/types/PersonFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/types/PersonFilter.java new file mode 100644 index 000000000..de3a0c77d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/types/PersonFilter.java @@ -0,0 +1,62 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class PersonFilter { + private String email; + + public PersonFilter() { + } + + public PersonFilter(String email) { + this.email = email; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + @Override + public String toString() { + return "PersonFilter{email='" + email + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + PersonFilter that = (PersonFilter) o; + return Objects.equals(email, that.email); + } + + @Override + public int hashCode() { + return Objects.hash(email); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String email; + + public PersonFilter build() { + PersonFilter result = new PersonFilter(); + result.email = this.email; + return result; + } + + public Builder email(String email) { + this.email = email; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/schema.graphql new file mode 100644 index 000000000..d1c4b5459 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/schema.graphql @@ -0,0 +1,12 @@ +type Query { + people(filter: PersonFilter): [Person] +} + +type Person { + firstname: String + lastname: String +} + +input PersonFilter { + email: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/DgsConstants.java new file mode 100644 index 000000000..99cf1b2ba --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/DgsConstants.java @@ -0,0 +1,33 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String People = "people"; + + public static class PEOPLE_INPUT_ARGUMENT { + public static final String Filter = "filter"; + } + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + } + + public static class PERSONFILTER { + public static final String TYPE_NAME = "PersonFilter"; + + public static final String Email = "email"; + + public static final String BirthYear = "birthYear"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/client/PeopleGraphQLQuery.java new file mode 100644 index 000000000..22e5ece30 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/client/PeopleGraphQLQuery.java @@ -0,0 +1,85 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected.types.PersonFilter; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PeopleGraphQLQuery extends GraphQLQuery { + public PeopleGraphQLQuery(PersonFilter filter, String queryName, Set fieldsSet) { + super("query", queryName); + if (filter != null || fieldsSet.contains("filter")) { + getInput().put("filter", filter); + } + } + + public PeopleGraphQLQuery(PersonFilter filter, String queryName, Set fieldsSet, + Map variableReferences, List variableDefinitions) { + super("query", queryName); + if (filter != null || fieldsSet.contains("filter")) { + getInput().put("filter", filter); + } + if(variableDefinitions != null) { + getVariableDefinitions().addAll(variableDefinitions); + } + + if(variableReferences != null) { + getVariableReferences().putAll(variableReferences); + } + } + + public PeopleGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "people"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private PersonFilter filter; + + private String queryName; + + public PeopleGraphQLQuery build() { + return new PeopleGraphQLQuery(filter, queryName, fieldsSet, variableReferences, variableDefinitions); + + } + + public Builder filter(PersonFilter filter) { + this.filter = filter; + this.fieldsSet.add("filter"); + return this; + } + + public Builder filterReference(String variableRef) { + this.variableReferences.put("filter", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.TypeName("PersonFilter")).build()); + this.fieldsSet.add("filter"); + return this; + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/client/PeopleProjectionRoot.java new file mode 100644 index 000000000..ac9f496eb --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/client/PeopleProjectionRoot.java @@ -0,0 +1,24 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PeopleProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PeopleProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PeopleProjectionRoot firstname() { + getFields().put("firstname", null); + return this; + } + + public PeopleProjectionRoot lastname() { + getFields().put("lastname", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/datafetchers/PeopleDatafetcher.java new file mode 100644 index 000000000..d65b8c622 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/datafetchers/PeopleDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class PeopleDatafetcher { + @DgsData( + parentType = "Query", + field = "people" + ) + public List getPeople(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/types/Person.java new file mode 100644 index 000000000..63d2c8d73 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/types/Person.java @@ -0,0 +1,82 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class Person { + private String firstname; + + private String lastname; + + public Person() { + } + + public Person(String firstname, String lastname) { + this.firstname = firstname; + this.lastname = lastname; + } + + public String getFirstname() { + return firstname; + } + + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public String getLastname() { + return lastname; + } + + public void setLastname(String lastname) { + this.lastname = lastname; + } + + @Override + public String toString() { + return "Person{firstname='" + firstname + "', lastname='" + lastname + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Person that = (Person) o; + return Objects.equals(firstname, that.firstname) && + Objects.equals(lastname, that.lastname); + } + + @Override + public int hashCode() { + return Objects.hash(firstname, lastname); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String firstname; + + private String lastname; + + public Person build() { + Person result = new Person(); + result.firstname = this.firstname; + result.lastname = this.lastname; + return result; + } + + public Builder firstname(String firstname) { + this.firstname = firstname; + return this; + } + + public Builder lastname(String lastname) { + this.lastname = lastname; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/types/PersonFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/types/PersonFilter.java new file mode 100644 index 000000000..127b1f825 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/types/PersonFilter.java @@ -0,0 +1,83 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected.types; + +import java.lang.Integer; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class PersonFilter { + private String email; + + private Integer birthYear; + + public PersonFilter() { + } + + public PersonFilter(String email, Integer birthYear) { + this.email = email; + this.birthYear = birthYear; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public Integer getBirthYear() { + return birthYear; + } + + public void setBirthYear(Integer birthYear) { + this.birthYear = birthYear; + } + + @Override + public String toString() { + return "PersonFilter{email='" + email + "', birthYear='" + birthYear + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + PersonFilter that = (PersonFilter) o; + return Objects.equals(email, that.email) && + Objects.equals(birthYear, that.birthYear); + } + + @Override + public int hashCode() { + return Objects.hash(email, birthYear); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String email; + + private Integer birthYear; + + public PersonFilter build() { + PersonFilter result = new PersonFilter(); + result.email = this.email; + result.birthYear = this.birthYear; + return result; + } + + public Builder email(String email) { + this.email = email; + return this; + } + + public Builder birthYear(Integer birthYear) { + this.birthYear = birthYear; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/schema.graphql new file mode 100644 index 000000000..2cfb6286a --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/schema.graphql @@ -0,0 +1,16 @@ +type Query { + people(filter: PersonFilter): [Person] +} + +type Person { + firstname: String + lastname: String +} + +input PersonFilter { + email: String +} + +extend input PersonFilter { + birthYear: Int +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/DgsConstants.java new file mode 100644 index 000000000..bf20c355b --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/DgsConstants.java @@ -0,0 +1,23 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInterface.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String People = "people"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + + public static final String Age = "age"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/client/PeopleGraphQLQuery.java new file mode 100644 index 000000000..c8afb207e --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/client/PeopleGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInterface.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PeopleGraphQLQuery extends GraphQLQuery { + public PeopleGraphQLQuery(String queryName) { + super("query", queryName); + } + + public PeopleGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "people"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public PeopleGraphQLQuery build() { + return new PeopleGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/client/PeopleProjectionRoot.java new file mode 100644 index 000000000..59567bb64 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/client/PeopleProjectionRoot.java @@ -0,0 +1,29 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInterface.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PeopleProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PeopleProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PeopleProjectionRoot firstname() { + getFields().put("firstname", null); + return this; + } + + public PeopleProjectionRoot lastname() { + getFields().put("lastname", null); + return this; + } + + public PeopleProjectionRoot age() { + getFields().put("age", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/datafetchers/PeopleDatafetcher.java new file mode 100644 index 000000000..a2a384e62 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/datafetchers/PeopleDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInterface.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInterface.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class PeopleDatafetcher { + @DgsData( + parentType = "Query", + field = "people" + ) + public List getPeople(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/types/Person.java new file mode 100644 index 000000000..ce4e50e69 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/types/Person.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInterface.expected.types; + +import java.lang.Integer; +import java.lang.String; + +public interface Person { + String getFirstname(); + + void setFirstname(String firstname); + + String getLastname(); + + void setLastname(String lastname); + + Integer getAge(); + + void setAge(Integer age); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/schema.graphql new file mode 100644 index 000000000..2c9a62c06 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/schema.graphql @@ -0,0 +1,12 @@ +type Query { + people: [Person] +} + +interface Person { + firstname: String! + lastname: String +} + +extend interface Person { + age: Int +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/DgsConstants.java new file mode 100644 index 000000000..94a3746db --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/DgsConstants.java @@ -0,0 +1,23 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String People = "people"; + + public static final String Friends = "friends"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/FriendsGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/FriendsGraphQLQuery.java new file mode 100644 index 000000000..bab8cc862 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/FriendsGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class FriendsGraphQLQuery extends GraphQLQuery { + public FriendsGraphQLQuery(String queryName) { + super("query", queryName); + } + + public FriendsGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "friends"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public FriendsGraphQLQuery build() { + return new FriendsGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/FriendsProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/FriendsProjectionRoot.java new file mode 100644 index 000000000..f8733416c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/FriendsProjectionRoot.java @@ -0,0 +1,24 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class FriendsProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public FriendsProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public FriendsProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public FriendsProjectionRoot firstname() { + getFields().put("firstname", null); + return this; + } + + public FriendsProjectionRoot lastname() { + getFields().put("lastname", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/PeopleGraphQLQuery.java new file mode 100644 index 000000000..1dacc65d6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/PeopleGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PeopleGraphQLQuery extends GraphQLQuery { + public PeopleGraphQLQuery(String queryName) { + super("query", queryName); + } + + public PeopleGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "people"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public PeopleGraphQLQuery build() { + return new PeopleGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/PeopleProjectionRoot.java new file mode 100644 index 000000000..1b27b1c2e --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/PeopleProjectionRoot.java @@ -0,0 +1,24 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PeopleProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PeopleProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PeopleProjectionRoot firstname() { + getFields().put("firstname", null); + return this; + } + + public PeopleProjectionRoot lastname() { + getFields().put("lastname", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/datafetchers/FriendsDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/datafetchers/FriendsDatafetcher.java new file mode 100644 index 000000000..e2698b005 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/datafetchers/FriendsDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class FriendsDatafetcher { + @DgsData( + parentType = "Query", + field = "friends" + ) + public List getFriends(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/datafetchers/PeopleDatafetcher.java new file mode 100644 index 000000000..f33755494 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/datafetchers/PeopleDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class PeopleDatafetcher { + @DgsData( + parentType = "Query", + field = "people" + ) + public List getPeople(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/types/Person.java new file mode 100644 index 000000000..c54613bc5 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/types/Person.java @@ -0,0 +1,82 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class Person { + private String firstname; + + private String lastname; + + public Person() { + } + + public Person(String firstname, String lastname) { + this.firstname = firstname; + this.lastname = lastname; + } + + public String getFirstname() { + return firstname; + } + + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public String getLastname() { + return lastname; + } + + public void setLastname(String lastname) { + this.lastname = lastname; + } + + @Override + public String toString() { + return "Person{firstname='" + firstname + "', lastname='" + lastname + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Person that = (Person) o; + return Objects.equals(firstname, that.firstname) && + Objects.equals(lastname, that.lastname); + } + + @Override + public int hashCode() { + return Objects.hash(firstname, lastname); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String firstname; + + private String lastname; + + public Person build() { + Person result = new Person(); + result.firstname = this.firstname; + result.lastname = this.lastname; + return result; + } + + public Builder firstname(String firstname) { + this.firstname = firstname; + return this; + } + + public Builder lastname(String lastname) { + this.lastname = lastname; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/schema.graphql new file mode 100644 index 000000000..5e59e34ff --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/schema.graphql @@ -0,0 +1,12 @@ +type Query { + people: [Person] +} + +type Person { + firstname: String + lastname: String +} + +extend type Query { + friends: [Person] +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/DgsConstants.java new file mode 100644 index 000000000..73d383ef5 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/DgsConstants.java @@ -0,0 +1,23 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedTypes.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String People = "people"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + + public static final String Email = "email"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/client/PeopleGraphQLQuery.java new file mode 100644 index 000000000..c52431965 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/client/PeopleGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedTypes.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PeopleGraphQLQuery extends GraphQLQuery { + public PeopleGraphQLQuery(String queryName) { + super("query", queryName); + } + + public PeopleGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "people"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public PeopleGraphQLQuery build() { + return new PeopleGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/client/PeopleProjectionRoot.java new file mode 100644 index 000000000..bef7b6ea7 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/client/PeopleProjectionRoot.java @@ -0,0 +1,29 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedTypes.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PeopleProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PeopleProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PeopleProjectionRoot firstname() { + getFields().put("firstname", null); + return this; + } + + public PeopleProjectionRoot lastname() { + getFields().put("lastname", null); + return this; + } + + public PeopleProjectionRoot email() { + getFields().put("email", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/datafetchers/PeopleDatafetcher.java new file mode 100644 index 000000000..7bec5062c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/datafetchers/PeopleDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedTypes.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedTypes.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class PeopleDatafetcher { + @DgsData( + parentType = "Query", + field = "people" + ) + public List getPeople(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/types/Person.java new file mode 100644 index 000000000..aba212136 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/types/Person.java @@ -0,0 +1,102 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedTypes.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class Person { + private String firstname; + + private String lastname; + + private String email; + + public Person() { + } + + public Person(String firstname, String lastname, String email) { + this.firstname = firstname; + this.lastname = lastname; + this.email = email; + } + + public String getFirstname() { + return firstname; + } + + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public String getLastname() { + return lastname; + } + + public void setLastname(String lastname) { + this.lastname = lastname; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + @Override + public String toString() { + return "Person{firstname='" + firstname + "', lastname='" + lastname + "', email='" + email + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Person that = (Person) o; + return Objects.equals(firstname, that.firstname) && + Objects.equals(lastname, that.lastname) && + Objects.equals(email, that.email); + } + + @Override + public int hashCode() { + return Objects.hash(firstname, lastname, email); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String firstname; + + private String lastname; + + private String email; + + public Person build() { + Person result = new Person(); + result.firstname = this.firstname; + result.lastname = this.lastname; + result.email = this.email; + return result; + } + + public Builder firstname(String firstname) { + this.firstname = firstname; + return this; + } + + public Builder lastname(String lastname) { + this.lastname = lastname; + return this; + } + + public Builder email(String email) { + this.email = email; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/schema.graphql new file mode 100644 index 000000000..1071abd18 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/schema.graphql @@ -0,0 +1,12 @@ +type Query { + people: [Person] +} + +type Person { + firstname: String + lastname: String +} + +extend type Person { + email: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/DgsConstants.java new file mode 100644 index 000000000..20e0b1957 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/DgsConstants.java @@ -0,0 +1,29 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Search = "search"; + + public static class SEARCH_INPUT_ARGUMENT { + public static final String MovieFilter = "movieFilter"; + } + } + + public static class MOVIE { + public static final String TYPE_NAME = "Movie"; + + public static final String Title = "title"; + } + + public static class MOVIEFILTER { + public static final String TYPE_NAME = "MovieFilter"; + + public static final String TitleFilter = "titleFilter"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/client/SearchGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/client/SearchGraphQLQuery.java new file mode 100644 index 000000000..48ca238a4 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/client/SearchGraphQLQuery.java @@ -0,0 +1,85 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected.types.MovieFilter; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class SearchGraphQLQuery extends GraphQLQuery { + public SearchGraphQLQuery(MovieFilter movieFilter, String queryName, Set fieldsSet) { + super("query", queryName); + if (movieFilter != null || fieldsSet.contains("movieFilter")) { + getInput().put("movieFilter", movieFilter); + } + } + + public SearchGraphQLQuery(MovieFilter movieFilter, String queryName, Set fieldsSet, + Map variableReferences, List variableDefinitions) { + super("query", queryName); + if (movieFilter != null || fieldsSet.contains("movieFilter")) { + getInput().put("movieFilter", movieFilter); + } + if(variableDefinitions != null) { + getVariableDefinitions().addAll(variableDefinitions); + } + + if(variableReferences != null) { + getVariableReferences().putAll(variableReferences); + } + } + + public SearchGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "search"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private MovieFilter movieFilter; + + private String queryName; + + public SearchGraphQLQuery build() { + return new SearchGraphQLQuery(movieFilter, queryName, fieldsSet, variableReferences, variableDefinitions); + + } + + public Builder movieFilter(MovieFilter movieFilter) { + this.movieFilter = movieFilter; + this.fieldsSet.add("movieFilter"); + return this; + } + + public Builder movieFilterReference(String variableRef) { + this.variableReferences.put("movieFilter", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.NonNullType(new graphql.language.TypeName("MovieFilter"))).build()); + this.fieldsSet.add("movieFilter"); + return this; + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/client/SearchProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/client/SearchProjectionRoot.java new file mode 100644 index 000000000..b90a66565 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/client/SearchProjectionRoot.java @@ -0,0 +1,19 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class SearchProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public SearchProjectionRoot() { + super(null, null, java.util.Optional.of("Movie")); + } + + public SearchProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public SearchProjectionRoot title() { + getFields().put("title", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/datafetchers/SearchDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/datafetchers/SearchDatafetcher.java new file mode 100644 index 000000000..82f0ee5eb --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/datafetchers/SearchDatafetcher.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected.types.Movie; +import graphql.schema.DataFetchingEnvironment; + +@DgsComponent +public class SearchDatafetcher { + @DgsData( + parentType = "Query", + field = "search" + ) + public Movie getSearch(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/types/Movie.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/types/Movie.java new file mode 100644 index 000000000..970711190 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/types/Movie.java @@ -0,0 +1,66 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +/** + * Movies are fun to watch. + * They also work well as examples in GraphQL. + */ +public class Movie { + private String title; + + public Movie() { + } + + public Movie(String title) { + this.title = title; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + @Override + public String toString() { + return "Movie{title='" + title + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Movie that = (Movie) o; + return Objects.equals(title, that.title); + } + + @Override + public int hashCode() { + return Objects.hash(title); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String title; + + public Movie build() { + Movie result = new Movie(); + result.title = this.title; + return result; + } + + public Builder title(String title) { + this.title = title; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/types/MovieFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/types/MovieFilter.java new file mode 100644 index 000000000..da8b68e19 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/types/MovieFilter.java @@ -0,0 +1,67 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +/** + * Example filter for Movies. + * + * It takes a title and such. + */ +public class MovieFilter { + private String titleFilter; + + public MovieFilter() { + } + + public MovieFilter(String titleFilter) { + this.titleFilter = titleFilter; + } + + public String getTitleFilter() { + return titleFilter; + } + + public void setTitleFilter(String titleFilter) { + this.titleFilter = titleFilter; + } + + @Override + public String toString() { + return "MovieFilter{titleFilter='" + titleFilter + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MovieFilter that = (MovieFilter) o; + return Objects.equals(titleFilter, that.titleFilter); + } + + @Override + public int hashCode() { + return Objects.hash(titleFilter); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String titleFilter; + + public MovieFilter build() { + MovieFilter result = new MovieFilter(); + result.titleFilter = this.titleFilter; + return result; + } + + public Builder titleFilter(String titleFilter) { + this.titleFilter = titleFilter; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/schema.graphql new file mode 100644 index 000000000..09e4f5f93 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/schema.graphql @@ -0,0 +1,20 @@ +type Query { + search(movieFilter: MovieFilter!): Movie +} + +""" +Movies are fun to watch. +They also work well as examples in GraphQL. +""" +type Movie { + title: String +} + +""" +Example filter for Movies. + +It takes a title and such. +""" +input MovieFilter { + titleFilter: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/DgsConstants.java new file mode 100644 index 000000000..451b66d53 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/DgsConstants.java @@ -0,0 +1,29 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Search = "search"; + + public static class SEARCH_INPUT_ARGUMENT { + public static final String MovieFilter = "movieFilter"; + } + } + + public static class MOVIE { + public static final String TYPE_NAME = "Movie"; + + public static final String Title = "title"; + } + + public static class MOVIEFILTER { + public static final String TYPE_NAME = "MovieFilter"; + + public static final String TitleFilter = "titleFilter"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/client/SearchGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/client/SearchGraphQLQuery.java new file mode 100644 index 000000000..35dbefc35 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/client/SearchGraphQLQuery.java @@ -0,0 +1,85 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected.types.MovieFilter; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class SearchGraphQLQuery extends GraphQLQuery { + public SearchGraphQLQuery(MovieFilter movieFilter, String queryName, Set fieldsSet) { + super("query", queryName); + if (movieFilter != null || fieldsSet.contains("movieFilter")) { + getInput().put("movieFilter", movieFilter); + } + } + + public SearchGraphQLQuery(MovieFilter movieFilter, String queryName, Set fieldsSet, + Map variableReferences, List variableDefinitions) { + super("query", queryName); + if (movieFilter != null || fieldsSet.contains("movieFilter")) { + getInput().put("movieFilter", movieFilter); + } + if(variableDefinitions != null) { + getVariableDefinitions().addAll(variableDefinitions); + } + + if(variableReferences != null) { + getVariableReferences().putAll(variableReferences); + } + } + + public SearchGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "search"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private MovieFilter movieFilter; + + private String queryName; + + public SearchGraphQLQuery build() { + return new SearchGraphQLQuery(movieFilter, queryName, fieldsSet, variableReferences, variableDefinitions); + + } + + public Builder movieFilter(MovieFilter movieFilter) { + this.movieFilter = movieFilter; + this.fieldsSet.add("movieFilter"); + return this; + } + + public Builder movieFilterReference(String variableRef) { + this.variableReferences.put("movieFilter", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.NonNullType(new graphql.language.TypeName("MovieFilter"))).build()); + this.fieldsSet.add("movieFilter"); + return this; + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/client/SearchProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/client/SearchProjectionRoot.java new file mode 100644 index 000000000..55514cc51 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/client/SearchProjectionRoot.java @@ -0,0 +1,19 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class SearchProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public SearchProjectionRoot() { + super(null, null, java.util.Optional.of("Movie")); + } + + public SearchProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public SearchProjectionRoot title() { + getFields().put("title", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/datafetchers/SearchDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/datafetchers/SearchDatafetcher.java new file mode 100644 index 000000000..18bc0b90c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/datafetchers/SearchDatafetcher.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected.types.Movie; +import graphql.schema.DataFetchingEnvironment; + +@DgsComponent +public class SearchDatafetcher { + @DgsData( + parentType = "Query", + field = "search" + ) + public Movie getSearch(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/types/Movie.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/types/Movie.java new file mode 100644 index 000000000..1f107d9c7 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/types/Movie.java @@ -0,0 +1,74 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class Movie { + /** + * The original, non localized title with some specials characters : %!({[*$,.:;. + */ + private String title; + + public Movie() { + } + + public Movie(String title) { + this.title = title; + } + + /** + * The original, non localized title with some specials characters : %!({[*$,.:;. + */ + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + @Override + public String toString() { + return "Movie{title='" + title + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Movie that = (Movie) o; + return Objects.equals(title, that.title); + } + + @Override + public int hashCode() { + return Objects.hash(title); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + /** + * The original, non localized title with some specials characters : %!({[*$,.:;. + */ + private String title; + + public Movie build() { + Movie result = new Movie(); + result.title = this.title; + return result; + } + + /** + * The original, non localized title with some specials characters : %!({[*$,.:;. + */ + public Builder title(String title) { + this.title = title; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/types/MovieFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/types/MovieFilter.java new file mode 100644 index 000000000..fa287944f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/types/MovieFilter.java @@ -0,0 +1,74 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class MovieFilter { + /** + * Starts-with filter + */ + private String titleFilter; + + public MovieFilter() { + } + + public MovieFilter(String titleFilter) { + this.titleFilter = titleFilter; + } + + /** + * Starts-with filter + */ + public String getTitleFilter() { + return titleFilter; + } + + public void setTitleFilter(String titleFilter) { + this.titleFilter = titleFilter; + } + + @Override + public String toString() { + return "MovieFilter{titleFilter='" + titleFilter + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MovieFilter that = (MovieFilter) o; + return Objects.equals(titleFilter, that.titleFilter); + } + + @Override + public int hashCode() { + return Objects.hash(titleFilter); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + /** + * Starts-with filter + */ + private String titleFilter; + + public MovieFilter build() { + MovieFilter result = new MovieFilter(); + result.titleFilter = this.titleFilter; + return result; + } + + /** + * Starts-with filter + */ + public Builder titleFilter(String titleFilter) { + this.titleFilter = titleFilter; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/schema.graphql new file mode 100644 index 000000000..ddf1bbf7a --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/schema.graphql @@ -0,0 +1,17 @@ +type Query { + search(movieFilter: MovieFilter!): Movie +} + +type Movie { + """ + The original, non localized title with some specials characters : %!({[*$,.:;. + """ + title: String +} + +input MovieFilter { + """ + Starts-with filter + """ + titleFilter: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/DgsConstants.java new file mode 100644 index 000000000..9cdcf2250 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/DgsConstants.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWIthNoFields.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Me = "me"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/client/MeGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/client/MeGraphQLQuery.java new file mode 100644 index 000000000..8d44d5d64 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/client/MeGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWIthNoFields.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class MeGraphQLQuery extends GraphQLQuery { + public MeGraphQLQuery(String queryName) { + super("query", queryName); + } + + public MeGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "me"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public MeGraphQLQuery build() { + return new MeGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/client/MeProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/client/MeProjectionRoot.java new file mode 100644 index 000000000..44d6534d1 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/client/MeProjectionRoot.java @@ -0,0 +1,14 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWIthNoFields.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class MeProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public MeProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public MeProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/datafetchers/MeDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/datafetchers/MeDatafetcher.java new file mode 100644 index 000000000..ea37031de --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/datafetchers/MeDatafetcher.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWIthNoFields.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWIthNoFields.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; + +@DgsComponent +public class MeDatafetcher { + @DgsData( + parentType = "Query", + field = "me" + ) + public Person getMe(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/types/Person.java new file mode 100644 index 000000000..fa3c2220f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/types/Person.java @@ -0,0 +1,25 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWIthNoFields.expected.types; + +import java.lang.Override; +import java.lang.String; + +public class Person { + public Person() { + } + + @Override + public String toString() { + return "Person{}"; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + public Person build() { + Person result = new Person(); + return result; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/schema.graphql new file mode 100644 index 000000000..708d6dcbc --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/schema.graphql @@ -0,0 +1,6 @@ +type Query { + me: Person +} + +type Person { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/DgsConstants.java new file mode 100644 index 000000000..7f7ce4837 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/DgsConstants.java @@ -0,0 +1,19 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithBooleanField.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Test = "test"; + } + + public static class REQUIREDTESTTYPE { + public static final String TYPE_NAME = "RequiredTestType"; + + public static final String IsRequired = "isRequired"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/client/TestGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/client/TestGraphQLQuery.java new file mode 100644 index 000000000..68705f615 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/client/TestGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithBooleanField.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class TestGraphQLQuery extends GraphQLQuery { + public TestGraphQLQuery(String queryName) { + super("query", queryName); + } + + public TestGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "test"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public TestGraphQLQuery build() { + return new TestGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/client/TestProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/client/TestProjectionRoot.java new file mode 100644 index 000000000..a6c969593 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/client/TestProjectionRoot.java @@ -0,0 +1,19 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithBooleanField.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class TestProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public TestProjectionRoot() { + super(null, null, java.util.Optional.of("RequiredTestType")); + } + + public TestProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public TestProjectionRoot isRequired() { + getFields().put("isRequired", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/datafetchers/TestDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/datafetchers/TestDatafetcher.java new file mode 100644 index 000000000..54b7fb231 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/datafetchers/TestDatafetcher.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithBooleanField.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithBooleanField.expected.types.RequiredTestType; +import graphql.schema.DataFetchingEnvironment; + +@DgsComponent +public class TestDatafetcher { + @DgsData( + parentType = "Query", + field = "test" + ) + public RequiredTestType getTest(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/types/RequiredTestType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/types/RequiredTestType.java new file mode 100644 index 000000000..8bade5d4e --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/types/RequiredTestType.java @@ -0,0 +1,62 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithBooleanField.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class RequiredTestType { + private boolean isRequired; + + public RequiredTestType() { + } + + public RequiredTestType(boolean isRequired) { + this.isRequired = isRequired; + } + + public boolean getIsRequired() { + return isRequired; + } + + public void setIsRequired(boolean isRequired) { + this.isRequired = isRequired; + } + + @Override + public String toString() { + return "RequiredTestType{isRequired='" + isRequired + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + RequiredTestType that = (RequiredTestType) o; + return isRequired == that.isRequired; + } + + @Override + public int hashCode() { + return Objects.hash(isRequired); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private boolean isRequired; + + public RequiredTestType build() { + RequiredTestType result = new RequiredTestType(); + result.isRequired = this.isRequired; + return result; + } + + public Builder isRequired(boolean isRequired) { + this.isRequired = isRequired; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/schema.graphql new file mode 100644 index 000000000..e7b256e6d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/schema.graphql @@ -0,0 +1,7 @@ +type Query { + test: RequiredTestType +} + +type RequiredTestType { + isRequired: Boolean! +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/DgsConstants.java new file mode 100644 index 000000000..96b4bf3ad --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/DgsConstants.java @@ -0,0 +1,51 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Entity = "entity"; + + public static final String EntityConnection = "entityConnection"; + } + + public static class ENTITY { + public static final String TYPE_NAME = "Entity"; + + public static final String Long = "long"; + + public static final String DateTime = "dateTime"; + } + + public static class ENTITYCONNECTION { + public static final String TYPE_NAME = "EntityConnection"; + + public static final String PageInfo = "pageInfo"; + + public static final String Edges = "edges"; + } + + public static class ENTITYEDGE { + public static final String TYPE_NAME = "EntityEdge"; + + public static final String Cursor = "cursor"; + + public static final String Node = "node"; + } + + public static class PAGEINFO { + public static final String TYPE_NAME = "PageInfo"; + + public static final String StartCursor = "startCursor"; + + public static final String EndCursor = "endCursor"; + + public static final String HasNextPage = "hasNextPage"; + + public static final String HasPreviousPage = "hasPreviousPage"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityConnectionGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityConnectionGraphQLQuery.java new file mode 100644 index 000000000..abb9969a3 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityConnectionGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class EntityConnectionGraphQLQuery extends GraphQLQuery { + public EntityConnectionGraphQLQuery(String queryName) { + super("query", queryName); + } + + public EntityConnectionGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "entityConnection"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public EntityConnectionGraphQLQuery build() { + return new EntityConnectionGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityConnectionProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityConnectionProjectionRoot.java new file mode 100644 index 000000000..da9910e5d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityConnectionProjectionRoot.java @@ -0,0 +1,28 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class EntityConnectionProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public EntityConnectionProjectionRoot() { + super(null, null, java.util.Optional.of("EntityConnection")); + } + + public EntityConnectionProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PageInfoProjection, EntityConnectionProjectionRoot> pageInfo( + ) { + PageInfoProjection, EntityConnectionProjectionRoot> projection = new PageInfoProjection<>(this, this); + getFields().put("pageInfo", projection); + return projection; + } + + public EntityEdgeProjection, EntityConnectionProjectionRoot> edges( + ) { + EntityEdgeProjection, EntityConnectionProjectionRoot> projection = new EntityEdgeProjection<>(this, this); + getFields().put("edges", projection); + return projection; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityEdgeProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityEdgeProjection.java new file mode 100644 index 000000000..13c13e157 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityEdgeProjection.java @@ -0,0 +1,25 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class EntityEdgeProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public EntityEdgeProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("EntityEdge")); + } + + public EntityEdgeProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public EntityProjection, ROOT> node() { + EntityProjection, ROOT> projection = new EntityProjection<>(this, getRoot()); + getFields().put("node", projection); + return projection; + } + + public EntityEdgeProjection cursor() { + getFields().put("cursor", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityGraphQLQuery.java new file mode 100644 index 000000000..0a332e71c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class EntityGraphQLQuery extends GraphQLQuery { + public EntityGraphQLQuery(String queryName) { + super("query", queryName); + } + + public EntityGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "entity"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public EntityGraphQLQuery build() { + return new EntityGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityProjection.java new file mode 100644 index 000000000..cb207db86 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityProjection.java @@ -0,0 +1,24 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class EntityProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public EntityProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Entity")); + } + + public EntityProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public EntityProjection _long() { + getFields().put("long", null); + return this; + } + + public EntityProjection dateTime() { + getFields().put("dateTime", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityProjectionRoot.java new file mode 100644 index 000000000..999569d40 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityProjectionRoot.java @@ -0,0 +1,24 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class EntityProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public EntityProjectionRoot() { + super(null, null, java.util.Optional.of("Entity")); + } + + public EntityProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public EntityProjectionRoot _long() { + getFields().put("long", null); + return this; + } + + public EntityProjectionRoot dateTime() { + getFields().put("dateTime", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/PageInfoProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/PageInfoProjection.java new file mode 100644 index 000000000..22de90986 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/PageInfoProjection.java @@ -0,0 +1,34 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PageInfoProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PageInfoProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("PageInfo")); + } + + public PageInfoProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public PageInfoProjection startCursor() { + getFields().put("startCursor", null); + return this; + } + + public PageInfoProjection endCursor() { + getFields().put("endCursor", null); + return this; + } + + public PageInfoProjection hasNextPage() { + getFields().put("hasNextPage", null); + return this; + } + + public PageInfoProjection hasPreviousPage() { + getFields().put("hasPreviousPage", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/datafetchers/EntityConnectionDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/datafetchers/EntityConnectionDatafetcher.java new file mode 100644 index 000000000..61c299578 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/datafetchers/EntityConnectionDatafetcher.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.types.EntityConnection; +import graphql.schema.DataFetchingEnvironment; + +@DgsComponent +public class EntityConnectionDatafetcher { + @DgsData( + parentType = "Query", + field = "entityConnection" + ) + public EntityConnection getEntityConnection(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/datafetchers/EntityDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/datafetchers/EntityDatafetcher.java new file mode 100644 index 000000000..64dc28d3c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/datafetchers/EntityDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.types.Entity; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class EntityDatafetcher { + @DgsData( + parentType = "Query", + field = "entity" + ) + public List getEntity(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/Entity.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/Entity.java new file mode 100644 index 000000000..b35e77f27 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/Entity.java @@ -0,0 +1,84 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.types; + +import java.lang.Long; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.time.OffsetDateTime; +import java.util.Objects; + +public class Entity { + private Long _long; + + private OffsetDateTime dateTime; + + public Entity() { + } + + public Entity(Long _long, OffsetDateTime dateTime) { + this._long = _long; + this.dateTime = dateTime; + } + + public Long getLong() { + return _long; + } + + public void setLong(Long _long) { + this._long = _long; + } + + public OffsetDateTime getDateTime() { + return dateTime; + } + + public void setDateTime(OffsetDateTime dateTime) { + this.dateTime = dateTime; + } + + @Override + public String toString() { + return "Entity{long='" + _long + "', dateTime='" + dateTime + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Entity that = (Entity) o; + return Objects.equals(_long, that._long) && + Objects.equals(dateTime, that.dateTime); + } + + @Override + public int hashCode() { + return Objects.hash(_long, dateTime); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private Long _long; + + private OffsetDateTime dateTime; + + public Entity build() { + Entity result = new Entity(); + result._long = this._long; + result.dateTime = this.dateTime; + return result; + } + + public Builder _long(Long _long) { + this._long = _long; + return this; + } + + public Builder dateTime(OffsetDateTime dateTime) { + this.dateTime = dateTime; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/EntityConnection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/EntityConnection.java new file mode 100644 index 000000000..e944951fd --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/EntityConnection.java @@ -0,0 +1,83 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +public class EntityConnection { + private PageInfo pageInfo; + + private List edges; + + public EntityConnection() { + } + + public EntityConnection(PageInfo pageInfo, List edges) { + this.pageInfo = pageInfo; + this.edges = edges; + } + + public PageInfo getPageInfo() { + return pageInfo; + } + + public void setPageInfo(PageInfo pageInfo) { + this.pageInfo = pageInfo; + } + + public List getEdges() { + return edges; + } + + public void setEdges(List edges) { + this.edges = edges; + } + + @Override + public String toString() { + return "EntityConnection{pageInfo='" + pageInfo + "', edges='" + edges + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + EntityConnection that = (EntityConnection) o; + return Objects.equals(pageInfo, that.pageInfo) && + Objects.equals(edges, that.edges); + } + + @Override + public int hashCode() { + return Objects.hash(pageInfo, edges); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private PageInfo pageInfo; + + private List edges; + + public EntityConnection build() { + EntityConnection result = new EntityConnection(); + result.pageInfo = this.pageInfo; + result.edges = this.edges; + return result; + } + + public Builder pageInfo(PageInfo pageInfo) { + this.pageInfo = pageInfo; + return this; + } + + public Builder edges(List edges) { + this.edges = edges; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/EntityEdge.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/EntityEdge.java new file mode 100644 index 000000000..76f411313 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/EntityEdge.java @@ -0,0 +1,82 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class EntityEdge { + private String cursor; + + private Entity node; + + public EntityEdge() { + } + + public EntityEdge(String cursor, Entity node) { + this.cursor = cursor; + this.node = node; + } + + public String getCursor() { + return cursor; + } + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + public Entity getNode() { + return node; + } + + public void setNode(Entity node) { + this.node = node; + } + + @Override + public String toString() { + return "EntityEdge{cursor='" + cursor + "', node='" + node + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + EntityEdge that = (EntityEdge) o; + return Objects.equals(cursor, that.cursor) && + Objects.equals(node, that.node); + } + + @Override + public int hashCode() { + return Objects.hash(cursor, node); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String cursor; + + private Entity node; + + public EntityEdge build() { + EntityEdge result = new EntityEdge(); + result.cursor = this.cursor; + result.node = this.node; + return result; + } + + public Builder cursor(String cursor) { + this.cursor = cursor; + return this; + } + + public Builder node(Entity node) { + this.node = node; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/PageInfo.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/PageInfo.java new file mode 100644 index 000000000..c913eaf7f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/PageInfo.java @@ -0,0 +1,123 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class PageInfo { + private String startCursor; + + private String endCursor; + + private boolean hasNextPage; + + private boolean hasPreviousPage; + + public PageInfo() { + } + + public PageInfo(String startCursor, String endCursor, boolean hasNextPage, + boolean hasPreviousPage) { + this.startCursor = startCursor; + this.endCursor = endCursor; + this.hasNextPage = hasNextPage; + this.hasPreviousPage = hasPreviousPage; + } + + public String getStartCursor() { + return startCursor; + } + + public void setStartCursor(String startCursor) { + this.startCursor = startCursor; + } + + public String getEndCursor() { + return endCursor; + } + + public void setEndCursor(String endCursor) { + this.endCursor = endCursor; + } + + public boolean getHasNextPage() { + return hasNextPage; + } + + public void setHasNextPage(boolean hasNextPage) { + this.hasNextPage = hasNextPage; + } + + public boolean getHasPreviousPage() { + return hasPreviousPage; + } + + public void setHasPreviousPage(boolean hasPreviousPage) { + this.hasPreviousPage = hasPreviousPage; + } + + @Override + public String toString() { + return "PageInfo{startCursor='" + startCursor + "', endCursor='" + endCursor + "', hasNextPage='" + hasNextPage + "', hasPreviousPage='" + hasPreviousPage + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + PageInfo that = (PageInfo) o; + return Objects.equals(startCursor, that.startCursor) && + Objects.equals(endCursor, that.endCursor) && + hasNextPage == that.hasNextPage && + hasPreviousPage == that.hasPreviousPage; + } + + @Override + public int hashCode() { + return Objects.hash(startCursor, endCursor, hasNextPage, hasPreviousPage); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String startCursor; + + private String endCursor; + + private boolean hasNextPage; + + private boolean hasPreviousPage; + + public PageInfo build() { + PageInfo result = new PageInfo(); + result.startCursor = this.startCursor; + result.endCursor = this.endCursor; + result.hasNextPage = this.hasNextPage; + result.hasPreviousPage = this.hasPreviousPage; + return result; + } + + public Builder startCursor(String startCursor) { + this.startCursor = startCursor; + return this; + } + + public Builder endCursor(String endCursor) { + this.endCursor = endCursor; + return this; + } + + public Builder hasNextPage(boolean hasNextPage) { + this.hasNextPage = hasNextPage; + return this; + } + + public Builder hasPreviousPage(boolean hasPreviousPage) { + this.hasPreviousPage = hasPreviousPage; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/schema.graphql new file mode 100644 index 000000000..3398d5a78 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/schema.graphql @@ -0,0 +1,29 @@ +type Query { + entity: [Entity] + entityConnection: EntityConnection +} + +type Entity { + long: Long + dateTime: DateTime +} + +type EntityConnection { + pageInfo: PageInfo! + edges: [EntityEdge] +} + +type EntityEdge { + cursor: String! + node: Entity +} + +type PageInfo { + startCursor: String + endCursor: String + hasNextPage: Boolean! + hasPreviousPage: Boolean! +} + +scalar Long @javaType(name : "java.lang.Long") +scalar DateTime @javaType(name : "java.time.OffsetDateTime") diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/DgsConstants.java new file mode 100644 index 000000000..74c48477e --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/DgsConstants.java @@ -0,0 +1,43 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Cars = "cars"; + } + + public static class CAR { + public static final String TYPE_NAME = "Car"; + + public static final String Make = "make"; + + public static final String Model = "model"; + + public static final String Engine = "engine"; + } + + public static class ENGINE { + public static final String TYPE_NAME = "Engine"; + + public static final String Type = "type"; + + public static final String Bhp = "bhp"; + + public static final String Size = "size"; + + public static final String Performance = "performance"; + } + + public static class PERFORMANCE { + public static final String TYPE_NAME = "Performance"; + + public static final String ZeroToSixty = "zeroToSixty"; + + public static final String QuarterMile = "quarterMile"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/CarsGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/CarsGraphQLQuery.java new file mode 100644 index 000000000..e657f541c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/CarsGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class CarsGraphQLQuery extends GraphQLQuery { + public CarsGraphQLQuery(String queryName) { + super("query", queryName); + } + + public CarsGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "cars"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public CarsGraphQLQuery build() { + return new CarsGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/CarsProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/CarsProjectionRoot.java new file mode 100644 index 000000000..fca215b1b --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/CarsProjectionRoot.java @@ -0,0 +1,31 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class CarsProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public CarsProjectionRoot() { + super(null, null, java.util.Optional.of("Car")); + } + + public CarsProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public EngineProjection, CarsProjectionRoot> engine( + ) { + EngineProjection, CarsProjectionRoot> projection = new EngineProjection<>(this, this); + getFields().put("engine", projection); + return projection; + } + + public CarsProjectionRoot make() { + getFields().put("make", null); + return this; + } + + public CarsProjectionRoot model() { + getFields().put("model", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/EngineProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/EngineProjection.java new file mode 100644 index 000000000..1f9483fde --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/EngineProjection.java @@ -0,0 +1,35 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class EngineProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public EngineProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Engine")); + } + + public EngineProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public PerformanceProjection, ROOT> performance() { + PerformanceProjection, ROOT> projection = new PerformanceProjection<>(this, getRoot()); + getFields().put("performance", projection); + return projection; + } + + public EngineProjection type() { + getFields().put("type", null); + return this; + } + + public EngineProjection bhp() { + getFields().put("bhp", null); + return this; + } + + public EngineProjection size() { + getFields().put("size", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/PerformanceProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/PerformanceProjection.java new file mode 100644 index 000000000..e59d30e69 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/PerformanceProjection.java @@ -0,0 +1,24 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PerformanceProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PerformanceProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Performance")); + } + + public PerformanceProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public PerformanceProjection zeroToSixty() { + getFields().put("zeroToSixty", null); + return this; + } + + public PerformanceProjection quarterMile() { + getFields().put("quarterMile", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/datafetchers/CarsDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/datafetchers/CarsDatafetcher.java new file mode 100644 index 000000000..b36e3f513 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/datafetchers/CarsDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.types.Car; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class CarsDatafetcher { + @DgsData( + parentType = "Query", + field = "cars" + ) + public List getCars(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Car.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Car.java new file mode 100644 index 000000000..d265ffdf1 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Car.java @@ -0,0 +1,102 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class Car { + private String make; + + private String model; + + private Engine engine; + + public Car() { + } + + public Car(String make, String model, Engine engine) { + this.make = make; + this.model = model; + this.engine = engine; + } + + public String getMake() { + return make; + } + + public void setMake(String make) { + this.make = make; + } + + public String getModel() { + return model; + } + + public void setModel(String model) { + this.model = model; + } + + public Engine getEngine() { + return engine; + } + + public void setEngine(Engine engine) { + this.engine = engine; + } + + @Override + public String toString() { + return "Car{make='" + make + "', model='" + model + "', engine='" + engine + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Car that = (Car) o; + return Objects.equals(make, that.make) && + Objects.equals(model, that.model) && + Objects.equals(engine, that.engine); + } + + @Override + public int hashCode() { + return Objects.hash(make, model, engine); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String make; + + private String model; + + private Engine engine; + + public Car build() { + Car result = new Car(); + result.make = this.make; + result.model = this.model; + result.engine = this.engine; + return result; + } + + public Builder make(String make) { + this.make = make; + return this; + } + + public Builder model(String model) { + this.model = model; + return this; + } + + public Builder engine(Engine engine) { + this.engine = engine; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Engine.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Engine.java new file mode 100644 index 000000000..9f566a69c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Engine.java @@ -0,0 +1,124 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.types; + +import java.lang.Double; +import java.lang.Integer; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class Engine { + private String type; + + private Integer bhp; + + private Double size; + + private Performance performance; + + public Engine() { + } + + public Engine(String type, Integer bhp, Double size, Performance performance) { + this.type = type; + this.bhp = bhp; + this.size = size; + this.performance = performance; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public Integer getBhp() { + return bhp; + } + + public void setBhp(Integer bhp) { + this.bhp = bhp; + } + + public Double getSize() { + return size; + } + + public void setSize(Double size) { + this.size = size; + } + + public Performance getPerformance() { + return performance; + } + + public void setPerformance(Performance performance) { + this.performance = performance; + } + + @Override + public String toString() { + return "Engine{type='" + type + "', bhp='" + bhp + "', size='" + size + "', performance='" + performance + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Engine that = (Engine) o; + return Objects.equals(type, that.type) && + Objects.equals(bhp, that.bhp) && + Objects.equals(size, that.size) && + Objects.equals(performance, that.performance); + } + + @Override + public int hashCode() { + return Objects.hash(type, bhp, size, performance); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String type; + + private Integer bhp; + + private Double size; + + private Performance performance; + + public Engine build() { + Engine result = new Engine(); + result.type = this.type; + result.bhp = this.bhp; + result.size = this.size; + result.performance = this.performance; + return result; + } + + public Builder type(String type) { + this.type = type; + return this; + } + + public Builder bhp(Integer bhp) { + this.bhp = bhp; + return this; + } + + public Builder size(Double size) { + this.size = size; + return this; + } + + public Builder performance(Performance performance) { + this.performance = performance; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Performance.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Performance.java new file mode 100644 index 000000000..84e0eee78 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Performance.java @@ -0,0 +1,83 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.types; + +import java.lang.Double; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class Performance { + private Double zeroToSixty; + + private Double quarterMile; + + public Performance() { + } + + public Performance(Double zeroToSixty, Double quarterMile) { + this.zeroToSixty = zeroToSixty; + this.quarterMile = quarterMile; + } + + public Double getZeroToSixty() { + return zeroToSixty; + } + + public void setZeroToSixty(Double zeroToSixty) { + this.zeroToSixty = zeroToSixty; + } + + public Double getQuarterMile() { + return quarterMile; + } + + public void setQuarterMile(Double quarterMile) { + this.quarterMile = quarterMile; + } + + @Override + public String toString() { + return "Performance{zeroToSixty='" + zeroToSixty + "', quarterMile='" + quarterMile + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Performance that = (Performance) o; + return Objects.equals(zeroToSixty, that.zeroToSixty) && + Objects.equals(quarterMile, that.quarterMile); + } + + @Override + public int hashCode() { + return Objects.hash(zeroToSixty, quarterMile); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private Double zeroToSixty; + + private Double quarterMile; + + public Performance build() { + Performance result = new Performance(); + result.zeroToSixty = this.zeroToSixty; + result.quarterMile = this.quarterMile; + return result; + } + + public Builder zeroToSixty(Double zeroToSixty) { + this.zeroToSixty = zeroToSixty; + return this; + } + + public Builder quarterMile(Double quarterMile) { + this.quarterMile = quarterMile; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/schema.graphql new file mode 100644 index 000000000..fd4bdff39 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/schema.graphql @@ -0,0 +1,21 @@ +type Query { + cars: [Car] +} + +type Car { + make: String + model: String + engine: Engine +} + +type Engine { + type: String + bhp: Int + size: Float + performance: Performance +} + +type Performance { + zeroToSixty: Float + quarterMile: Float +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/DgsConstants.java new file mode 100644 index 000000000..28c735e78 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/DgsConstants.java @@ -0,0 +1,23 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterface.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String People = "people"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + + public static final String Age = "age"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/client/PeopleGraphQLQuery.java new file mode 100644 index 000000000..04d1627a6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/client/PeopleGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterface.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PeopleGraphQLQuery extends GraphQLQuery { + public PeopleGraphQLQuery(String queryName) { + super("query", queryName); + } + + public PeopleGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "people"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public PeopleGraphQLQuery build() { + return new PeopleGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/client/PeopleProjectionRoot.java new file mode 100644 index 000000000..0fac7b9a6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/client/PeopleProjectionRoot.java @@ -0,0 +1,29 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterface.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PeopleProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PeopleProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PeopleProjectionRoot firstname() { + getFields().put("firstname", null); + return this; + } + + public PeopleProjectionRoot lastname() { + getFields().put("lastname", null); + return this; + } + + public PeopleProjectionRoot age() { + getFields().put("age", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/datafetchers/PeopleDatafetcher.java new file mode 100644 index 000000000..a0fc124d3 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/datafetchers/PeopleDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterface.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterface.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class PeopleDatafetcher { + @DgsData( + parentType = "Query", + field = "people" + ) + public List getPeople(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/types/Person.java new file mode 100644 index 000000000..bb995ad42 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/types/Person.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterface.expected.types; + +import java.lang.Integer; +import java.lang.String; + +public interface Person { + String getFirstname(); + + void setFirstname(String firstname); + + String getLastname(); + + void setLastname(String lastname); + + Integer getAge(); + + void setAge(Integer age); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/schema.graphql new file mode 100644 index 000000000..2c9a62c06 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/schema.graphql @@ -0,0 +1,12 @@ +type Query { + people: [Person] +} + +interface Person { + firstname: String! + lastname: String +} + +extend interface Person { + age: Int +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/DgsConstants.java new file mode 100644 index 000000000..2cdf23746 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/DgsConstants.java @@ -0,0 +1,35 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String People = "people"; + } + + public static class EMPLOYEE { + public static final String TYPE_NAME = "Employee"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + + public static final String Company = "company"; + + public static final String Age = "age"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + + public static final String Age = "age"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/EmployeeFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/EmployeeFragmentProjection.java new file mode 100644 index 000000000..e146d6b56 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/EmployeeFragmentProjection.java @@ -0,0 +1,55 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import java.lang.Override; +import java.lang.String; + +public class EmployeeFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + { + getFields().put("__typename", null); + } + + public EmployeeFragmentProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Employee")); + } + + public EmployeeFragmentProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public EmployeeFragmentProjection firstname() { + getFields().put("firstname", null); + return this; + } + + public EmployeeFragmentProjection lastname() { + getFields().put("lastname", null); + return this; + } + + public EmployeeFragmentProjection company() { + getFields().put("company", null); + return this; + } + + public EmployeeFragmentProjection age() { + getFields().put("age", null); + return this; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("... on Employee {"); + getFields().forEach((k, v) -> { + builder.append(" ").append(k); + if(v != null) { + builder.append(" ").append(v.toString()); + } + }); + builder.append("}"); + + return builder.toString(); + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/PeopleGraphQLQuery.java new file mode 100644 index 000000000..ffb34365d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/PeopleGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PeopleGraphQLQuery extends GraphQLQuery { + public PeopleGraphQLQuery(String queryName) { + super("query", queryName); + } + + public PeopleGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "people"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public PeopleGraphQLQuery build() { + return new PeopleGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/PeopleProjectionRoot.java new file mode 100644 index 000000000..8f49cccae --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/PeopleProjectionRoot.java @@ -0,0 +1,36 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PeopleProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PeopleProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PeopleProjectionRoot firstname() { + getFields().put("firstname", null); + return this; + } + + public PeopleProjectionRoot lastname() { + getFields().put("lastname", null); + return this; + } + + public PeopleProjectionRoot age() { + getFields().put("age", null); + return this; + } + + public EmployeeFragmentProjection, PeopleProjectionRoot> onEmployee( + ) { + EmployeeFragmentProjection, PeopleProjectionRoot> fragment = new EmployeeFragmentProjection<>(this, this); + getFragments().add(fragment); + return fragment; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/datafetchers/PeopleDatafetcher.java new file mode 100644 index 000000000..87142d483 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/datafetchers/PeopleDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class PeopleDatafetcher { + @DgsData( + parentType = "Query", + field = "people" + ) + public List getPeople(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/types/Employee.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/types/Employee.java new file mode 100644 index 000000000..407da451f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/types/Employee.java @@ -0,0 +1,126 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Employee implements com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.types.Person { + private String firstname; + + private String lastname; + + private String company; + + private int age; + + public Employee() { + } + + public Employee(String firstname, String lastname, String company, int age) { + this.firstname = firstname; + this.lastname = lastname; + this.company = company; + this.age = age; + } + + public String getFirstname() { + return firstname; + } + + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public String getLastname() { + return lastname; + } + + public void setLastname(String lastname) { + this.lastname = lastname; + } + + public String getCompany() { + return company; + } + + public void setCompany(String company) { + this.company = company; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + @Override + public String toString() { + return "Employee{firstname='" + firstname + "', lastname='" + lastname + "', company='" + company + "', age='" + age + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Employee that = (Employee) o; + return Objects.equals(firstname, that.firstname) && + Objects.equals(lastname, that.lastname) && + Objects.equals(company, that.company) && + age == that.age; + } + + @Override + public int hashCode() { + return Objects.hash(firstname, lastname, company, age); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String firstname; + + private String lastname; + + private String company; + + private int age; + + public Employee build() { + Employee result = new Employee(); + result.firstname = this.firstname; + result.lastname = this.lastname; + result.company = this.company; + result.age = this.age; + return result; + } + + public Builder firstname(String firstname) { + this.firstname = firstname; + return this; + } + + public Builder lastname(String lastname) { + this.lastname = lastname; + return this; + } + + public Builder company(String company) { + this.company = company; + return this; + } + + public Builder age(int age) { + this.age = age; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/types/Person.java new file mode 100644 index 000000000..9b1c4b829 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/types/Person.java @@ -0,0 +1,25 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.String; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes(@JsonSubTypes.Type(value = Employee.class, name = "Employee")) +public interface Person { + String getFirstname(); + + void setFirstname(String firstname); + + String getLastname(); + + void setLastname(String lastname); + + int getAge(); + + void setAge(int age); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/schema.graphql new file mode 100644 index 000000000..61fa5a66e --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/schema.graphql @@ -0,0 +1,22 @@ +type Query { + people: [Person] +} + +interface Person { + firstname: String! + lastname: String +} + +type Employee implements Person { + firstname: String! + lastname: String + company: String +} + +extend interface Person { + age: Int! +} + +extend type Employee { + age: Int! +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/DgsConstants.java new file mode 100644 index 000000000..c8cee0bcc --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/DgsConstants.java @@ -0,0 +1,31 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String People = "people"; + } + + public static class EMPLOYEE { + public static final String TYPE_NAME = "Employee"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + + public static final String Company = "company"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/EmployeeFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/EmployeeFragmentProjection.java new file mode 100644 index 000000000..b9a6eacd1 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/EmployeeFragmentProjection.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import java.lang.Override; +import java.lang.String; + +public class EmployeeFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + { + getFields().put("__typename", null); + } + + public EmployeeFragmentProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Employee")); + } + + public EmployeeFragmentProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public EmployeeFragmentProjection firstname() { + getFields().put("firstname", null); + return this; + } + + public EmployeeFragmentProjection lastname() { + getFields().put("lastname", null); + return this; + } + + public EmployeeFragmentProjection company() { + getFields().put("company", null); + return this; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("... on Employee {"); + getFields().forEach((k, v) -> { + builder.append(" ").append(k); + if(v != null) { + builder.append(" ").append(v.toString()); + } + }); + builder.append("}"); + + return builder.toString(); + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/PeopleGraphQLQuery.java new file mode 100644 index 000000000..e9c094d5f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/PeopleGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PeopleGraphQLQuery extends GraphQLQuery { + public PeopleGraphQLQuery(String queryName) { + super("query", queryName); + } + + public PeopleGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "people"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public PeopleGraphQLQuery build() { + return new PeopleGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/PeopleProjectionRoot.java new file mode 100644 index 000000000..1f81586f9 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/PeopleProjectionRoot.java @@ -0,0 +1,31 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PeopleProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PeopleProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PeopleProjectionRoot firstname() { + getFields().put("firstname", null); + return this; + } + + public PeopleProjectionRoot lastname() { + getFields().put("lastname", null); + return this; + } + + public EmployeeFragmentProjection, PeopleProjectionRoot> onEmployee( + ) { + EmployeeFragmentProjection, PeopleProjectionRoot> fragment = new EmployeeFragmentProjection<>(this, this); + getFragments().add(fragment); + return fragment; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/datafetchers/PeopleDatafetcher.java new file mode 100644 index 000000000..f9e949d94 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/datafetchers/PeopleDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class PeopleDatafetcher { + @DgsData( + parentType = "Query", + field = "people" + ) + public List getPeople(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/types/Employee.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/types/Employee.java new file mode 100644 index 000000000..b97cfbcde --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/types/Employee.java @@ -0,0 +1,106 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Employee implements com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.types.Person { + private String firstname; + + private String lastname; + + private String company; + + public Employee() { + } + + public Employee(String firstname, String lastname, String company) { + this.firstname = firstname; + this.lastname = lastname; + this.company = company; + } + + public String getFirstname() { + return firstname; + } + + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public String getLastname() { + return lastname; + } + + public void setLastname(String lastname) { + this.lastname = lastname; + } + + public String getCompany() { + return company; + } + + public void setCompany(String company) { + this.company = company; + } + + @Override + public String toString() { + return "Employee{firstname='" + firstname + "', lastname='" + lastname + "', company='" + company + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Employee that = (Employee) o; + return Objects.equals(firstname, that.firstname) && + Objects.equals(lastname, that.lastname) && + Objects.equals(company, that.company); + } + + @Override + public int hashCode() { + return Objects.hash(firstname, lastname, company); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String firstname; + + private String lastname; + + private String company; + + public Employee build() { + Employee result = new Employee(); + result.firstname = this.firstname; + result.lastname = this.lastname; + result.company = this.company; + return result; + } + + public Builder firstname(String firstname) { + this.firstname = firstname; + return this; + } + + public Builder lastname(String lastname) { + this.lastname = lastname; + return this; + } + + public Builder company(String company) { + this.company = company; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/types/Person.java new file mode 100644 index 000000000..40a200906 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/types/Person.java @@ -0,0 +1,21 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.String; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes(@JsonSubTypes.Type(value = Employee.class, name = "Employee")) +public interface Person { + String getFirstname(); + + void setFirstname(String firstname); + + String getLastname(); + + void setLastname(String lastname); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/schema.graphql new file mode 100644 index 000000000..43fb6eb4d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/schema.graphql @@ -0,0 +1,14 @@ +type Query { + people: [Person] +} + +interface Person { + firstname: String + lastname: String +} + +type Employee implements Person { + firstname: String + lastname: String + company: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/DgsConstants.java new file mode 100644 index 000000000..5ab648678 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/DgsConstants.java @@ -0,0 +1,43 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String People = "people"; + } + + public static class TALENT { + public static final String TYPE_NAME = "Talent"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + + public static final String Company = "company"; + + public static final String ImdbProfile = "imdbProfile"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + } + + public static class EMPLOYEE { + public static final String TYPE_NAME = "Employee"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + + public static final String Company = "company"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/client/PeopleGraphQLQuery.java new file mode 100644 index 000000000..b3e2b9d4d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/client/PeopleGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PeopleGraphQLQuery extends GraphQLQuery { + public PeopleGraphQLQuery(String queryName) { + super("query", queryName); + } + + public PeopleGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "people"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public PeopleGraphQLQuery build() { + return new PeopleGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/client/PeopleProjectionRoot.java new file mode 100644 index 000000000..345351bea --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/client/PeopleProjectionRoot.java @@ -0,0 +1,24 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PeopleProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PeopleProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PeopleProjectionRoot firstname() { + getFields().put("firstname", null); + return this; + } + + public PeopleProjectionRoot lastname() { + getFields().put("lastname", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/datafetchers/PeopleDatafetcher.java new file mode 100644 index 000000000..3f8d25ff1 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/datafetchers/PeopleDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class PeopleDatafetcher { + @DgsData( + parentType = "Query", + field = "people" + ) + public List getPeople(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Employee.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Employee.java new file mode 100644 index 000000000..4e1b502d8 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Employee.java @@ -0,0 +1,25 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.String; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes(@JsonSubTypes.Type(value = Talent.class, name = "Talent")) +public interface Employee extends Person { + String getFirstname(); + + void setFirstname(String firstname); + + String getLastname(); + + void setLastname(String lastname); + + String getCompany(); + + void setCompany(String company); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Person.java new file mode 100644 index 000000000..8e5848210 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Person.java @@ -0,0 +1,13 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.types; + +import java.lang.String; + +public interface Person { + String getFirstname(); + + void setFirstname(String firstname); + + String getLastname(); + + void setLastname(String lastname); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Talent.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Talent.java new file mode 100644 index 000000000..d8fa0e097 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Talent.java @@ -0,0 +1,126 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Talent implements com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.types.Employee { + private String firstname; + + private String lastname; + + private String company; + + private String imdbProfile; + + public Talent() { + } + + public Talent(String firstname, String lastname, String company, String imdbProfile) { + this.firstname = firstname; + this.lastname = lastname; + this.company = company; + this.imdbProfile = imdbProfile; + } + + public String getFirstname() { + return firstname; + } + + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public String getLastname() { + return lastname; + } + + public void setLastname(String lastname) { + this.lastname = lastname; + } + + public String getCompany() { + return company; + } + + public void setCompany(String company) { + this.company = company; + } + + public String getImdbProfile() { + return imdbProfile; + } + + public void setImdbProfile(String imdbProfile) { + this.imdbProfile = imdbProfile; + } + + @Override + public String toString() { + return "Talent{firstname='" + firstname + "', lastname='" + lastname + "', company='" + company + "', imdbProfile='" + imdbProfile + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Talent that = (Talent) o; + return Objects.equals(firstname, that.firstname) && + Objects.equals(lastname, that.lastname) && + Objects.equals(company, that.company) && + Objects.equals(imdbProfile, that.imdbProfile); + } + + @Override + public int hashCode() { + return Objects.hash(firstname, lastname, company, imdbProfile); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String firstname; + + private String lastname; + + private String company; + + private String imdbProfile; + + public Talent build() { + Talent result = new Talent(); + result.firstname = this.firstname; + result.lastname = this.lastname; + result.company = this.company; + result.imdbProfile = this.imdbProfile; + return result; + } + + public Builder firstname(String firstname) { + this.firstname = firstname; + return this; + } + + public Builder lastname(String lastname) { + this.lastname = lastname; + return this; + } + + public Builder company(String company) { + this.company = company; + return this; + } + + public Builder imdbProfile(String imdbProfile) { + this.imdbProfile = imdbProfile; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/schema.graphql new file mode 100644 index 000000000..7b4220af0 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/schema.graphql @@ -0,0 +1,21 @@ +type Query { + people: [Person] +} + +interface Person { + firstname: String! + lastname: String +} + +interface Employee implements Person { + firstname: String! + lastname: String + company: String +} + +type Talent implements Employee { + firstname: String! + lastname: String + company: String + imdbProfile: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/DgsConstants.java new file mode 100644 index 000000000..af86a09c6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/DgsConstants.java @@ -0,0 +1,21 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithListProperties.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String People = "people"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Name = "name"; + + public static final String Email = "email"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/client/PeopleGraphQLQuery.java new file mode 100644 index 000000000..9ef750d11 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/client/PeopleGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithListProperties.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PeopleGraphQLQuery extends GraphQLQuery { + public PeopleGraphQLQuery(String queryName) { + super("query", queryName); + } + + public PeopleGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "people"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public PeopleGraphQLQuery build() { + return new PeopleGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/client/PeopleProjectionRoot.java new file mode 100644 index 000000000..679835191 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/client/PeopleProjectionRoot.java @@ -0,0 +1,24 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithListProperties.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PeopleProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PeopleProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PeopleProjectionRoot name() { + getFields().put("name", null); + return this; + } + + public PeopleProjectionRoot email() { + getFields().put("email", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/datafetchers/PeopleDatafetcher.java new file mode 100644 index 000000000..8f75a4b22 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/datafetchers/PeopleDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithListProperties.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithListProperties.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class PeopleDatafetcher { + @DgsData( + parentType = "Query", + field = "people" + ) + public List getPeople(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/types/Person.java new file mode 100644 index 000000000..fe6a71929 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/types/Person.java @@ -0,0 +1,83 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithListProperties.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +public class Person { + private String name; + + private List email; + + public Person() { + } + + public Person(String name, List email) { + this.name = name; + this.email = email; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getEmail() { + return email; + } + + public void setEmail(List email) { + this.email = email; + } + + @Override + public String toString() { + return "Person{name='" + name + "', email='" + email + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Person that = (Person) o; + return Objects.equals(name, that.name) && + Objects.equals(email, that.email); + } + + @Override + public int hashCode() { + return Objects.hash(name, email); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String name; + + private List email; + + public Person build() { + Person result = new Person(); + result.name = this.name; + result.email = this.email; + return result; + } + + public Builder name(String name) { + this.name = name; + return this; + } + + public Builder email(List email) { + this.email = email; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/schema.graphql new file mode 100644 index 000000000..b4bc39563 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/schema.graphql @@ -0,0 +1,8 @@ +type Query { + people: [Person] +} + +type Person { + name: String + email: [String] +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/DgsConstants.java new file mode 100644 index 000000000..aea4dbdb3 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/DgsConstants.java @@ -0,0 +1,31 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedInterfaces.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Products = "products"; + } + + public static class PRODUCT { + public static final String TYPE_NAME = "Product"; + + public static final String Id = "id"; + } + + public static class NODE { + public static final String TYPE_NAME = "Node"; + + public static final String Id = "id"; + } + + public static class ENTITY { + public static final String TYPE_NAME = "Entity"; + + public static final String Id = "id"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/client/ProductsGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/client/ProductsGraphQLQuery.java new file mode 100644 index 000000000..bbd1fe65c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/client/ProductsGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedInterfaces.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class ProductsGraphQLQuery extends GraphQLQuery { + public ProductsGraphQLQuery(String queryName) { + super("query", queryName); + } + + public ProductsGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "products"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public ProductsGraphQLQuery build() { + return new ProductsGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/client/ProductsProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/client/ProductsProjectionRoot.java new file mode 100644 index 000000000..c9589f601 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/client/ProductsProjectionRoot.java @@ -0,0 +1,19 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedInterfaces.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class ProductsProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public ProductsProjectionRoot() { + super(null, null, java.util.Optional.of("Product")); + } + + public ProductsProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public ProductsProjectionRoot id() { + getFields().put("id", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/datafetchers/ProductsDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/datafetchers/ProductsDatafetcher.java new file mode 100644 index 000000000..c51e828f8 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/datafetchers/ProductsDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedInterfaces.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedInterfaces.expected.types.Product; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class ProductsDatafetcher { + @DgsData( + parentType = "Query", + field = "products" + ) + public List getProducts(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/types/Entity.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/types/Entity.java new file mode 100644 index 000000000..7e80526ba --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/types/Entity.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedInterfaces.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.fixtures.Node; +import java.lang.String; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes(@JsonSubTypes.Type(value = Product.class, name = "Product")) +public interface Entity extends Node { + String getId(); + + void setId(String id); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/types/Product.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/types/Product.java new file mode 100644 index 000000000..14e1ad429 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/types/Product.java @@ -0,0 +1,66 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedInterfaces.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Product implements com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedInterfaces.expected.types.Entity, com.netflix.graphql.dgs.codegen.java.fixtures.Node { + private String id; + + public Product() { + } + + public Product(String id) { + this.id = id; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + @Override + public String toString() { + return "Product{id='" + id + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Product that = (Product) o; + return Objects.equals(id, that.id); + } + + @Override + public int hashCode() { + return Objects.hash(id); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String id; + + public Product build() { + Product result = new Product(); + result.id = this.id; + return result; + } + + public Builder id(String id) { + this.id = id; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/schema.graphql new file mode 100644 index 000000000..f2a3cf46a --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/schema.graphql @@ -0,0 +1,15 @@ +type Query { + products: [Product] +} + +interface Node { + id: ID! +} + +interface Entity implements Node { + id: ID! +} + +type Product implements Entity & Node { + id: ID! +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/DgsConstants.java new file mode 100644 index 000000000..a1a7b6b28 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/DgsConstants.java @@ -0,0 +1,51 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Entity = "entity"; + + public static final String EntityConnection = "entityConnection"; + } + + public static class ENTITY { + public static final String TYPE_NAME = "Entity"; + + public static final String Long = "long"; + + public static final String DateTime = "dateTime"; + } + + public static class ENTITYCONNECTION { + public static final String TYPE_NAME = "EntityConnection"; + + public static final String PageInfo = "pageInfo"; + + public static final String Edges = "edges"; + } + + public static class ENTITYEDGE { + public static final String TYPE_NAME = "EntityEdge"; + + public static final String Cursor = "cursor"; + + public static final String Node = "node"; + } + + public static class PAGEINFO { + public static final String TYPE_NAME = "PageInfo"; + + public static final String StartCursor = "startCursor"; + + public static final String EndCursor = "endCursor"; + + public static final String HasNextPage = "hasNextPage"; + + public static final String HasPreviousPage = "hasPreviousPage"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityConnectionGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityConnectionGraphQLQuery.java new file mode 100644 index 000000000..93adc8aa1 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityConnectionGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class EntityConnectionGraphQLQuery extends GraphQLQuery { + public EntityConnectionGraphQLQuery(String queryName) { + super("query", queryName); + } + + public EntityConnectionGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "entityConnection"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public EntityConnectionGraphQLQuery build() { + return new EntityConnectionGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityConnectionProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityConnectionProjectionRoot.java new file mode 100644 index 000000000..dc2fdffc2 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityConnectionProjectionRoot.java @@ -0,0 +1,28 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class EntityConnectionProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public EntityConnectionProjectionRoot() { + super(null, null, java.util.Optional.of("EntityConnection")); + } + + public EntityConnectionProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PageInfoProjection, EntityConnectionProjectionRoot> pageInfo( + ) { + PageInfoProjection, EntityConnectionProjectionRoot> projection = new PageInfoProjection<>(this, this); + getFields().put("pageInfo", projection); + return projection; + } + + public EntityEdgeProjection, EntityConnectionProjectionRoot> edges( + ) { + EntityEdgeProjection, EntityConnectionProjectionRoot> projection = new EntityEdgeProjection<>(this, this); + getFields().put("edges", projection); + return projection; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityEdgeProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityEdgeProjection.java new file mode 100644 index 000000000..9ce0dfb4d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityEdgeProjection.java @@ -0,0 +1,25 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class EntityEdgeProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public EntityEdgeProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("EntityEdge")); + } + + public EntityEdgeProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public EntityProjection, ROOT> node() { + EntityProjection, ROOT> projection = new EntityProjection<>(this, getRoot()); + getFields().put("node", projection); + return projection; + } + + public EntityEdgeProjection cursor() { + getFields().put("cursor", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityGraphQLQuery.java new file mode 100644 index 000000000..5b707f532 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class EntityGraphQLQuery extends GraphQLQuery { + public EntityGraphQLQuery(String queryName) { + super("query", queryName); + } + + public EntityGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "entity"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public EntityGraphQLQuery build() { + return new EntityGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityProjection.java new file mode 100644 index 000000000..5c6032ad1 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityProjection.java @@ -0,0 +1,24 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class EntityProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public EntityProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Entity")); + } + + public EntityProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public EntityProjection _long() { + getFields().put("long", null); + return this; + } + + public EntityProjection dateTime() { + getFields().put("dateTime", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityProjectionRoot.java new file mode 100644 index 000000000..14cbbf67e --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityProjectionRoot.java @@ -0,0 +1,24 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class EntityProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public EntityProjectionRoot() { + super(null, null, java.util.Optional.of("Entity")); + } + + public EntityProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public EntityProjectionRoot _long() { + getFields().put("long", null); + return this; + } + + public EntityProjectionRoot dateTime() { + getFields().put("dateTime", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/PageInfoProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/PageInfoProjection.java new file mode 100644 index 000000000..0e16c65b5 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/PageInfoProjection.java @@ -0,0 +1,34 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PageInfoProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PageInfoProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("PageInfo")); + } + + public PageInfoProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public PageInfoProjection startCursor() { + getFields().put("startCursor", null); + return this; + } + + public PageInfoProjection endCursor() { + getFields().put("endCursor", null); + return this; + } + + public PageInfoProjection hasNextPage() { + getFields().put("hasNextPage", null); + return this; + } + + public PageInfoProjection hasPreviousPage() { + getFields().put("hasPreviousPage", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/datafetchers/EntityConnectionDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/datafetchers/EntityConnectionDatafetcher.java new file mode 100644 index 000000000..8eba0be51 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/datafetchers/EntityConnectionDatafetcher.java @@ -0,0 +1,19 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.types.EntityEdge; +import graphql.relay.SimpleListConnection; +import graphql.schema.DataFetchingEnvironment; + +@DgsComponent +public class EntityConnectionDatafetcher { + @DgsData( + parentType = "Query", + field = "entityConnection" + ) + public SimpleListConnection getEntityConnection( + DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/datafetchers/EntityDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/datafetchers/EntityDatafetcher.java new file mode 100644 index 000000000..1e756438b --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/datafetchers/EntityDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.types.Entity; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class EntityDatafetcher { + @DgsData( + parentType = "Query", + field = "entity" + ) + public List getEntity(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/types/Entity.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/types/Entity.java new file mode 100644 index 000000000..69802868c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/types/Entity.java @@ -0,0 +1,84 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.types; + +import java.lang.Long; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.time.OffsetDateTime; +import java.util.Objects; + +public class Entity { + private Long _long; + + private OffsetDateTime dateTime; + + public Entity() { + } + + public Entity(Long _long, OffsetDateTime dateTime) { + this._long = _long; + this.dateTime = dateTime; + } + + public Long getLong() { + return _long; + } + + public void setLong(Long _long) { + this._long = _long; + } + + public OffsetDateTime getDateTime() { + return dateTime; + } + + public void setDateTime(OffsetDateTime dateTime) { + this.dateTime = dateTime; + } + + @Override + public String toString() { + return "Entity{long='" + _long + "', dateTime='" + dateTime + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Entity that = (Entity) o; + return Objects.equals(_long, that._long) && + Objects.equals(dateTime, that.dateTime); + } + + @Override + public int hashCode() { + return Objects.hash(_long, dateTime); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private Long _long; + + private OffsetDateTime dateTime; + + public Entity build() { + Entity result = new Entity(); + result._long = this._long; + result.dateTime = this.dateTime; + return result; + } + + public Builder _long(Long _long) { + this._long = _long; + return this; + } + + public Builder dateTime(OffsetDateTime dateTime) { + this.dateTime = dateTime; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/types/EntityEdge.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/types/EntityEdge.java new file mode 100644 index 000000000..6bb5f3146 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/types/EntityEdge.java @@ -0,0 +1,82 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class EntityEdge { + private String cursor; + + private Entity node; + + public EntityEdge() { + } + + public EntityEdge(String cursor, Entity node) { + this.cursor = cursor; + this.node = node; + } + + public String getCursor() { + return cursor; + } + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + public Entity getNode() { + return node; + } + + public void setNode(Entity node) { + this.node = node; + } + + @Override + public String toString() { + return "EntityEdge{cursor='" + cursor + "', node='" + node + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + EntityEdge that = (EntityEdge) o; + return Objects.equals(cursor, that.cursor) && + Objects.equals(node, that.node); + } + + @Override + public int hashCode() { + return Objects.hash(cursor, node); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String cursor; + + private Entity node; + + public EntityEdge build() { + EntityEdge result = new EntityEdge(); + result.cursor = this.cursor; + result.node = this.node; + return result; + } + + public Builder cursor(String cursor) { + this.cursor = cursor; + return this; + } + + public Builder node(Entity node) { + this.node = node; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/schema.graphql new file mode 100644 index 000000000..392bd3a75 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/schema.graphql @@ -0,0 +1,29 @@ +type Query { + entity: [Entity] + entityConnection: EntityConnection +} + +type Entity { + long: Long + dateTime: DateTime +} + +type EntityConnection { + pageInfo: PageInfo! + edges: [EntityEdge] +} + +type EntityEdge { + cursor: String! + node: Entity +} + +type PageInfo { + startCursor: String + endCursor: String + hasNextPage: Boolean! + hasPreviousPage: Boolean! +} + +scalar Long +scalar DateTime diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/DgsConstants.java new file mode 100644 index 000000000..6428526ed --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/DgsConstants.java @@ -0,0 +1,33 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String People = "people"; + } + + public static class EMPLOYEE { + public static final String TYPE_NAME = "Employee"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + + public static final String Company = "company"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + + public static final String Company = "company"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/EmployeeFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/EmployeeFragmentProjection.java new file mode 100644 index 000000000..8f676f5d4 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/EmployeeFragmentProjection.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import java.lang.Override; +import java.lang.String; + +public class EmployeeFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + { + getFields().put("__typename", null); + } + + public EmployeeFragmentProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Employee")); + } + + public EmployeeFragmentProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public EmployeeFragmentProjection firstname() { + getFields().put("firstname", null); + return this; + } + + public EmployeeFragmentProjection lastname() { + getFields().put("lastname", null); + return this; + } + + public EmployeeFragmentProjection company() { + getFields().put("company", null); + return this; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("... on Employee {"); + getFields().forEach((k, v) -> { + builder.append(" ").append(k); + if(v != null) { + builder.append(" ").append(v.toString()); + } + }); + builder.append("}"); + + return builder.toString(); + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/PeopleGraphQLQuery.java new file mode 100644 index 000000000..17b85e010 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/PeopleGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PeopleGraphQLQuery extends GraphQLQuery { + public PeopleGraphQLQuery(String queryName) { + super("query", queryName); + } + + public PeopleGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "people"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public PeopleGraphQLQuery build() { + return new PeopleGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/PeopleProjectionRoot.java new file mode 100644 index 000000000..4d99c0ef6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/PeopleProjectionRoot.java @@ -0,0 +1,36 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PeopleProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PeopleProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PeopleProjectionRoot firstname() { + getFields().put("firstname", null); + return this; + } + + public PeopleProjectionRoot lastname() { + getFields().put("lastname", null); + return this; + } + + public PeopleProjectionRoot company() { + getFields().put("company", null); + return this; + } + + public EmployeeFragmentProjection, PeopleProjectionRoot> onEmployee( + ) { + EmployeeFragmentProjection, PeopleProjectionRoot> fragment = new EmployeeFragmentProjection<>(this, this); + getFragments().add(fragment); + return fragment; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/datafetchers/PeopleDatafetcher.java new file mode 100644 index 000000000..925ac036f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/datafetchers/PeopleDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class PeopleDatafetcher { + @DgsData( + parentType = "Query", + field = "people" + ) + public List getPeople(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/types/Employee.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/types/Employee.java new file mode 100644 index 000000000..b44fb95d5 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/types/Employee.java @@ -0,0 +1,106 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Employee implements com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.types.Person { + private String firstname; + + private String lastname; + + private String company; + + public Employee() { + } + + public Employee(String firstname, String lastname, String company) { + this.firstname = firstname; + this.lastname = lastname; + this.company = company; + } + + public String getFirstname() { + return firstname; + } + + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public String getLastname() { + return lastname; + } + + public void setLastname(String lastname) { + this.lastname = lastname; + } + + public String getCompany() { + return company; + } + + public void setCompany(String company) { + this.company = company; + } + + @Override + public String toString() { + return "Employee{firstname='" + firstname + "', lastname='" + lastname + "', company='" + company + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Employee that = (Employee) o; + return Objects.equals(firstname, that.firstname) && + Objects.equals(lastname, that.lastname) && + Objects.equals(company, that.company); + } + + @Override + public int hashCode() { + return Objects.hash(firstname, lastname, company); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String firstname; + + private String lastname; + + private String company; + + public Employee build() { + Employee result = new Employee(); + result.firstname = this.firstname; + result.lastname = this.lastname; + result.company = this.company; + return result; + } + + public Builder firstname(String firstname) { + this.firstname = firstname; + return this; + } + + public Builder lastname(String lastname) { + this.lastname = lastname; + return this; + } + + public Builder company(String company) { + this.company = company; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/types/Person.java new file mode 100644 index 000000000..10a230766 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/types/Person.java @@ -0,0 +1,25 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.String; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes(@JsonSubTypes.Type(value = Employee.class, name = "Employee")) +public interface Person { + String getFirstname(); + + void setFirstname(String firstname); + + String getLastname(); + + void setLastname(String lastname); + + String getCompany(); + + void setCompany(String company); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/schema.graphql new file mode 100644 index 000000000..aa012a27c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/schema.graphql @@ -0,0 +1,15 @@ +type Query { + people: [Person] +} + +interface Person { + firstname: String! + lastname: String! + company: String +} + +type Employee implements Person { + firstname: String! + lastname: String! + company: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/DgsConstants.java new file mode 100644 index 000000000..343789f9e --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/DgsConstants.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableComplexType.expected; + +import java.lang.String; + +public class DgsConstants { + public static class MYTYPE { + public static final String TYPE_NAME = "MyType"; + + public static final String Other = "other"; + } + + public static class OTHERTYPE { + public static final String TYPE_NAME = "OtherType"; + + public static final String Name = "name"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/types/MyType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/types/MyType.java new file mode 100644 index 000000000..ddc6288df --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/types/MyType.java @@ -0,0 +1,62 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableComplexType.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class MyType { + private OtherType other; + + public MyType() { + } + + public MyType(OtherType other) { + this.other = other; + } + + public OtherType getOther() { + return other; + } + + public void setOther(OtherType other) { + this.other = other; + } + + @Override + public String toString() { + return "MyType{other='" + other + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MyType that = (MyType) o; + return Objects.equals(other, that.other); + } + + @Override + public int hashCode() { + return Objects.hash(other); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private OtherType other; + + public MyType build() { + MyType result = new MyType(); + result.other = this.other; + return result; + } + + public Builder other(OtherType other) { + this.other = other; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/types/OtherType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/types/OtherType.java new file mode 100644 index 000000000..a89b12351 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/types/OtherType.java @@ -0,0 +1,62 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableComplexType.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class OtherType { + private String name; + + public OtherType() { + } + + public OtherType(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public String toString() { + return "OtherType{name='" + name + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + OtherType that = (OtherType) o; + return Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String name; + + public OtherType build() { + OtherType result = new OtherType(); + result.name = this.name; + return result; + } + + public Builder name(String name) { + this.name = name; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/schema.graphql new file mode 100644 index 000000000..3228badf6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/schema.graphql @@ -0,0 +1,7 @@ +type MyType { + other: OtherType! +} + +type OtherType { + name: String! +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/DgsConstants.java new file mode 100644 index 000000000..19088127f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/DgsConstants.java @@ -0,0 +1,21 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableListOfNullableValues.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String People = "people"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Name = "name"; + + public static final String Email = "email"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/client/PeopleGraphQLQuery.java new file mode 100644 index 000000000..55230eb13 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/client/PeopleGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableListOfNullableValues.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PeopleGraphQLQuery extends GraphQLQuery { + public PeopleGraphQLQuery(String queryName) { + super("query", queryName); + } + + public PeopleGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "people"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public PeopleGraphQLQuery build() { + return new PeopleGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/client/PeopleProjectionRoot.java new file mode 100644 index 000000000..55842dd2a --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/client/PeopleProjectionRoot.java @@ -0,0 +1,24 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableListOfNullableValues.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PeopleProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PeopleProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PeopleProjectionRoot name() { + getFields().put("name", null); + return this; + } + + public PeopleProjectionRoot email() { + getFields().put("email", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/datafetchers/PeopleDatafetcher.java new file mode 100644 index 000000000..e71bdffbf --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/datafetchers/PeopleDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableListOfNullableValues.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableListOfNullableValues.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class PeopleDatafetcher { + @DgsData( + parentType = "Query", + field = "people" + ) + public List getPeople(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/types/Person.java new file mode 100644 index 000000000..2ff822ae0 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/types/Person.java @@ -0,0 +1,83 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableListOfNullableValues.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +public class Person { + private String name; + + private List email; + + public Person() { + } + + public Person(String name, List email) { + this.name = name; + this.email = email; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getEmail() { + return email; + } + + public void setEmail(List email) { + this.email = email; + } + + @Override + public String toString() { + return "Person{name='" + name + "', email='" + email + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Person that = (Person) o; + return Objects.equals(name, that.name) && + Objects.equals(email, that.email); + } + + @Override + public int hashCode() { + return Objects.hash(name, email); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String name; + + private List email; + + public Person build() { + Person result = new Person(); + result.name = this.name; + result.email = this.email; + return result; + } + + public Builder name(String name) { + this.name = name; + return this; + } + + public Builder email(List email) { + this.email = email; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/schema.graphql new file mode 100644 index 000000000..41e4bc818 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/schema.graphql @@ -0,0 +1,8 @@ +type Query { + people: [Person] +} + +type Person { + name: String! + email: [String]! +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/DgsConstants.java new file mode 100644 index 000000000..a6ae184fe --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/DgsConstants.java @@ -0,0 +1,15 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullablePrimitive.expected; + +import java.lang.String; + +public class DgsConstants { + public static class MYTYPE { + public static final String TYPE_NAME = "MyType"; + + public static final String Count = "count"; + + public static final String Truth = "truth"; + + public static final String Floaty = "floaty"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/types/MyType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/types/MyType.java new file mode 100644 index 000000000..47da178da --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/types/MyType.java @@ -0,0 +1,102 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullablePrimitive.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class MyType { + private int count; + + private boolean truth; + + private double floaty; + + public MyType() { + } + + public MyType(int count, boolean truth, double floaty) { + this.count = count; + this.truth = truth; + this.floaty = floaty; + } + + public int getCount() { + return count; + } + + public void setCount(int count) { + this.count = count; + } + + public boolean getTruth() { + return truth; + } + + public void setTruth(boolean truth) { + this.truth = truth; + } + + public double getFloaty() { + return floaty; + } + + public void setFloaty(double floaty) { + this.floaty = floaty; + } + + @Override + public String toString() { + return "MyType{count='" + count + "', truth='" + truth + "', floaty='" + floaty + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MyType that = (MyType) o; + return count == that.count && + truth == that.truth && + floaty == that.floaty; + } + + @Override + public int hashCode() { + return Objects.hash(count, truth, floaty); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private int count; + + private boolean truth; + + private double floaty; + + public MyType build() { + MyType result = new MyType(); + result.count = this.count; + result.truth = this.truth; + result.floaty = this.floaty; + return result; + } + + public Builder count(int count) { + this.count = count; + return this; + } + + public Builder truth(boolean truth) { + this.truth = truth; + return this; + } + + public Builder floaty(double floaty) { + this.floaty = floaty; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/schema.graphql new file mode 100644 index 000000000..22eb28bee --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/schema.graphql @@ -0,0 +1,5 @@ +type MyType { + count: Int! + truth: Boolean! + floaty: Float! +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/DgsConstants.java new file mode 100644 index 000000000..e0cbe7745 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/DgsConstants.java @@ -0,0 +1,15 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullablePrimitiveInList.expected; + +import java.lang.String; + +public class DgsConstants { + public static class MYTYPE { + public static final String TYPE_NAME = "MyType"; + + public static final String Count = "count"; + + public static final String Truth = "truth"; + + public static final String Floaty = "floaty"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/types/MyType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/types/MyType.java new file mode 100644 index 000000000..5f0ed0b3a --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/types/MyType.java @@ -0,0 +1,106 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullablePrimitiveInList.expected.types; + +import java.lang.Boolean; +import java.lang.Double; +import java.lang.Integer; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +public class MyType { + private List count; + + private List truth; + + private List floaty; + + public MyType() { + } + + public MyType(List count, List truth, List floaty) { + this.count = count; + this.truth = truth; + this.floaty = floaty; + } + + public List getCount() { + return count; + } + + public void setCount(List count) { + this.count = count; + } + + public List getTruth() { + return truth; + } + + public void setTruth(List truth) { + this.truth = truth; + } + + public List getFloaty() { + return floaty; + } + + public void setFloaty(List floaty) { + this.floaty = floaty; + } + + @Override + public String toString() { + return "MyType{count='" + count + "', truth='" + truth + "', floaty='" + floaty + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MyType that = (MyType) o; + return Objects.equals(count, that.count) && + Objects.equals(truth, that.truth) && + Objects.equals(floaty, that.floaty); + } + + @Override + public int hashCode() { + return Objects.hash(count, truth, floaty); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private List count; + + private List truth; + + private List floaty; + + public MyType build() { + MyType result = new MyType(); + result.count = this.count; + result.truth = this.truth; + result.floaty = this.floaty; + return result; + } + + public Builder count(List count) { + this.count = count; + return this; + } + + public Builder truth(List truth) { + this.truth = truth; + return this; + } + + public Builder floaty(List floaty) { + this.floaty = floaty; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/schema.graphql new file mode 100644 index 000000000..f93e60245 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/schema.graphql @@ -0,0 +1,5 @@ +type MyType { + count: [Int!] + truth: [Boolean!] + floaty: [Float!] +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/DgsConstants.java new file mode 100644 index 000000000..f65b1c96c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/DgsConstants.java @@ -0,0 +1,21 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableProperties.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String People = "people"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Name = "name"; + + public static final String Email = "email"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/client/PeopleGraphQLQuery.java new file mode 100644 index 000000000..493eaf40d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/client/PeopleGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableProperties.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PeopleGraphQLQuery extends GraphQLQuery { + public PeopleGraphQLQuery(String queryName) { + super("query", queryName); + } + + public PeopleGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "people"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public PeopleGraphQLQuery build() { + return new PeopleGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/client/PeopleProjectionRoot.java new file mode 100644 index 000000000..4938613a6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/client/PeopleProjectionRoot.java @@ -0,0 +1,24 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableProperties.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PeopleProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PeopleProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PeopleProjectionRoot name() { + getFields().put("name", null); + return this; + } + + public PeopleProjectionRoot email() { + getFields().put("email", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/datafetchers/PeopleDatafetcher.java new file mode 100644 index 000000000..ca5dad184 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/datafetchers/PeopleDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableProperties.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableProperties.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class PeopleDatafetcher { + @DgsData( + parentType = "Query", + field = "people" + ) + public List getPeople(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/types/Person.java new file mode 100644 index 000000000..5cf9ac913 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/types/Person.java @@ -0,0 +1,83 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableProperties.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +public class Person { + private String name; + + private List email; + + public Person() { + } + + public Person(String name, List email) { + this.name = name; + this.email = email; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getEmail() { + return email; + } + + public void setEmail(List email) { + this.email = email; + } + + @Override + public String toString() { + return "Person{name='" + name + "', email='" + email + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Person that = (Person) o; + return Objects.equals(name, that.name) && + Objects.equals(email, that.email); + } + + @Override + public int hashCode() { + return Objects.hash(name, email); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String name; + + private List email; + + public Person build() { + Person result = new Person(); + result.name = this.name; + result.email = this.email; + return result; + } + + public Builder name(String name) { + this.name = name; + return this; + } + + public Builder email(List email) { + this.email = email; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/schema.graphql new file mode 100644 index 000000000..3df803dd8 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/schema.graphql @@ -0,0 +1,8 @@ +type Query { + people: [Person!] +} + +type Person { + name: String! + email: [String!]! +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/DgsConstants.java new file mode 100644 index 000000000..f9aeb8881 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/DgsConstants.java @@ -0,0 +1,15 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNullablePrimitive.expected; + +import java.lang.String; + +public class DgsConstants { + public static class MYTYPE { + public static final String TYPE_NAME = "MyType"; + + public static final String Count = "count"; + + public static final String Truth = "truth"; + + public static final String Floaty = "floaty"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/types/MyType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/types/MyType.java new file mode 100644 index 000000000..0d7f3f5aa --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/types/MyType.java @@ -0,0 +1,105 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNullablePrimitive.expected.types; + +import java.lang.Boolean; +import java.lang.Double; +import java.lang.Integer; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class MyType { + private Integer count; + + private Boolean truth; + + private Double floaty; + + public MyType() { + } + + public MyType(Integer count, Boolean truth, Double floaty) { + this.count = count; + this.truth = truth; + this.floaty = floaty; + } + + public Integer getCount() { + return count; + } + + public void setCount(Integer count) { + this.count = count; + } + + public Boolean getTruth() { + return truth; + } + + public void setTruth(Boolean truth) { + this.truth = truth; + } + + public Double getFloaty() { + return floaty; + } + + public void setFloaty(Double floaty) { + this.floaty = floaty; + } + + @Override + public String toString() { + return "MyType{count='" + count + "', truth='" + truth + "', floaty='" + floaty + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MyType that = (MyType) o; + return Objects.equals(count, that.count) && + Objects.equals(truth, that.truth) && + Objects.equals(floaty, that.floaty); + } + + @Override + public int hashCode() { + return Objects.hash(count, truth, floaty); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private Integer count; + + private Boolean truth; + + private Double floaty; + + public MyType build() { + MyType result = new MyType(); + result.count = this.count; + result.truth = this.truth; + result.floaty = this.floaty; + return result; + } + + public Builder count(Integer count) { + this.count = count; + return this; + } + + public Builder truth(Boolean truth) { + this.truth = truth; + return this; + } + + public Builder floaty(Double floaty) { + this.floaty = floaty; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/schema.graphql new file mode 100644 index 000000000..80eaa1df3 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/schema.graphql @@ -0,0 +1,5 @@ +type MyType { + count: Int + truth: Boolean + floaty: Float +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/DgsConstants.java new file mode 100644 index 000000000..8d32d608c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/DgsConstants.java @@ -0,0 +1,23 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithRecursiveField.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String People = "people"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + + public static final String Friends = "friends"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PeopleGraphQLQuery.java new file mode 100644 index 000000000..871b2ac33 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PeopleGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithRecursiveField.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PeopleGraphQLQuery extends GraphQLQuery { + public PeopleGraphQLQuery(String queryName) { + super("query", queryName); + } + + public PeopleGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "people"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public PeopleGraphQLQuery build() { + return new PeopleGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PeopleProjectionRoot.java new file mode 100644 index 000000000..6694a03f5 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PeopleProjectionRoot.java @@ -0,0 +1,31 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithRecursiveField.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PeopleProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PeopleProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PersonProjection, PeopleProjectionRoot> friends( + ) { + PersonProjection, PeopleProjectionRoot> projection = new PersonProjection<>(this, this); + getFields().put("friends", projection); + return projection; + } + + public PeopleProjectionRoot firstname() { + getFields().put("firstname", null); + return this; + } + + public PeopleProjectionRoot lastname() { + getFields().put("lastname", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PersonProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PersonProjection.java new file mode 100644 index 000000000..baaebcf96 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PersonProjection.java @@ -0,0 +1,30 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithRecursiveField.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PersonProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PersonProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Person")); + } + + public PersonProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public PersonProjection, ROOT> friends() { + PersonProjection, ROOT> projection = new PersonProjection<>(this, getRoot()); + getFields().put("friends", projection); + return projection; + } + + public PersonProjection firstname() { + getFields().put("firstname", null); + return this; + } + + public PersonProjection lastname() { + getFields().put("lastname", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/datafetchers/PeopleDatafetcher.java new file mode 100644 index 000000000..2080ad2eb --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/datafetchers/PeopleDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithRecursiveField.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithRecursiveField.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class PeopleDatafetcher { + @DgsData( + parentType = "Query", + field = "people" + ) + public List getPeople(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/types/Person.java new file mode 100644 index 000000000..836466b59 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/types/Person.java @@ -0,0 +1,103 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithRecursiveField.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +public class Person { + private String firstname; + + private String lastname; + + private List friends; + + public Person() { + } + + public Person(String firstname, String lastname, List friends) { + this.firstname = firstname; + this.lastname = lastname; + this.friends = friends; + } + + public String getFirstname() { + return firstname; + } + + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public String getLastname() { + return lastname; + } + + public void setLastname(String lastname) { + this.lastname = lastname; + } + + public List getFriends() { + return friends; + } + + public void setFriends(List friends) { + this.friends = friends; + } + + @Override + public String toString() { + return "Person{firstname='" + firstname + "', lastname='" + lastname + "', friends='" + friends + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Person that = (Person) o; + return Objects.equals(firstname, that.firstname) && + Objects.equals(lastname, that.lastname) && + Objects.equals(friends, that.friends); + } + + @Override + public int hashCode() { + return Objects.hash(firstname, lastname, friends); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String firstname; + + private String lastname; + + private List friends; + + public Person build() { + Person result = new Person(); + result.firstname = this.firstname; + result.lastname = this.lastname; + result.friends = this.friends; + return result; + } + + public Builder firstname(String firstname) { + this.firstname = firstname; + return this; + } + + public Builder lastname(String lastname) { + this.lastname = lastname; + return this; + } + + public Builder friends(List friends) { + this.friends = friends; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/schema.graphql new file mode 100644 index 000000000..0a86355d3 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/schema.graphql @@ -0,0 +1,9 @@ +type Query { + people: [Person] +} + +type Person { + firstname: String + lastname: String + friends: [Person] +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/DgsConstants.java new file mode 100644 index 000000000..c6b53678d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/DgsConstants.java @@ -0,0 +1,31 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class SAMPLETYPE { + public static final String TYPE_NAME = "SampleType"; + + public static final String Return = "return"; + } + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String People = "people"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Info = "info"; + + public static final String Interface = "interface"; + + public static class INFO_INPUT_ARGUMENT { + public static final String Package = "package"; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/PeopleGraphQLQuery.java new file mode 100644 index 000000000..51e19cca5 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/PeopleGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PeopleGraphQLQuery extends GraphQLQuery { + public PeopleGraphQLQuery(String queryName) { + super("query", queryName); + } + + public PeopleGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "people"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public PeopleGraphQLQuery build() { + return new PeopleGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/PeopleProjectionRoot.java new file mode 100644 index 000000000..a091c77f9 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/PeopleProjectionRoot.java @@ -0,0 +1,46 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import java.lang.String; +import java.util.ArrayList; + +public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PeopleProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PeopleProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public StringProjection, PeopleProjectionRoot> info( + String _package) { + StringProjection, PeopleProjectionRoot> projection = new StringProjection<>(this, this); + getFields().put("info", projection); + getInputArguments().computeIfAbsent("info", k -> new ArrayList<>()); + InputArgument packageArg = new InputArgument("package", _package, false, null); + getInputArguments().get("info").add(packageArg); + return projection; + } + + public StringProjection, PeopleProjectionRoot> infoWithVariableReferences( + String packageReference) { + StringProjection, PeopleProjectionRoot> projection = new StringProjection<>(this, this); + getFields().put("info", projection); + getInputArguments().computeIfAbsent("info", k -> new ArrayList<>()); + InputArgument packageArg = new InputArgument("package", packageReference, true, new graphql.language.TypeName("String")); + getInputArguments().get("info").add(packageArg); + return projection; + } + + public PeopleProjectionRoot info() { + getFields().put("info", null); + return this; + } + + public PeopleProjectionRoot _interface() { + getFields().put("interface", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/StringProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/StringProjection.java new file mode 100644 index 000000000..cc5b5698a --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/StringProjection.java @@ -0,0 +1,14 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class StringProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public StringProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("String")); + } + + public StringProjection __typename() { + getFields().put("__typename", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/datafetchers/PeopleDatafetcher.java new file mode 100644 index 000000000..6bfd6fcb3 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/datafetchers/PeopleDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class PeopleDatafetcher { + @DgsData( + parentType = "Query", + field = "people" + ) + public List getPeople(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/types/Person.java new file mode 100644 index 000000000..724f884b6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/types/Person.java @@ -0,0 +1,82 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class Person { + private String info; + + private String _interface; + + public Person() { + } + + public Person(String info, String _interface) { + this.info = info; + this._interface = _interface; + } + + public String getInfo() { + return info; + } + + public void setInfo(String info) { + this.info = info; + } + + public String getInterface() { + return _interface; + } + + public void setInterface(String _interface) { + this._interface = _interface; + } + + @Override + public String toString() { + return "Person{info='" + info + "', interface='" + _interface + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Person that = (Person) o; + return Objects.equals(info, that.info) && + Objects.equals(_interface, that._interface); + } + + @Override + public int hashCode() { + return Objects.hash(info, _interface); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String info; + + private String _interface; + + public Person build() { + Person result = new Person(); + result.info = this.info; + result._interface = this._interface; + return result; + } + + public Builder info(String info) { + this.info = info; + return this; + } + + public Builder _interface(String _interface) { + this._interface = _interface; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/types/SampleType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/types/SampleType.java new file mode 100644 index 000000000..6e28d0ead --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/types/SampleType.java @@ -0,0 +1,62 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class SampleType { + private String _return; + + public SampleType() { + } + + public SampleType(String _return) { + this._return = _return; + } + + public String getReturn() { + return _return; + } + + public void setReturn(String _return) { + this._return = _return; + } + + @Override + public String toString() { + return "SampleType{return='" + _return + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SampleType that = (SampleType) o; + return Objects.equals(_return, that._return); + } + + @Override + public int hashCode() { + return Objects.hash(_return); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String _return; + + public SampleType build() { + SampleType result = new SampleType(); + result._return = this._return; + return result; + } + + public Builder _return(String _return) { + this._return = _return; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/schema.graphql new file mode 100644 index 000000000..de4de5f3c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/schema.graphql @@ -0,0 +1,12 @@ +type SampleType { + return: String! +} + +type Query { + people: [Person] +} + +type Person { + info(package: String): String + interface: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/DgsConstants.java new file mode 100644 index 000000000..a573ee5ea --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/DgsConstants.java @@ -0,0 +1,21 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithStringProperties.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String People = "people"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/client/PeopleGraphQLQuery.java new file mode 100644 index 000000000..df43e8cb4 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/client/PeopleGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithStringProperties.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PeopleGraphQLQuery extends GraphQLQuery { + public PeopleGraphQLQuery(String queryName) { + super("query", queryName); + } + + public PeopleGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "people"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public PeopleGraphQLQuery build() { + return new PeopleGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/client/PeopleProjectionRoot.java new file mode 100644 index 000000000..92fd84445 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/client/PeopleProjectionRoot.java @@ -0,0 +1,24 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithStringProperties.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PeopleProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PeopleProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PeopleProjectionRoot firstname() { + getFields().put("firstname", null); + return this; + } + + public PeopleProjectionRoot lastname() { + getFields().put("lastname", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/datafetchers/PeopleDatafetcher.java new file mode 100644 index 000000000..a0be42fc7 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/datafetchers/PeopleDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithStringProperties.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithStringProperties.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class PeopleDatafetcher { + @DgsData( + parentType = "Query", + field = "people" + ) + public List getPeople(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/types/Person.java new file mode 100644 index 000000000..681a6af6f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/types/Person.java @@ -0,0 +1,82 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithStringProperties.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class Person { + private String firstname; + + private String lastname; + + public Person() { + } + + public Person(String firstname, String lastname) { + this.firstname = firstname; + this.lastname = lastname; + } + + public String getFirstname() { + return firstname; + } + + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public String getLastname() { + return lastname; + } + + public void setLastname(String lastname) { + this.lastname = lastname; + } + + @Override + public String toString() { + return "Person{firstname='" + firstname + "', lastname='" + lastname + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Person that = (Person) o; + return Objects.equals(firstname, that.firstname) && + Objects.equals(lastname, that.lastname); + } + + @Override + public int hashCode() { + return Objects.hash(firstname, lastname); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String firstname; + + private String lastname; + + public Person build() { + Person result = new Person(); + result.firstname = this.firstname; + result.lastname = this.lastname; + return result; + } + + public Builder firstname(String firstname) { + this.firstname = firstname; + return this; + } + + public Builder lastname(String lastname) { + this.lastname = lastname; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/schema.graphql new file mode 100644 index 000000000..cdeb9d40d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/schema.graphql @@ -0,0 +1,8 @@ +type Query { + people: [Person] +} + +type Person { + firstname: String + lastname: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/test/DataClassQueryTest.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/test/DataClassQueryTest.java new file mode 100644 index 000000000..aad83fc03 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/test/DataClassQueryTest.java @@ -0,0 +1,52 @@ +/* + * + * Copyright 2020 Netflix, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithStringProperties.test; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQueryRequest; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithStringProperties.expected.client.PeopleGraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithStringProperties.expected.client.PeopleProjectionRoot; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +class DataClassQueryTest { + + @Test + void testQuery() { + var query = PeopleGraphQLQuery.newRequest() + .queryName("TestQuery") + .build(); + + var projection = new PeopleProjectionRoot<>() + .firstname() + .lastname(); + + var request = new GraphQLQueryRequest(query, projection); + + assertThat(request.serialize()) + .isEqualTo(""" + query TestQuery { + people { + firstname + lastname + } + }"""); + } + +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/DgsConstants.java new file mode 100644 index 000000000..29d13c6df --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/DgsConstants.java @@ -0,0 +1,25 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.extendedDataClassWithInterface.expected; + +import java.lang.String; + +public class DgsConstants { + public static class EXAMPLE { + public static final String TYPE_NAME = "Example"; + + public static final String Name = "name"; + + public static final String Age = "age"; + } + + public static class A { + public static final String TYPE_NAME = "A"; + + public static final String Name = "name"; + } + + public static class B { + public static final String TYPE_NAME = "B"; + + public static final String Age = "age"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/A.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/A.java new file mode 100644 index 000000000..2c0187ae2 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/A.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.extendedDataClassWithInterface.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.String; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes(@JsonSubTypes.Type(value = Example.class, name = "Example")) +public interface A { + String getName(); + + void setName(String name); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/B.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/B.java new file mode 100644 index 000000000..96be877d3 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/B.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.extendedDataClassWithInterface.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Integer; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes(@JsonSubTypes.Type(value = Example.class, name = "Example")) +public interface B { + Integer getAge(); + + void setAge(Integer age); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/Example.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/Example.java new file mode 100644 index 000000000..7b5762dd5 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/Example.java @@ -0,0 +1,87 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.extendedDataClassWithInterface.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Integer; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Example implements com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.extendedDataClassWithInterface.expected.types.A, com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.extendedDataClassWithInterface.expected.types.B { + private String name; + + private Integer age; + + public Example() { + } + + public Example(String name, Integer age) { + this.name = name; + this.age = age; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getAge() { + return age; + } + + public void setAge(Integer age) { + this.age = age; + } + + @Override + public String toString() { + return "Example{name='" + name + "', age='" + age + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Example that = (Example) o; + return Objects.equals(name, that.name) && + Objects.equals(age, that.age); + } + + @Override + public int hashCode() { + return Objects.hash(name, age); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String name; + + private Integer age; + + public Example build() { + Example result = new Example(); + result.name = this.name; + result.age = this.age; + return result; + } + + public Builder name(String name) { + this.name = name; + return this; + } + + public Builder age(Integer age) { + this.age = age; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/schema.graphql new file mode 100644 index 000000000..4ce4b3134 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/schema.graphql @@ -0,0 +1,11 @@ +interface A { name : String } + +type Example implements A { + name: String +} + +interface B { age :Int } + +extend type Example implements B{ + age :Int +} \ No newline at end of file diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/DgsConstants.java new file mode 100644 index 000000000..a63b33b83 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/DgsConstants.java @@ -0,0 +1,4 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumDocs.expected; + +public class DgsConstants { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/types/Color.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/types/Color.java new file mode 100644 index 000000000..f9c24bc3f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/types/Color.java @@ -0,0 +1,12 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumDocs.expected.types; + +/** + * Some options + */ +public enum Color { + red, + + white, + + blue +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/schema.graphql new file mode 100644 index 000000000..655b53a04 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/schema.graphql @@ -0,0 +1,6 @@ +""" +Some options +""" +enum Color { + red,white,blue +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/DgsConstants.java new file mode 100644 index 000000000..7b9b3a68d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/DgsConstants.java @@ -0,0 +1,13 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumType.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Types = "types"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/client/TypesGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/client/TypesGraphQLQuery.java new file mode 100644 index 000000000..54798aafd --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/client/TypesGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumType.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class TypesGraphQLQuery extends GraphQLQuery { + public TypesGraphQLQuery(String queryName) { + super("query", queryName); + } + + public TypesGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "types"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public TypesGraphQLQuery build() { + return new TypesGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/client/TypesProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/client/TypesProjectionRoot.java new file mode 100644 index 000000000..22919e28d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/client/TypesProjectionRoot.java @@ -0,0 +1,14 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumType.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class TypesProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public TypesProjectionRoot() { + super(null, null, java.util.Optional.of("EmployeeTypes")); + } + + public TypesProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/datafetchers/TypesDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/datafetchers/TypesDatafetcher.java new file mode 100644 index 000000000..5dc752153 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/datafetchers/TypesDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumType.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.enums.enumType.expected.types.EmployeeTypes; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class TypesDatafetcher { + @DgsData( + parentType = "Query", + field = "types" + ) + public List getTypes(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/types/EmployeeTypes.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/types/EmployeeTypes.java new file mode 100644 index 000000000..b2c58891a --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/types/EmployeeTypes.java @@ -0,0 +1,9 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumType.expected.types; + +public enum EmployeeTypes { + ENGINEER, + + MANAGER, + + DIRECTOR +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/schema.graphql new file mode 100644 index 000000000..9b3e9a9f3 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/schema.graphql @@ -0,0 +1,9 @@ +type Query { + types: [EmployeeTypes] +} + +enum EmployeeTypes { + ENGINEER + MANAGER + DIRECTOR +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/DgsConstants.java new file mode 100644 index 000000000..f42ee4992 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/DgsConstants.java @@ -0,0 +1,13 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumWithExtendedType.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Types = "types"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/client/TypesGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/client/TypesGraphQLQuery.java new file mode 100644 index 000000000..7036ebfb3 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/client/TypesGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumWithExtendedType.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class TypesGraphQLQuery extends GraphQLQuery { + public TypesGraphQLQuery(String queryName) { + super("query", queryName); + } + + public TypesGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "types"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public TypesGraphQLQuery build() { + return new TypesGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/client/TypesProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/client/TypesProjectionRoot.java new file mode 100644 index 000000000..1dda6978e --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/client/TypesProjectionRoot.java @@ -0,0 +1,14 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumWithExtendedType.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class TypesProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public TypesProjectionRoot() { + super(null, null, java.util.Optional.of("EmployeeTypes")); + } + + public TypesProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/datafetchers/TypesDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/datafetchers/TypesDatafetcher.java new file mode 100644 index 000000000..acb0a872d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/datafetchers/TypesDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumWithExtendedType.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.enums.enumWithExtendedType.expected.types.EmployeeTypes; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class TypesDatafetcher { + @DgsData( + parentType = "Query", + field = "types" + ) + public List getTypes(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/types/EmployeeTypes.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/types/EmployeeTypes.java new file mode 100644 index 000000000..cf99f7058 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/types/EmployeeTypes.java @@ -0,0 +1,11 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumWithExtendedType.expected.types; + +public enum EmployeeTypes { + ENGINEER, + + MANAGER, + + DIRECTOR, + + QA +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/schema.graphql new file mode 100644 index 000000000..43c0ef2ea --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/schema.graphql @@ -0,0 +1,13 @@ +type Query { + types: [EmployeeTypes] +} + +enum EmployeeTypes { + ENGINEER + MANAGER + DIRECTOR +} + +extend enum EmployeeTypes { + QA +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/DgsConstants.java new file mode 100644 index 000000000..de43ceb8f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/DgsConstants.java @@ -0,0 +1,23 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.input.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Movies = "movies"; + + public static class MOVIES_INPUT_ARGUMENT { + public static final String Filter = "filter"; + } + } + + public static class MOVIEFILTER { + public static final String TYPE_NAME = "MovieFilter"; + + public static final String Genre = "genre"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/client/MoviesGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/client/MoviesGraphQLQuery.java new file mode 100644 index 000000000..1245215fd --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/client/MoviesGraphQLQuery.java @@ -0,0 +1,85 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.input.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.input.expected.types.MovieFilter; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class MoviesGraphQLQuery extends GraphQLQuery { + public MoviesGraphQLQuery(MovieFilter filter, String queryName, Set fieldsSet) { + super("query", queryName); + if (filter != null || fieldsSet.contains("filter")) { + getInput().put("filter", filter); + } + } + + public MoviesGraphQLQuery(MovieFilter filter, String queryName, Set fieldsSet, + Map variableReferences, List variableDefinitions) { + super("query", queryName); + if (filter != null || fieldsSet.contains("filter")) { + getInput().put("filter", filter); + } + if(variableDefinitions != null) { + getVariableDefinitions().addAll(variableDefinitions); + } + + if(variableReferences != null) { + getVariableReferences().putAll(variableReferences); + } + } + + public MoviesGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "movies"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private MovieFilter filter; + + private String queryName; + + public MoviesGraphQLQuery build() { + return new MoviesGraphQLQuery(filter, queryName, fieldsSet, variableReferences, variableDefinitions); + + } + + public Builder filter(MovieFilter filter) { + this.filter = filter; + this.fieldsSet.add("filter"); + return this; + } + + public Builder filterReference(String variableRef) { + this.variableReferences.put("filter", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.TypeName("MovieFilter")).build()); + this.fieldsSet.add("filter"); + return this; + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/datafetchers/MoviesDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/datafetchers/MoviesDatafetcher.java new file mode 100644 index 000000000..3cc2f14d8 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/datafetchers/MoviesDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.input.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import graphql.schema.DataFetchingEnvironment; +import java.lang.String; +import java.util.List; + +@DgsComponent +public class MoviesDatafetcher { + @DgsData( + parentType = "Query", + field = "movies" + ) + public List getMovies(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/types/MovieFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/types/MovieFilter.java new file mode 100644 index 000000000..9b5dbd86b --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/types/MovieFilter.java @@ -0,0 +1,62 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.input.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class MovieFilter { + private String genre; + + public MovieFilter() { + } + + public MovieFilter(String genre) { + this.genre = genre; + } + + public String getGenre() { + return genre; + } + + public void setGenre(String genre) { + this.genre = genre; + } + + @Override + public String toString() { + return "MovieFilter{genre='" + genre + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MovieFilter that = (MovieFilter) o; + return Objects.equals(genre, that.genre); + } + + @Override + public int hashCode() { + return Objects.hash(genre); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String genre; + + public MovieFilter build() { + MovieFilter result = new MovieFilter(); + result.genre = this.genre; + return result; + } + + public Builder genre(String genre) { + this.genre = genre; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/schema.graphql new file mode 100644 index 000000000..9c42d7dc2 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/schema.graphql @@ -0,0 +1,7 @@ +type Query { + movies(filter: MovieFilter): [String] +} + +input MovieFilter { + genre: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/test/InputQueryTest.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/test/InputQueryTest.java new file mode 100644 index 000000000..9534224ae --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/test/InputQueryTest.java @@ -0,0 +1,97 @@ +/* + * + * Copyright 2020 Netflix, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.input.test; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQueryRequest; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.input.expected.client.MoviesGraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.input.expected.types.MovieFilter; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +class InputQueryTest { + + @Test + void testQueryWithNoFilter() { + var query = MoviesGraphQLQuery.newRequest() + .queryName("TestQuery") + .build(); + + var request = new GraphQLQueryRequest(query); + + assertThat(request.serialize()) + .isEqualTo(""" + query TestQuery { + movies + }"""); + } + + @Test + void testQueryWithEmptyFilter() { + var query = MoviesGraphQLQuery.newRequest() + .queryName("TestQuery") + .filter(new MovieFilter()) + .build(); + + var request = new GraphQLQueryRequest(query); + + assertThat(request.serialize()) + .isEqualTo(""" + query TestQuery { + movies(filter: {}) + }"""); + } + + @Test + void testQueryWithFilter() { + var query = MoviesGraphQLQuery.newRequest() + .queryName("TestQuery") + .filter(MovieFilter.newBuilder() + .genre("horror") + .build()) + .build(); + + var request = new GraphQLQueryRequest(query); + + assertThat(request.serialize()) + .isEqualTo(""" + query TestQuery { + movies(filter: {genre : "horror"}) + }"""); + } + + @Test + void testQueryWithNewline() { + var query = MoviesGraphQLQuery.newRequest() + .queryName("TestQuery") + .filter(MovieFilter.newBuilder() + .genre("horror\ncomedy") + .build()) + .build(); + + var request = new GraphQLQueryRequest(query); + + assertThat(request.serialize()) + .isEqualTo(""" + query TestQuery { + movies(filter: {genre : "horror\\ncomedy"}) + }"""); + } + +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/DgsConstants.java new file mode 100644 index 000000000..db19a5fa0 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/DgsConstants.java @@ -0,0 +1,27 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultBigDecimal.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Orders = "orders"; + + public static class ORDERS_INPUT_ARGUMENT { + public static final String Filter = "filter"; + } + } + + public static class ORDERFILTER { + public static final String TYPE_NAME = "OrderFilter"; + + public static final String Min = "min"; + + public static final String Avg = "avg"; + + public static final String Max = "max"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/client/OrdersGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/client/OrdersGraphQLQuery.java new file mode 100644 index 000000000..a7d39dd39 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/client/OrdersGraphQLQuery.java @@ -0,0 +1,85 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultBigDecimal.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultBigDecimal.expected.types.OrderFilter; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class OrdersGraphQLQuery extends GraphQLQuery { + public OrdersGraphQLQuery(OrderFilter filter, String queryName, Set fieldsSet) { + super("query", queryName); + if (filter != null || fieldsSet.contains("filter")) { + getInput().put("filter", filter); + } + } + + public OrdersGraphQLQuery(OrderFilter filter, String queryName, Set fieldsSet, + Map variableReferences, List variableDefinitions) { + super("query", queryName); + if (filter != null || fieldsSet.contains("filter")) { + getInput().put("filter", filter); + } + if(variableDefinitions != null) { + getVariableDefinitions().addAll(variableDefinitions); + } + + if(variableReferences != null) { + getVariableReferences().putAll(variableReferences); + } + } + + public OrdersGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "orders"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private OrderFilter filter; + + private String queryName; + + public OrdersGraphQLQuery build() { + return new OrdersGraphQLQuery(filter, queryName, fieldsSet, variableReferences, variableDefinitions); + + } + + public Builder filter(OrderFilter filter) { + this.filter = filter; + this.fieldsSet.add("filter"); + return this; + } + + public Builder filterReference(String variableRef) { + this.variableReferences.put("filter", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.TypeName("OrderFilter")).build()); + this.fieldsSet.add("filter"); + return this; + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/datafetchers/OrdersDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/datafetchers/OrdersDatafetcher.java new file mode 100644 index 000000000..5b23b6737 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/datafetchers/OrdersDatafetcher.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultBigDecimal.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import graphql.schema.DataFetchingEnvironment; +import java.lang.String; + +@DgsComponent +public class OrdersDatafetcher { + @DgsData( + parentType = "Query", + field = "orders" + ) + public String getOrders(DataFetchingEnvironment dataFetchingEnvironment) { + return ""; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/types/OrderFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/types/OrderFilter.java new file mode 100644 index 000000000..5df978be0 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/types/OrderFilter.java @@ -0,0 +1,103 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultBigDecimal.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.math.BigDecimal; +import java.util.Objects; + +public class OrderFilter { + private BigDecimal min = new BigDecimal("1.1"); + + private BigDecimal avg = new BigDecimal(1.12); + + private BigDecimal max = new BigDecimal(3.14E+19); + + public OrderFilter() { + } + + public OrderFilter(BigDecimal min, BigDecimal avg, BigDecimal max) { + this.min = min; + this.avg = avg; + this.max = max; + } + + public BigDecimal getMin() { + return min; + } + + public void setMin(BigDecimal min) { + this.min = min; + } + + public BigDecimal getAvg() { + return avg; + } + + public void setAvg(BigDecimal avg) { + this.avg = avg; + } + + public BigDecimal getMax() { + return max; + } + + public void setMax(BigDecimal max) { + this.max = max; + } + + @Override + public String toString() { + return "OrderFilter{min='" + min + "', avg='" + avg + "', max='" + max + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + OrderFilter that = (OrderFilter) o; + return Objects.equals(min, that.min) && + Objects.equals(avg, that.avg) && + Objects.equals(max, that.max); + } + + @Override + public int hashCode() { + return Objects.hash(min, avg, max); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private BigDecimal min = new BigDecimal("1.1"); + + private BigDecimal avg = new BigDecimal(1.12); + + private BigDecimal max = new BigDecimal(3.14E+19); + + public OrderFilter build() { + OrderFilter result = new OrderFilter(); + result.min = this.min; + result.avg = this.avg; + result.max = this.max; + return result; + } + + public Builder min(BigDecimal min) { + this.min = min; + return this; + } + + public Builder avg(BigDecimal avg) { + this.avg = avg; + return this; + } + + public Builder max(BigDecimal max) { + this.max = max; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/schema.graphql new file mode 100644 index 000000000..9d46010e3 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/schema.graphql @@ -0,0 +1,11 @@ +scalar Decimal + +type Query { + orders(filter: OrderFilter): String +} + +input OrderFilter { + min: Decimal! = "1.1" + avg: Decimal! = 1.12 + max: Decimal! = 3.14e19 +} \ No newline at end of file diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/DgsConstants.java new file mode 100644 index 000000000..b731b7379 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/DgsConstants.java @@ -0,0 +1,23 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultCurrency.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Orders = "orders"; + + public static class ORDERS_INPUT_ARGUMENT { + public static final String Filter = "filter"; + } + } + + public static class ORDERFILTER { + public static final String TYPE_NAME = "OrderFilter"; + + public static final String Value = "value"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/client/OrdersGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/client/OrdersGraphQLQuery.java new file mode 100644 index 000000000..15db6bd71 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/client/OrdersGraphQLQuery.java @@ -0,0 +1,85 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultCurrency.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultCurrency.expected.types.OrderFilter; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class OrdersGraphQLQuery extends GraphQLQuery { + public OrdersGraphQLQuery(OrderFilter filter, String queryName, Set fieldsSet) { + super("query", queryName); + if (filter != null || fieldsSet.contains("filter")) { + getInput().put("filter", filter); + } + } + + public OrdersGraphQLQuery(OrderFilter filter, String queryName, Set fieldsSet, + Map variableReferences, List variableDefinitions) { + super("query", queryName); + if (filter != null || fieldsSet.contains("filter")) { + getInput().put("filter", filter); + } + if(variableDefinitions != null) { + getVariableDefinitions().addAll(variableDefinitions); + } + + if(variableReferences != null) { + getVariableReferences().putAll(variableReferences); + } + } + + public OrdersGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "orders"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private OrderFilter filter; + + private String queryName; + + public OrdersGraphQLQuery build() { + return new OrdersGraphQLQuery(filter, queryName, fieldsSet, variableReferences, variableDefinitions); + + } + + public Builder filter(OrderFilter filter) { + this.filter = filter; + this.fieldsSet.add("filter"); + return this; + } + + public Builder filterReference(String variableRef) { + this.variableReferences.put("filter", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.TypeName("OrderFilter")).build()); + this.fieldsSet.add("filter"); + return this; + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/datafetchers/OrdersDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/datafetchers/OrdersDatafetcher.java new file mode 100644 index 000000000..eb2265799 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/datafetchers/OrdersDatafetcher.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultCurrency.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import graphql.schema.DataFetchingEnvironment; +import java.lang.String; + +@DgsComponent +public class OrdersDatafetcher { + @DgsData( + parentType = "Query", + field = "orders" + ) + public String getOrders(DataFetchingEnvironment dataFetchingEnvironment) { + return ""; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/types/OrderFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/types/OrderFilter.java new file mode 100644 index 000000000..5ee10e74c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/types/OrderFilter.java @@ -0,0 +1,63 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultCurrency.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Currency; +import java.util.Objects; + +public class OrderFilter { + private Currency value = Currency.getInstance("USD"); + + public OrderFilter() { + } + + public OrderFilter(Currency value) { + this.value = value; + } + + public Currency getValue() { + return value; + } + + public void setValue(Currency value) { + this.value = value; + } + + @Override + public String toString() { + return "OrderFilter{value='" + value + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + OrderFilter that = (OrderFilter) o; + return Objects.equals(value, that.value); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private Currency value = Currency.getInstance("USD"); + + public OrderFilter build() { + OrderFilter result = new OrderFilter(); + result.value = this.value; + return result; + } + + public Builder value(Currency value) { + this.value = value; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/schema.graphql new file mode 100644 index 000000000..1affa92dc --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/schema.graphql @@ -0,0 +1,9 @@ +scalar Currency + +type Query { + orders(filter: OrderFilter): String +} + +input OrderFilter { + value: Currency! = "USD" +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/DgsConstants.java new file mode 100644 index 000000000..fa2690b6e --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/DgsConstants.java @@ -0,0 +1,11 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultEnumValueForArray.expected; + +import java.lang.String; + +public class DgsConstants { + public static class SOMETYPE { + public static final String TYPE_NAME = "SomeType"; + + public static final String Colors = "colors"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/types/Color.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/types/Color.java new file mode 100644 index 000000000..b666a047e --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/types/Color.java @@ -0,0 +1,7 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultEnumValueForArray.expected.types; + +public enum Color { + red, + + blue +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/types/SomeType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/types/SomeType.java new file mode 100644 index 000000000..54b245bd5 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/types/SomeType.java @@ -0,0 +1,64 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultEnumValueForArray.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; + +public class SomeType { + private List colors = Arrays.asList(Color.red); + + public SomeType() { + } + + public SomeType(List colors) { + this.colors = colors; + } + + public List getColors() { + return colors; + } + + public void setColors(List colors) { + this.colors = colors; + } + + @Override + public String toString() { + return "SomeType{colors='" + colors + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SomeType that = (SomeType) o; + return Objects.equals(colors, that.colors); + } + + @Override + public int hashCode() { + return Objects.hash(colors); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private List colors = Arrays.asList(Color.red); + + public SomeType build() { + SomeType result = new SomeType(); + result.colors = this.colors; + return result; + } + + public Builder colors(List colors) { + this.colors = colors; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/schema.graphql new file mode 100644 index 000000000..9b1a329c1 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/schema.graphql @@ -0,0 +1,8 @@ +input SomeType { + colors: [Color] = [red] +} + +enum Color { + red, + blue +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/DgsConstants.java new file mode 100644 index 000000000..79c486ef4 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/DgsConstants.java @@ -0,0 +1,11 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultIntValueForArray.expected; + +import java.lang.String; + +public class DgsConstants { + public static class SOMETYPE { + public static final String TYPE_NAME = "SomeType"; + + public static final String Numbers = "numbers"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/types/SomeType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/types/SomeType.java new file mode 100644 index 000000000..360fda9a7 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/types/SomeType.java @@ -0,0 +1,65 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultIntValueForArray.expected.types; + +import java.lang.Integer; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; + +public class SomeType { + private List numbers = Arrays.asList(1, 2, 3); + + public SomeType() { + } + + public SomeType(List numbers) { + this.numbers = numbers; + } + + public List getNumbers() { + return numbers; + } + + public void setNumbers(List numbers) { + this.numbers = numbers; + } + + @Override + public String toString() { + return "SomeType{numbers='" + numbers + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SomeType that = (SomeType) o; + return Objects.equals(numbers, that.numbers); + } + + @Override + public int hashCode() { + return Objects.hash(numbers); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private List numbers = Arrays.asList(1, 2, 3); + + public SomeType build() { + SomeType result = new SomeType(); + result.numbers = this.numbers; + return result; + } + + public Builder numbers(List numbers) { + this.numbers = numbers; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/schema.graphql new file mode 100644 index 000000000..ee055a47b --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/schema.graphql @@ -0,0 +1,3 @@ +input SomeType { + numbers: [Int] = [1, 2, 3] +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/DgsConstants.java new file mode 100644 index 000000000..1256fa84a --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/DgsConstants.java @@ -0,0 +1,11 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultStringValueForArray.expected; + +import java.lang.String; + +public class DgsConstants { + public static class SOMETYPE { + public static final String TYPE_NAME = "SomeType"; + + public static final String Names = "names"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/types/SomeType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/types/SomeType.java new file mode 100644 index 000000000..0441b191f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/types/SomeType.java @@ -0,0 +1,64 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultStringValueForArray.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; + +public class SomeType { + private List names = Arrays.asList("A", "B"); + + public SomeType() { + } + + public SomeType(List names) { + this.names = names; + } + + public List getNames() { + return names; + } + + public void setNames(List names) { + this.names = names; + } + + @Override + public String toString() { + return "SomeType{names='" + names + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SomeType that = (SomeType) o; + return Objects.equals(names, that.names); + } + + @Override + public int hashCode() { + return Objects.hash(names); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private List names = Arrays.asList("A", "B"); + + public SomeType build() { + SomeType result = new SomeType(); + result.names = this.names; + return result; + } + + public Builder names(List names) { + this.names = names; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/schema.graphql new file mode 100644 index 000000000..33823b80f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/schema.graphql @@ -0,0 +1,3 @@ +input SomeType { + names: [String] = ["A", "B"] +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/DgsConstants.java new file mode 100644 index 000000000..66d6ac41b --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/DgsConstants.java @@ -0,0 +1,11 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForArray.expected; + +import java.lang.String; + +public class DgsConstants { + public static class SOMETYPE { + public static final String TYPE_NAME = "SomeType"; + + public static final String Names = "names"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/types/SomeType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/types/SomeType.java new file mode 100644 index 000000000..01a84f6d1 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/types/SomeType.java @@ -0,0 +1,64 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForArray.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Collections; +import java.util.List; +import java.util.Objects; + +public class SomeType { + private List names = Collections.emptyList(); + + public SomeType() { + } + + public SomeType(List names) { + this.names = names; + } + + public List getNames() { + return names; + } + + public void setNames(List names) { + this.names = names; + } + + @Override + public String toString() { + return "SomeType{names='" + names + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SomeType that = (SomeType) o; + return Objects.equals(names, that.names); + } + + @Override + public int hashCode() { + return Objects.hash(names); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private List names = Collections.emptyList(); + + public SomeType build() { + SomeType result = new SomeType(); + result.names = this.names; + return result; + } + + public Builder names(List names) { + this.names = names; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/schema.graphql new file mode 100644 index 000000000..0cadf1680 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/schema.graphql @@ -0,0 +1,3 @@ +input SomeType { + names: [String] = [] +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/DgsConstants.java new file mode 100644 index 000000000..24c18d18c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/DgsConstants.java @@ -0,0 +1,11 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForEnum.expected; + +import java.lang.String; + +public class DgsConstants { + public static class COLORFILTER { + public static final String TYPE_NAME = "ColorFilter"; + + public static final String Color = "color"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/types/Color.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/types/Color.java new file mode 100644 index 000000000..7882633c8 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/types/Color.java @@ -0,0 +1,5 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForEnum.expected.types; + +public enum Color { + red +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/types/ColorFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/types/ColorFilter.java new file mode 100644 index 000000000..700c10c3a --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/types/ColorFilter.java @@ -0,0 +1,62 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForEnum.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class ColorFilter { + private Color color = Color.red; + + public ColorFilter() { + } + + public ColorFilter(Color color) { + this.color = color; + } + + public Color getColor() { + return color; + } + + public void setColor(Color color) { + this.color = color; + } + + @Override + public String toString() { + return "ColorFilter{color='" + color + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ColorFilter that = (ColorFilter) o; + return Objects.equals(color, that.color); + } + + @Override + public int hashCode() { + return Objects.hash(color); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private Color color = Color.red; + + public ColorFilter build() { + ColorFilter result = new ColorFilter(); + result.color = this.color; + return result; + } + + public Builder color(Color color) { + this.color = color; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/schema.graphql new file mode 100644 index 000000000..ca2a46f39 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/schema.graphql @@ -0,0 +1,7 @@ +enum Color { + red +} + +input ColorFilter { + color: Color = red +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/DgsConstants.java new file mode 100644 index 000000000..22e4981cc --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/DgsConstants.java @@ -0,0 +1,25 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForNonNullableFields.expected; + +import java.lang.String; + +public class DgsConstants { + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Name = "name"; + + public static final String Age = "age"; + + public static final String Car = "car"; + + public static final String Hobbies = "hobbies"; + + public static final String IsHappy = "isHappy"; + } + + public static class CAR { + public static final String TYPE_NAME = "Car"; + + public static final String Brand = "brand"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Car.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Car.java new file mode 100644 index 000000000..a5a8c624c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Car.java @@ -0,0 +1,62 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForNonNullableFields.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class Car { + private String brand = "BMW"; + + public Car() { + } + + public Car(String brand) { + this.brand = brand; + } + + public String getBrand() { + return brand; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + @Override + public String toString() { + return "Car{brand='" + brand + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Car that = (Car) o; + return Objects.equals(brand, that.brand); + } + + @Override + public int hashCode() { + return Objects.hash(brand); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String brand = "BMW"; + + public Car build() { + Car result = new Car(); + result.brand = this.brand; + return result; + } + + public Builder brand(String brand) { + this.brand = brand; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Hobby.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Hobby.java new file mode 100644 index 000000000..4cf8af4e2 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Hobby.java @@ -0,0 +1,7 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForNonNullableFields.expected.types; + +public enum Hobby { + Football, + + Hokey +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Person.java new file mode 100644 index 000000000..083443809 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Person.java @@ -0,0 +1,144 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForNonNullableFields.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; + +public class Person { + private String name = "Damian"; + + private int age = 18; + + private Car car = new Car(){{setBrand("Ford");}}; + + private List hobbies = Arrays.asList(Hobby.Hokey); + + private boolean isHappy = true; + + public Person() { + } + + public Person(String name, int age, Car car, List hobbies, boolean isHappy) { + this.name = name; + this.age = age; + this.car = car; + this.hobbies = hobbies; + this.isHappy = isHappy; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + public Car getCar() { + return car; + } + + public void setCar(Car car) { + this.car = car; + } + + public List getHobbies() { + return hobbies; + } + + public void setHobbies(List hobbies) { + this.hobbies = hobbies; + } + + public boolean getIsHappy() { + return isHappy; + } + + public void setIsHappy(boolean isHappy) { + this.isHappy = isHappy; + } + + @Override + public String toString() { + return "Person{name='" + name + "', age='" + age + "', car='" + car + "', hobbies='" + hobbies + "', isHappy='" + isHappy + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Person that = (Person) o; + return Objects.equals(name, that.name) && + age == that.age && + Objects.equals(car, that.car) && + Objects.equals(hobbies, that.hobbies) && + isHappy == that.isHappy; + } + + @Override + public int hashCode() { + return Objects.hash(name, age, car, hobbies, isHappy); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String name = "Damian"; + + private int age = 18; + + private Car car = new Car(){{setBrand("Ford");}}; + + private List hobbies = Arrays.asList(Hobby.Hokey); + + private boolean isHappy = true; + + public Person build() { + Person result = new Person(); + result.name = this.name; + result.age = this.age; + result.car = this.car; + result.hobbies = this.hobbies; + result.isHappy = this.isHappy; + return result; + } + + public Builder name(String name) { + this.name = name; + return this; + } + + public Builder age(int age) { + this.age = age; + return this; + } + + public Builder car(Car car) { + this.car = car; + return this; + } + + public Builder hobbies(List hobbies) { + this.hobbies = hobbies; + return this; + } + + public Builder isHappy(boolean isHappy) { + this.isHappy = isHappy; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/schema.graphql new file mode 100644 index 000000000..e326420f6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/schema.graphql @@ -0,0 +1,16 @@ +input Person { + name: String! = "Damian" + age: Int! = 18 + car: Car! = { brand: "Ford" } + hobbies: [Hobby!]! = [Hokey] + isHappy: Boolean! = true +} + +enum Hobby { + Football + Hokey +} + +input Car { + brand: String! = "BMW" +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/DgsConstants.java new file mode 100644 index 000000000..fc1c93604 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/DgsConstants.java @@ -0,0 +1,27 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForObject.expected; + +import java.lang.String; + +public class DgsConstants { + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Name = "name"; + + public static final String Age = "age"; + + public static final String Car = "car"; + } + + public static class CAR { + public static final String TYPE_NAME = "Car"; + + public static final String Brand = "brand"; + } + + public static class MOVIEFILTER { + public static final String TYPE_NAME = "MovieFilter"; + + public static final String Director = "director"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/Car.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/Car.java new file mode 100644 index 000000000..a6812feba --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/Car.java @@ -0,0 +1,62 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForObject.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class Car { + private String brand = "BMW"; + + public Car() { + } + + public Car(String brand) { + this.brand = brand; + } + + public String getBrand() { + return brand; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + @Override + public String toString() { + return "Car{brand='" + brand + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Car that = (Car) o; + return Objects.equals(brand, that.brand); + } + + @Override + public int hashCode() { + return Objects.hash(brand); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String brand = "BMW"; + + public Car build() { + Car result = new Car(); + result.brand = this.brand; + return result; + } + + public Builder brand(String brand) { + this.brand = brand; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/MovieFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/MovieFilter.java new file mode 100644 index 000000000..a3bad5aa8 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/MovieFilter.java @@ -0,0 +1,62 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForObject.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class MovieFilter { + private Person director = new Person(){{setName("Damian");setCar(new Car(){{setBrand("Tesla");}});}}; + + public MovieFilter() { + } + + public MovieFilter(Person director) { + this.director = director; + } + + public Person getDirector() { + return director; + } + + public void setDirector(Person director) { + this.director = director; + } + + @Override + public String toString() { + return "MovieFilter{director='" + director + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MovieFilter that = (MovieFilter) o; + return Objects.equals(director, that.director); + } + + @Override + public int hashCode() { + return Objects.hash(director); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private Person director = new Person(){{setName("Damian");setCar(new Car(){{setBrand("Tesla");}});}}; + + public MovieFilter build() { + MovieFilter result = new MovieFilter(); + result.director = this.director; + return result; + } + + public Builder director(Person director) { + this.director = director; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/Person.java new file mode 100644 index 000000000..20de4d8a5 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/Person.java @@ -0,0 +1,103 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForObject.expected.types; + +import java.lang.Integer; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class Person { + private String name = "John"; + + private Integer age = 23; + + private Car car = new Car(){{setBrand("Ford");}}; + + public Person() { + } + + public Person(String name, Integer age, Car car) { + this.name = name; + this.age = age; + this.car = car; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getAge() { + return age; + } + + public void setAge(Integer age) { + this.age = age; + } + + public Car getCar() { + return car; + } + + public void setCar(Car car) { + this.car = car; + } + + @Override + public String toString() { + return "Person{name='" + name + "', age='" + age + "', car='" + car + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Person that = (Person) o; + return Objects.equals(name, that.name) && + Objects.equals(age, that.age) && + Objects.equals(car, that.car); + } + + @Override + public int hashCode() { + return Objects.hash(name, age, car); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String name = "John"; + + private Integer age = 23; + + private Car car = new Car(){{setBrand("Ford");}}; + + public Person build() { + Person result = new Person(); + result.name = this.name; + result.age = this.age; + result.car = this.car; + return result; + } + + public Builder name(String name) { + this.name = name; + return this; + } + + public Builder age(Integer age) { + this.age = age; + return this; + } + + public Builder car(Car car) { + this.car = car; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/schema.graphql new file mode 100644 index 000000000..2e1f197f9 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/schema.graphql @@ -0,0 +1,13 @@ +input Person { + name: String = "John" + age: Int = 23 + car: Car = { brand: "Ford" } +} + +input Car { + brand: String! = "BMW" +} + +input MovieFilter { + director: Person = { name: "Damian", car: { brand: "Tesla" } } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/DgsConstants.java new file mode 100644 index 000000000..6e507503c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/DgsConstants.java @@ -0,0 +1,25 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithExtendedType.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Movies = "movies"; + + public static class MOVIES_INPUT_ARGUMENT { + public static final String Filter = "filter"; + } + } + + public static class MOVIEFILTER { + public static final String TYPE_NAME = "MovieFilter"; + + public static final String Genre = "genre"; + + public static final String ReleaseYear = "releaseYear"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/client/MoviesGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/client/MoviesGraphQLQuery.java new file mode 100644 index 000000000..4787b27d4 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/client/MoviesGraphQLQuery.java @@ -0,0 +1,85 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithExtendedType.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithExtendedType.expected.types.MovieFilter; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class MoviesGraphQLQuery extends GraphQLQuery { + public MoviesGraphQLQuery(MovieFilter filter, String queryName, Set fieldsSet) { + super("query", queryName); + if (filter != null || fieldsSet.contains("filter")) { + getInput().put("filter", filter); + } + } + + public MoviesGraphQLQuery(MovieFilter filter, String queryName, Set fieldsSet, + Map variableReferences, List variableDefinitions) { + super("query", queryName); + if (filter != null || fieldsSet.contains("filter")) { + getInput().put("filter", filter); + } + if(variableDefinitions != null) { + getVariableDefinitions().addAll(variableDefinitions); + } + + if(variableReferences != null) { + getVariableReferences().putAll(variableReferences); + } + } + + public MoviesGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "movies"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private MovieFilter filter; + + private String queryName; + + public MoviesGraphQLQuery build() { + return new MoviesGraphQLQuery(filter, queryName, fieldsSet, variableReferences, variableDefinitions); + + } + + public Builder filter(MovieFilter filter) { + this.filter = filter; + this.fieldsSet.add("filter"); + return this; + } + + public Builder filterReference(String variableRef) { + this.variableReferences.put("filter", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.TypeName("MovieFilter")).build()); + this.fieldsSet.add("filter"); + return this; + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/datafetchers/MoviesDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/datafetchers/MoviesDatafetcher.java new file mode 100644 index 000000000..945e045c6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/datafetchers/MoviesDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithExtendedType.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import graphql.schema.DataFetchingEnvironment; +import java.lang.String; +import java.util.List; + +@DgsComponent +public class MoviesDatafetcher { + @DgsData( + parentType = "Query", + field = "movies" + ) + public List getMovies(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/types/MovieFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/types/MovieFilter.java new file mode 100644 index 000000000..6f2c56346 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/types/MovieFilter.java @@ -0,0 +1,83 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithExtendedType.expected.types; + +import java.lang.Integer; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class MovieFilter { + private String genre; + + private Integer releaseYear; + + public MovieFilter() { + } + + public MovieFilter(String genre, Integer releaseYear) { + this.genre = genre; + this.releaseYear = releaseYear; + } + + public String getGenre() { + return genre; + } + + public void setGenre(String genre) { + this.genre = genre; + } + + public Integer getReleaseYear() { + return releaseYear; + } + + public void setReleaseYear(Integer releaseYear) { + this.releaseYear = releaseYear; + } + + @Override + public String toString() { + return "MovieFilter{genre='" + genre + "', releaseYear='" + releaseYear + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MovieFilter that = (MovieFilter) o; + return Objects.equals(genre, that.genre) && + Objects.equals(releaseYear, that.releaseYear); + } + + @Override + public int hashCode() { + return Objects.hash(genre, releaseYear); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String genre; + + private Integer releaseYear; + + public MovieFilter build() { + MovieFilter result = new MovieFilter(); + result.genre = this.genre; + result.releaseYear = this.releaseYear; + return result; + } + + public Builder genre(String genre) { + this.genre = genre; + return this; + } + + public Builder releaseYear(Integer releaseYear) { + this.releaseYear = releaseYear; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/schema.graphql new file mode 100644 index 000000000..e35fc6c65 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/schema.graphql @@ -0,0 +1,11 @@ +type Query { + movies(filter: MovieFilter): [String] +} + +input MovieFilter { + genre: String +} + +extend input MovieFilter { + releaseYear: Int +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/DgsConstants.java new file mode 100644 index 000000000..8c41a14e7 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/DgsConstants.java @@ -0,0 +1,11 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithReservedWord.expected; + +import java.lang.String; + +public class DgsConstants { + public static class SAMPLEINPUT { + public static final String TYPE_NAME = "SampleInput"; + + public static final String Return = "return"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/types/SampleInput.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/types/SampleInput.java new file mode 100644 index 000000000..66cd11706 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/types/SampleInput.java @@ -0,0 +1,62 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithReservedWord.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class SampleInput { + private String _return; + + public SampleInput() { + } + + public SampleInput(String _return) { + this._return = _return; + } + + public String getReturn() { + return _return; + } + + public void setReturn(String _return) { + this._return = _return; + } + + @Override + public String toString() { + return "SampleInput{return='" + _return + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SampleInput that = (SampleInput) o; + return Objects.equals(_return, that._return); + } + + @Override + public int hashCode() { + return Objects.hash(_return); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String _return; + + public SampleInput build() { + SampleInput result = new SampleInput(); + result._return = this._return; + return result; + } + + public Builder _return(String _return) { + this._return = _return; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/schema.graphql new file mode 100644 index 000000000..95e963719 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/schema.graphql @@ -0,0 +1,3 @@ +input SampleInput { + return: String! +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/DgsConstants.java new file mode 100644 index 000000000..eb42c25c7 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/DgsConstants.java @@ -0,0 +1,53 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFields.expected; + +import java.lang.String; + +public class DgsConstants { + public static class DOG { + public static final String TYPE_NAME = "Dog"; + + public static final String Id = "id"; + + public static final String Name = "name"; + + public static final String Address = "address"; + + public static final String Mother = "mother"; + + public static final String Father = "father"; + + public static final String Parents = "parents"; + } + + public static class BIRD { + public static final String TYPE_NAME = "Bird"; + + public static final String Id = "id"; + + public static final String Name = "name"; + + public static final String Address = "address"; + + public static final String Mother = "mother"; + + public static final String Father = "father"; + + public static final String Parents = "parents"; + } + + public static class PET { + public static final String TYPE_NAME = "Pet"; + + public static final String Id = "id"; + + public static final String Name = "name"; + + public static final String Address = "address"; + + public static final String Mother = "mother"; + + public static final String Father = "father"; + + public static final String Parents = "parents"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Bird.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Bird.java new file mode 100644 index 000000000..49df10b12 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Bird.java @@ -0,0 +1,168 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFields.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Bird implements com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFields.expected.types.Pet { + private String id; + + private String name; + + private List address; + + private Bird mother; + + private Bird father; + + private List parents; + + public Bird() { + } + + public Bird(String id, String name, List address, Bird mother, Bird father, + List parents) { + this.id = id; + this.name = name; + this.address = address; + this.mother = mother; + this.father = father; + this.parents = parents; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getAddress() { + return address; + } + + public void setAddress(List address) { + this.address = address; + } + + public Bird getMother() { + return mother; + } + + public void setMother(Bird mother) { + this.mother = mother; + } + + public Bird getFather() { + return father; + } + + public void setFather(Bird father) { + this.father = father; + } + + public List getParents() { + return parents; + } + + public void setParents(List parents) { + this.parents = parents; + } + + @Override + public String toString() { + return "Bird{id='" + id + "', name='" + name + "', address='" + address + "', mother='" + mother + "', father='" + father + "', parents='" + parents + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Bird that = (Bird) o; + return Objects.equals(id, that.id) && + Objects.equals(name, that.name) && + Objects.equals(address, that.address) && + Objects.equals(mother, that.mother) && + Objects.equals(father, that.father) && + Objects.equals(parents, that.parents); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, address, mother, father, parents); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String id; + + private String name; + + private List address; + + private Bird mother; + + private Bird father; + + private List parents; + + public Bird build() { + Bird result = new Bird(); + result.id = this.id; + result.name = this.name; + result.address = this.address; + result.mother = this.mother; + result.father = this.father; + result.parents = this.parents; + return result; + } + + public Builder id(String id) { + this.id = id; + return this; + } + + public Builder name(String name) { + this.name = name; + return this; + } + + public Builder address(List address) { + this.address = address; + return this; + } + + public Builder mother(Bird mother) { + this.mother = mother; + return this; + } + + public Builder father(Bird father) { + this.father = father; + return this; + } + + public Builder parents(List parents) { + this.parents = parents; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Dog.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Dog.java new file mode 100644 index 000000000..bc76f8238 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Dog.java @@ -0,0 +1,168 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFields.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Dog implements com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFields.expected.types.Pet { + private String id; + + private String name; + + private List address; + + private Dog mother; + + private Dog father; + + private List parents; + + public Dog() { + } + + public Dog(String id, String name, List address, Dog mother, Dog father, + List parents) { + this.id = id; + this.name = name; + this.address = address; + this.mother = mother; + this.father = father; + this.parents = parents; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getAddress() { + return address; + } + + public void setAddress(List address) { + this.address = address; + } + + public Dog getMother() { + return mother; + } + + public void setMother(Dog mother) { + this.mother = mother; + } + + public Dog getFather() { + return father; + } + + public void setFather(Dog father) { + this.father = father; + } + + public List getParents() { + return parents; + } + + public void setParents(List parents) { + this.parents = parents; + } + + @Override + public String toString() { + return "Dog{id='" + id + "', name='" + name + "', address='" + address + "', mother='" + mother + "', father='" + father + "', parents='" + parents + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Dog that = (Dog) o; + return Objects.equals(id, that.id) && + Objects.equals(name, that.name) && + Objects.equals(address, that.address) && + Objects.equals(mother, that.mother) && + Objects.equals(father, that.father) && + Objects.equals(parents, that.parents); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, address, mother, father, parents); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String id; + + private String name; + + private List address; + + private Dog mother; + + private Dog father; + + private List parents; + + public Dog build() { + Dog result = new Dog(); + result.id = this.id; + result.name = this.name; + result.address = this.address; + result.mother = this.mother; + result.father = this.father; + result.parents = this.parents; + return result; + } + + public Builder id(String id) { + this.id = id; + return this; + } + + public Builder name(String name) { + this.name = name; + return this; + } + + public Builder address(List address) { + this.address = address; + return this; + } + + public Builder mother(Dog mother) { + this.mother = mother; + return this; + } + + public Builder father(Dog father) { + this.father = father; + return this; + } + + public Builder parents(List parents) { + this.parents = parents; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Pet.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Pet.java new file mode 100644 index 000000000..99f7004fe --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Pet.java @@ -0,0 +1,33 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFields.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.String; +import java.util.List; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes({ + @JsonSubTypes.Type(value = Dog.class, name = "Dog"), + @JsonSubTypes.Type(value = Bird.class, name = "Bird") +}) +public interface Pet { + String getId(); + + void setId(String id); + + String getName(); + + void setName(String name); + + List getAddress(); + + void setAddress(List address); + + Pet getMother(); + + Pet getFather(); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/schema.graphql new file mode 100644 index 000000000..d693365d3 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/schema.graphql @@ -0,0 +1,24 @@ +interface Pet { + id: ID! + name: String + address: [String!]! + mother: Pet! + father: Pet + parents: [Pet] +} +type Dog implements Pet { + id: ID! + name: String + address: [String!]! + mother: Dog! + father: Dog + parents: [Dog] +} +type Bird implements Pet { + id: ID! + name: String + address: [String!]! + mother: Bird! + father: Bird + parents: [Bird] +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/DgsConstants.java new file mode 100644 index 000000000..5138cefdb --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/DgsConstants.java @@ -0,0 +1,35 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFieldsOfDifferentType.expected; + +import java.lang.String; + +public class DgsConstants { + public static class VEGETARIAN { + public static final String TYPE_NAME = "Vegetarian"; + + public static final String Calories = "calories"; + + public static final String Vegetables = "vegetables"; + } + + public static class DOG { + public static final String TYPE_NAME = "Dog"; + + public static final String Name = "name"; + + public static final String Diet = "diet"; + } + + public static class PET { + public static final String TYPE_NAME = "Pet"; + + public static final String Name = "name"; + + public static final String Diet = "diet"; + } + + public static class DIET { + public static final String TYPE_NAME = "Diet"; + + public static final String Calories = "calories"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Diet.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Diet.java new file mode 100644 index 000000000..cdffe99e3 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Diet.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFieldsOfDifferentType.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.String; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes(@JsonSubTypes.Type(value = Vegetarian.class, name = "Vegetarian")) +public interface Diet { + String getCalories(); + + void setCalories(String calories); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Dog.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Dog.java new file mode 100644 index 000000000..5af811c14 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Dog.java @@ -0,0 +1,86 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFieldsOfDifferentType.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Dog implements com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFieldsOfDifferentType.expected.types.Pet { + private String name; + + private Vegetarian diet; + + public Dog() { + } + + public Dog(String name, Vegetarian diet) { + this.name = name; + this.diet = diet; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Vegetarian getDiet() { + return diet; + } + + public void setDiet(Vegetarian diet) { + this.diet = diet; + } + + @Override + public String toString() { + return "Dog{name='" + name + "', diet='" + diet + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Dog that = (Dog) o; + return Objects.equals(name, that.name) && + Objects.equals(diet, that.diet); + } + + @Override + public int hashCode() { + return Objects.hash(name, diet); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String name; + + private Vegetarian diet; + + public Dog build() { + Dog result = new Dog(); + result.name = this.name; + result.diet = this.diet; + return result; + } + + public Builder name(String name) { + this.name = name; + return this; + } + + public Builder diet(Vegetarian diet) { + this.diet = diet; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Pet.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Pet.java new file mode 100644 index 000000000..b0178ad96 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Pet.java @@ -0,0 +1,19 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFieldsOfDifferentType.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.String; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes(@JsonSubTypes.Type(value = Dog.class, name = "Dog")) +public interface Pet { + String getName(); + + void setName(String name); + + Diet getDiet(); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Vegetarian.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Vegetarian.java new file mode 100644 index 000000000..9d6cbc912 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Vegetarian.java @@ -0,0 +1,87 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFieldsOfDifferentType.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Vegetarian implements com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFieldsOfDifferentType.expected.types.Diet { + private String calories; + + private List vegetables; + + public Vegetarian() { + } + + public Vegetarian(String calories, List vegetables) { + this.calories = calories; + this.vegetables = vegetables; + } + + public String getCalories() { + return calories; + } + + public void setCalories(String calories) { + this.calories = calories; + } + + public List getVegetables() { + return vegetables; + } + + public void setVegetables(List vegetables) { + this.vegetables = vegetables; + } + + @Override + public String toString() { + return "Vegetarian{calories='" + calories + "', vegetables='" + vegetables + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Vegetarian that = (Vegetarian) o; + return Objects.equals(calories, that.calories) && + Objects.equals(vegetables, that.vegetables); + } + + @Override + public int hashCode() { + return Objects.hash(calories, vegetables); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String calories; + + private List vegetables; + + public Vegetarian build() { + Vegetarian result = new Vegetarian(); + result.calories = this.calories; + result.vegetables = this.vegetables; + return result; + } + + public Builder calories(String calories) { + this.calories = calories; + return this; + } + + public Builder vegetables(List vegetables) { + this.vegetables = vegetables; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/schema.graphql new file mode 100644 index 000000000..a7879549b --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/schema.graphql @@ -0,0 +1,18 @@ +interface Pet { + name: String + diet: Diet +} + +interface Diet { + calories: String +} + +type Vegetarian implements Diet { + calories: String + vegetables: [String] +} + +type Dog implements Pet { + name: String + diet: Vegetarian +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/DgsConstants.java new file mode 100644 index 000000000..1cd14749d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/DgsConstants.java @@ -0,0 +1,31 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String People = "people"; + } + + public static class EMPLOYEE { + public static final String TYPE_NAME = "Employee"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + + public static final String Company = "company"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Firstname = "firstname"; + + public static final String Lastname = "lastname"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/EmployeeFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/EmployeeFragmentProjection.java new file mode 100644 index 000000000..588101fd3 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/EmployeeFragmentProjection.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import java.lang.Override; +import java.lang.String; + +public class EmployeeFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + { + getFields().put("__typename", null); + } + + public EmployeeFragmentProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Employee")); + } + + public EmployeeFragmentProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public EmployeeFragmentProjection firstname() { + getFields().put("firstname", null); + return this; + } + + public EmployeeFragmentProjection lastname() { + getFields().put("lastname", null); + return this; + } + + public EmployeeFragmentProjection company() { + getFields().put("company", null); + return this; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("... on Employee {"); + getFields().forEach((k, v) -> { + builder.append(" ").append(k); + if(v != null) { + builder.append(" ").append(v.toString()); + } + }); + builder.append("}"); + + return builder.toString(); + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/PeopleGraphQLQuery.java new file mode 100644 index 000000000..0aed4e958 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/PeopleGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PeopleGraphQLQuery extends GraphQLQuery { + public PeopleGraphQLQuery(String queryName) { + super("query", queryName); + } + + public PeopleGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "people"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public PeopleGraphQLQuery build() { + return new PeopleGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/PeopleProjectionRoot.java new file mode 100644 index 000000000..6095c3748 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/PeopleProjectionRoot.java @@ -0,0 +1,31 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PeopleProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PeopleProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PeopleProjectionRoot firstname() { + getFields().put("firstname", null); + return this; + } + + public PeopleProjectionRoot lastname() { + getFields().put("lastname", null); + return this; + } + + public EmployeeFragmentProjection, PeopleProjectionRoot> onEmployee( + ) { + EmployeeFragmentProjection, PeopleProjectionRoot> fragment = new EmployeeFragmentProjection<>(this, this); + getFragments().add(fragment); + return fragment; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/datafetchers/PeopleDatafetcher.java new file mode 100644 index 000000000..3084a0379 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/datafetchers/PeopleDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class PeopleDatafetcher { + @DgsData( + parentType = "Query", + field = "people" + ) + public List getPeople(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/types/Employee.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/types/Employee.java new file mode 100644 index 000000000..5dafecf08 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/types/Employee.java @@ -0,0 +1,106 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Employee implements com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.types.Person { + private String firstname; + + private String lastname; + + private String company; + + public Employee() { + } + + public Employee(String firstname, String lastname, String company) { + this.firstname = firstname; + this.lastname = lastname; + this.company = company; + } + + public String getFirstname() { + return firstname; + } + + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public String getLastname() { + return lastname; + } + + public void setLastname(String lastname) { + this.lastname = lastname; + } + + public String getCompany() { + return company; + } + + public void setCompany(String company) { + this.company = company; + } + + @Override + public String toString() { + return "Employee{firstname='" + firstname + "', lastname='" + lastname + "', company='" + company + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Employee that = (Employee) o; + return Objects.equals(firstname, that.firstname) && + Objects.equals(lastname, that.lastname) && + Objects.equals(company, that.company); + } + + @Override + public int hashCode() { + return Objects.hash(firstname, lastname, company); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String firstname; + + private String lastname; + + private String company; + + public Employee build() { + Employee result = new Employee(); + result.firstname = this.firstname; + result.lastname = this.lastname; + result.company = this.company; + return result; + } + + public Builder firstname(String firstname) { + this.firstname = firstname; + return this; + } + + public Builder lastname(String lastname) { + this.lastname = lastname; + return this; + } + + public Builder company(String company) { + this.company = company; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/types/Person.java new file mode 100644 index 000000000..c4a600e51 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/types/Person.java @@ -0,0 +1,21 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.String; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes(@JsonSubTypes.Type(value = Employee.class, name = "Employee")) +public interface Person { + String getFirstname(); + + void setFirstname(String firstname); + + String getLastname(); + + void setLastname(String lastname); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/schema.graphql new file mode 100644 index 000000000..d636b284c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/schema.graphql @@ -0,0 +1,14 @@ +type Query { + people: [Person] +} + +interface Person { + firstname: String! + lastname: String +} + +type Employee implements Person { + firstname: String! + lastname: String + company: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/DgsConstants.java new file mode 100644 index 000000000..04bc7ecce --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/DgsConstants.java @@ -0,0 +1,11 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceDocs.expected; + +import java.lang.String; + +public class DgsConstants { + public static class TITLED { + public static final String TYPE_NAME = "Titled"; + + public static final String Title = "title"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/types/Titled.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/types/Titled.java new file mode 100644 index 000000000..53e5d1a57 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/types/Titled.java @@ -0,0 +1,12 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceDocs.expected.types; + +import java.lang.String; + +/** + * Anything with a title! + */ +public interface Titled { + String getTitle(); + + void setTitle(String title); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/schema.graphql new file mode 100644 index 000000000..6f701ed77 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/schema.graphql @@ -0,0 +1,6 @@ +""" +Anything with a title! +""" +interface Titled { + title: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/DgsConstants.java new file mode 100644 index 000000000..25a6e54b3 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/DgsConstants.java @@ -0,0 +1,11 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceFieldsDocs.expected; + +import java.lang.String; + +public class DgsConstants { + public static class TITLED { + public static final String TYPE_NAME = "Titled"; + + public static final String Title = "title"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/types/Titled.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/types/Titled.java new file mode 100644 index 000000000..ffef3efd1 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/types/Titled.java @@ -0,0 +1,15 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceFieldsDocs.expected.types; + +import java.lang.String; + +public interface Titled { + /** + * The original, non localized title. + */ + String getTitle(); + + /** + * The original, non localized title. + */ + void setTitle(String title); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/schema.graphql new file mode 100644 index 000000000..7effcb9df --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/schema.graphql @@ -0,0 +1,6 @@ +interface Titled { + """ + The original, non localized title. + """ + title: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/DgsConstants.java new file mode 100644 index 000000000..d9133cd88 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/DgsConstants.java @@ -0,0 +1,33 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Fruits = "fruits"; + } + + public static class SEED { + public static final String TYPE_NAME = "Seed"; + + public static final String Name = "name"; + } + + public static class FRUIT { + public static final String TYPE_NAME = "Fruit"; + + public static final String Seeds = "seeds"; + } + + public static class STONEFRUIT { + public static final String TYPE_NAME = "StoneFruit"; + + public static final String Seeds = "seeds"; + + public static final String Fuzzy = "fuzzy"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/FruitsGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/FruitsGraphQLQuery.java new file mode 100644 index 000000000..00fb2c474 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/FruitsGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class FruitsGraphQLQuery extends GraphQLQuery { + public FruitsGraphQLQuery(String queryName) { + super("query", queryName); + } + + public FruitsGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "fruits"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public FruitsGraphQLQuery build() { + return new FruitsGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/FruitsProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/FruitsProjectionRoot.java new file mode 100644 index 000000000..c457b7944 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/FruitsProjectionRoot.java @@ -0,0 +1,21 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class FruitsProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public FruitsProjectionRoot() { + super(null, null, java.util.Optional.of("Fruit")); + } + + public FruitsProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public SeedProjection, FruitsProjectionRoot> seeds( + ) { + SeedProjection, FruitsProjectionRoot> projection = new SeedProjection<>(this, this); + getFields().put("seeds", projection); + return projection; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/SeedProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/SeedProjection.java new file mode 100644 index 000000000..7f0199b37 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/SeedProjection.java @@ -0,0 +1,19 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class SeedProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public SeedProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Seed")); + } + + public SeedProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public SeedProjection name() { + getFields().put("name", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/datafetchers/FruitsDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/datafetchers/FruitsDatafetcher.java new file mode 100644 index 000000000..4f7003a6f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/datafetchers/FruitsDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.types.Fruit; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class FruitsDatafetcher { + @DgsData( + parentType = "Query", + field = "fruits" + ) + public List getFruits(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/Fruit.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/Fruit.java new file mode 100644 index 000000000..54d39aaff --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/Fruit.java @@ -0,0 +1,9 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.types; + +import java.util.List; + +public interface Fruit { + List getSeeds(); + + void setSeeds(List seeds); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/Seed.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/Seed.java new file mode 100644 index 000000000..f9a7fbf02 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/Seed.java @@ -0,0 +1,62 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class Seed { + private String name; + + public Seed() { + } + + public Seed(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public String toString() { + return "Seed{name='" + name + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Seed that = (Seed) o; + return Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String name; + + public Seed build() { + Seed result = new Seed(); + result.name = this.name; + return result; + } + + public Builder name(String name) { + this.name = name; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/StoneFruit.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/StoneFruit.java new file mode 100644 index 000000000..869bf4db2 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/StoneFruit.java @@ -0,0 +1,14 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.types; + +import java.lang.Boolean; +import java.util.List; + +public interface StoneFruit extends Fruit { + List getSeeds(); + + void setSeeds(List seeds); + + Boolean getFuzzy(); + + void setFuzzy(Boolean fuzzy); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/schema.graphql new file mode 100644 index 000000000..40b9ae6da --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/schema.graphql @@ -0,0 +1,16 @@ +type Query { + fruits: [Fruit] +} + +type Seed { + name: String +} + +interface Fruit { + seeds: [Seed] +} + +interface StoneFruit implements Fruit { + seeds: [Seed] + fuzzy: Boolean +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/DgsConstants.java new file mode 100644 index 000000000..7a1377b6c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/DgsConstants.java @@ -0,0 +1,27 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Is = "is"; + } + + public static class T { + public static final String TYPE_NAME = "T"; + + public static final String _id = "_id"; + + public static final String Id = "id"; + } + + public static class I { + public static final String TYPE_NAME = "I"; + + public static final String _id = "_id"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/IsGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/IsGraphQLQuery.java new file mode 100644 index 000000000..e42404ff5 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/IsGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class IsGraphQLQuery extends GraphQLQuery { + public IsGraphQLQuery(String queryName) { + super("query", queryName); + } + + public IsGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "is"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public IsGraphQLQuery build() { + return new IsGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/IsProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/IsProjectionRoot.java new file mode 100644 index 000000000..0352f3c5e --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/IsProjectionRoot.java @@ -0,0 +1,25 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class IsProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public IsProjectionRoot() { + super(null, null, java.util.Optional.of("I")); + } + + public IsProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public IsProjectionRoot _id() { + getFields().put("_id", null); + return this; + } + + public TFragmentProjection, IsProjectionRoot> onT() { + TFragmentProjection, IsProjectionRoot> fragment = new TFragmentProjection<>(this, this); + getFragments().add(fragment); + return fragment; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/TFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/TFragmentProjection.java new file mode 100644 index 000000000..28bf5b919 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/TFragmentProjection.java @@ -0,0 +1,45 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import java.lang.Override; +import java.lang.String; + +public class TFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + { + getFields().put("__typename", null); + } + + public TFragmentProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("T")); + } + + public TFragmentProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public TFragmentProjection _id() { + getFields().put("_id", null); + return this; + } + + public TFragmentProjection id() { + getFields().put("id", null); + return this; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("... on T {"); + getFields().forEach((k, v) -> { + builder.append(" ").append(k); + if(v != null) { + builder.append(" ").append(v.toString()); + } + }); + builder.append("}"); + + return builder.toString(); + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/datafetchers/IsDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/datafetchers/IsDatafetcher.java new file mode 100644 index 000000000..a4d7a8e43 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/datafetchers/IsDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.types.I; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class IsDatafetcher { + @DgsData( + parentType = "Query", + field = "is" + ) + public List getIs(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/types/I.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/types/I.java new file mode 100644 index 000000000..b719e4c00 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/types/I.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.String; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes(@JsonSubTypes.Type(value = T.class, name = "T")) +public interface I { + String get_id(); + + void set_id(String _id); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/types/T.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/types/T.java new file mode 100644 index 000000000..483e4c557 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/types/T.java @@ -0,0 +1,86 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class T implements com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.types.I { + private String _id; + + private String id; + + public T() { + } + + public T(String _id, String id) { + this._id = _id; + this.id = id; + } + + public String get_id() { + return _id; + } + + public void set_id(String _id) { + this._id = _id; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + @Override + public String toString() { + return "T{_id='" + _id + "', id='" + id + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + T that = (T) o; + return Objects.equals(_id, that._id) && + Objects.equals(id, that.id); + } + + @Override + public int hashCode() { + return Objects.hash(_id, id); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String _id; + + private String id; + + public T build() { + T result = new T(); + result._id = this._id; + result.id = this.id; + return result; + } + + public Builder _id(String _id) { + this._id = _id; + return this; + } + + public Builder id(String id) { + this.id = id; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/schema.graphql new file mode 100644 index 000000000..1de3a11fc --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/schema.graphql @@ -0,0 +1,12 @@ +type Query { + is: [I] +} + +interface I { + _id: ID +} + +type T implements I { + _id: ID + id: ID +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/DgsConstants.java new file mode 100644 index 000000000..3e52aedbf --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/DgsConstants.java @@ -0,0 +1,13 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.misc.skipCodegenOnFields.expected; + +import java.lang.String; + +public class DgsConstants { + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Name = "name"; + + public static final String Email = "email"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/types/Person.java new file mode 100644 index 000000000..6dfd556f0 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/types/Person.java @@ -0,0 +1,62 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.misc.skipCodegenOnFields.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class Person { + private String name; + + public Person() { + } + + public Person(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public String toString() { + return "Person{name='" + name + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Person that = (Person) o; + return Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String name; + + public Person build() { + Person result = new Person(); + result.name = this.name; + return result; + } + + public Builder name(String name) { + this.name = name; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/schema.graphql new file mode 100644 index 000000000..876e9f158 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/schema.graphql @@ -0,0 +1,4 @@ +type Person { + name: String + email: String @skipcodegen +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/DgsConstants.java new file mode 100644 index 000000000..ba1c57af1 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/DgsConstants.java @@ -0,0 +1,13 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.misc.skipCodegenOnInterfaceFields.expected; + +import java.lang.String; + +public class DgsConstants { + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Name = "name"; + + public static final String Email = "email"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/types/Person.java new file mode 100644 index 000000000..2ae425ced --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/types/Person.java @@ -0,0 +1,9 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.misc.skipCodegenOnInterfaceFields.expected.types; + +import java.lang.String; + +public interface Person { + String getName(); + + void setName(String name); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/schema.graphql new file mode 100644 index 000000000..884631044 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/schema.graphql @@ -0,0 +1,4 @@ +interface Person { + name: String + email: String @skipcodegen +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/DgsConstants.java new file mode 100644 index 000000000..ca556694f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/DgsConstants.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.misc.skipCodegenOnTypes.expected; + +import java.lang.String; + +public class DgsConstants { + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Name = "name"; + } + + public static class CAR { + public static final String TYPE_NAME = "Car"; + + public static final String Make = "make"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/types/Person.java new file mode 100644 index 000000000..9c315ff4f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/types/Person.java @@ -0,0 +1,62 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.misc.skipCodegenOnTypes.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class Person { + private String name; + + public Person() { + } + + public Person(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public String toString() { + return "Person{name='" + name + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Person that = (Person) o; + return Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String name; + + public Person build() { + Person result = new Person(); + result.name = this.name; + return result; + } + + public Builder name(String name) { + this.name = name; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/schema.graphql new file mode 100644 index 000000000..042d18b53 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/schema.graphql @@ -0,0 +1,7 @@ +type Person { + name: String +} + +type Car @skipcodegen { + make: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/DgsConstants.java new file mode 100644 index 000000000..b480a5e4b --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/DgsConstants.java @@ -0,0 +1,25 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.misc.typesWithUnderscoreField.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class MYINTERFACEIMPL { + public static final String TYPE_NAME = "MyInterfaceImpl"; + + public static final String __ = "_"; + } + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Impl = "impl"; + } + + public static class MYINTERFACE { + public static final String TYPE_NAME = "MyInterface"; + + public static final String __ = "_"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/client/ImplGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/client/ImplGraphQLQuery.java new file mode 100644 index 000000000..99ac31c0a --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/client/ImplGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.misc.typesWithUnderscoreField.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class ImplGraphQLQuery extends GraphQLQuery { + public ImplGraphQLQuery(String queryName) { + super("query", queryName); + } + + public ImplGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "impl"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public ImplGraphQLQuery build() { + return new ImplGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/client/ImplProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/client/ImplProjectionRoot.java new file mode 100644 index 000000000..58266a59d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/client/ImplProjectionRoot.java @@ -0,0 +1,19 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.misc.typesWithUnderscoreField.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class ImplProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public ImplProjectionRoot() { + super(null, null, java.util.Optional.of("MyInterfaceImpl")); + } + + public ImplProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public ImplProjectionRoot __() { + getFields().put("_", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/datafetchers/ImplDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/datafetchers/ImplDatafetcher.java new file mode 100644 index 000000000..34c57a519 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/datafetchers/ImplDatafetcher.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.misc.typesWithUnderscoreField.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.misc.typesWithUnderscoreField.expected.types.MyInterfaceImpl; +import graphql.schema.DataFetchingEnvironment; + +@DgsComponent +public class ImplDatafetcher { + @DgsData( + parentType = "Query", + field = "impl" + ) + public MyInterfaceImpl getImpl(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/types/MyInterface.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/types/MyInterface.java new file mode 100644 index 000000000..5a059aa29 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/types/MyInterface.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.misc.typesWithUnderscoreField.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.String; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes(@JsonSubTypes.Type(value = MyInterfaceImpl.class, name = "MyInterfaceImpl")) +public interface MyInterface { + String get_(); + + void set_(String __); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/types/MyInterfaceImpl.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/types/MyInterfaceImpl.java new file mode 100644 index 000000000..a3f89fcc1 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/types/MyInterfaceImpl.java @@ -0,0 +1,66 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.misc.typesWithUnderscoreField.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class MyInterfaceImpl implements com.netflix.graphql.dgs.codegen.java.testcases.misc.typesWithUnderscoreField.expected.types.MyInterface { + private String __; + + public MyInterfaceImpl() { + } + + public MyInterfaceImpl(String __) { + this.__ = __; + } + + public String get_() { + return __; + } + + public void set_(String __) { + this.__ = __; + } + + @Override + public String toString() { + return "MyInterfaceImpl{_='" + __ + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MyInterfaceImpl that = (MyInterfaceImpl) o; + return Objects.equals(__, that.__); + } + + @Override + public int hashCode() { + return Objects.hash(__); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String __; + + public MyInterfaceImpl build() { + MyInterfaceImpl result = new MyInterfaceImpl(); + result.__ = this.__; + return result; + } + + public Builder __(String __) { + this.__ = __; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/schema.graphql new file mode 100644 index 000000000..dfe9b6ea1 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/schema.graphql @@ -0,0 +1,11 @@ +interface MyInterface { + _: ID +} + +type MyInterfaceImpl implements MyInterface { + _: ID +} + +type Query { + impl: MyInterfaceImpl +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/DgsConstants.java new file mode 100644 index 000000000..f73543f59 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/DgsConstants.java @@ -0,0 +1,15 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String E = "e"; + + public static final String Es = "es"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EGraphQLQuery.java new file mode 100644 index 000000000..de7002f47 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class EGraphQLQuery extends GraphQLQuery { + public EGraphQLQuery(String queryName) { + super("query", queryName); + } + + public EGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "e"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public EGraphQLQuery build() { + return new EGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EProjectionRoot.java new file mode 100644 index 000000000..9e057d6f4 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EProjectionRoot.java @@ -0,0 +1,14 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class EProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public EProjectionRoot() { + super(null, null, java.util.Optional.of("E")); + } + + public EProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EsGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EsGraphQLQuery.java new file mode 100644 index 000000000..76f28fe0c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EsGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class EsGraphQLQuery extends GraphQLQuery { + public EsGraphQLQuery(String queryName) { + super("query", queryName); + } + + public EsGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "es"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public EsGraphQLQuery build() { + return new EsGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EsProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EsProjectionRoot.java new file mode 100644 index 000000000..a84fad5d5 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EsProjectionRoot.java @@ -0,0 +1,14 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class EsProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public EsProjectionRoot() { + super(null, null, java.util.Optional.of("E")); + } + + public EsProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/datafetchers/EDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/datafetchers/EDatafetcher.java new file mode 100644 index 000000000..503c15e41 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/datafetchers/EDatafetcher.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.types.E; +import graphql.schema.DataFetchingEnvironment; + +@DgsComponent +public class EDatafetcher { + @DgsData( + parentType = "Query", + field = "e" + ) + public E getE(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/datafetchers/EsDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/datafetchers/EsDatafetcher.java new file mode 100644 index 000000000..6baa125b6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/datafetchers/EsDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.types.E; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class EsDatafetcher { + @DgsData( + parentType = "Query", + field = "es" + ) + public List getEs(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/types/E.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/types/E.java new file mode 100644 index 000000000..6b4a0e7e5 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/types/E.java @@ -0,0 +1,5 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.types; + +public enum E { + V +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/schema.graphql new file mode 100644 index 000000000..3792f03a9 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/schema.graphql @@ -0,0 +1,8 @@ +type Query { + e: E + es: [E] +} + +enum E { + V +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/DgsConstants.java new file mode 100644 index 000000000..965eb9d0e --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/DgsConstants.java @@ -0,0 +1,43 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Q1 = "q1"; + + public static final String Q2 = "q2"; + + public static class Q1_INPUT_ARGUMENT { + public static final String Arg1 = "arg1"; + + public static final String Arg2 = "arg2"; + } + + public static class Q2_INPUT_ARGUMENT { + public static final String Arg1 = "arg1"; + + public static final String Arg2 = "arg2"; + } + } + + public static class I1 { + public static final String TYPE_NAME = "I1"; + + public static final String Arg1 = "arg1"; + + public static final String Arg2 = "arg2"; + } + + public static class I2 { + public static final String TYPE_NAME = "I2"; + + public static final String Arg1 = "arg1"; + + public static final String Arg2 = "arg2"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/client/Q1GraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/client/Q1GraphQLQuery.java new file mode 100644 index 000000000..65d244e28 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/client/Q1GraphQLQuery.java @@ -0,0 +1,104 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.types.I2; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class Q1GraphQLQuery extends GraphQLQuery { + public Q1GraphQLQuery(String arg1, I2 arg2, String queryName, Set fieldsSet) { + super("query", queryName); + if (arg1 != null || fieldsSet.contains("arg1")) { + getInput().put("arg1", arg1); + }if (arg2 != null || fieldsSet.contains("arg2")) { + getInput().put("arg2", arg2); + } + } + + public Q1GraphQLQuery(String arg1, I2 arg2, String queryName, Set fieldsSet, + Map variableReferences, List variableDefinitions) { + super("query", queryName); + if (arg1 != null || fieldsSet.contains("arg1")) { + getInput().put("arg1", arg1); + }if (arg2 != null || fieldsSet.contains("arg2")) { + getInput().put("arg2", arg2); + } + if(variableDefinitions != null) { + getVariableDefinitions().addAll(variableDefinitions); + } + + if(variableReferences != null) { + getVariableReferences().putAll(variableReferences); + } + } + + public Q1GraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "q1"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String arg1; + + private I2 arg2; + + private String queryName; + + public Q1GraphQLQuery build() { + return new Q1GraphQLQuery(arg1, arg2, queryName, fieldsSet, variableReferences, variableDefinitions); + + } + + public Builder arg1(String arg1) { + this.arg1 = arg1; + this.fieldsSet.add("arg1"); + return this; + } + + public Builder arg1Reference(String variableRef) { + this.variableReferences.put("arg1", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.TypeName("String")).build()); + this.fieldsSet.add("arg1"); + return this; + } + + public Builder arg2(I2 arg2) { + this.arg2 = arg2; + this.fieldsSet.add("arg2"); + return this; + } + + public Builder arg2Reference(String variableRef) { + this.variableReferences.put("arg2", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.TypeName("I2")).build()); + this.fieldsSet.add("arg2"); + return this; + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/client/Q2GraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/client/Q2GraphQLQuery.java new file mode 100644 index 000000000..2bc7a2520 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/client/Q2GraphQLQuery.java @@ -0,0 +1,104 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.types.I1; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class Q2GraphQLQuery extends GraphQLQuery { + public Q2GraphQLQuery(I1 arg1, String arg2, String queryName, Set fieldsSet) { + super("query", queryName); + if (arg1 != null || fieldsSet.contains("arg1")) { + getInput().put("arg1", arg1); + }if (arg2 != null || fieldsSet.contains("arg2")) { + getInput().put("arg2", arg2); + } + } + + public Q2GraphQLQuery(I1 arg1, String arg2, String queryName, Set fieldsSet, + Map variableReferences, List variableDefinitions) { + super("query", queryName); + if (arg1 != null || fieldsSet.contains("arg1")) { + getInput().put("arg1", arg1); + }if (arg2 != null || fieldsSet.contains("arg2")) { + getInput().put("arg2", arg2); + } + if(variableDefinitions != null) { + getVariableDefinitions().addAll(variableDefinitions); + } + + if(variableReferences != null) { + getVariableReferences().putAll(variableReferences); + } + } + + public Q2GraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "q2"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private I1 arg1; + + private String arg2; + + private String queryName; + + public Q2GraphQLQuery build() { + return new Q2GraphQLQuery(arg1, arg2, queryName, fieldsSet, variableReferences, variableDefinitions); + + } + + public Builder arg1(I1 arg1) { + this.arg1 = arg1; + this.fieldsSet.add("arg1"); + return this; + } + + public Builder arg1Reference(String variableRef) { + this.variableReferences.put("arg1", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.TypeName("I1")).build()); + this.fieldsSet.add("arg1"); + return this; + } + + public Builder arg2(String arg2) { + this.arg2 = arg2; + this.fieldsSet.add("arg2"); + return this; + } + + public Builder arg2Reference(String variableRef) { + this.variableReferences.put("arg2", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.TypeName("String")).build()); + this.fieldsSet.add("arg2"); + return this; + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/datafetchers/Q1Datafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/datafetchers/Q1Datafetcher.java new file mode 100644 index 000000000..eab17a6de --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/datafetchers/Q1Datafetcher.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import graphql.schema.DataFetchingEnvironment; +import java.lang.String; + +@DgsComponent +public class Q1Datafetcher { + @DgsData( + parentType = "Query", + field = "q1" + ) + public String getQ1(DataFetchingEnvironment dataFetchingEnvironment) { + return ""; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/datafetchers/Q2Datafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/datafetchers/Q2Datafetcher.java new file mode 100644 index 000000000..1cff9c17d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/datafetchers/Q2Datafetcher.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import graphql.schema.DataFetchingEnvironment; +import java.lang.String; + +@DgsComponent +public class Q2Datafetcher { + @DgsData( + parentType = "Query", + field = "q2" + ) + public String getQ2(DataFetchingEnvironment dataFetchingEnvironment) { + return ""; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/types/I1.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/types/I1.java new file mode 100644 index 000000000..5686d8ae8 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/types/I1.java @@ -0,0 +1,82 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class I1 { + private I1 arg1; + + private I2 arg2; + + public I1() { + } + + public I1(I1 arg1, I2 arg2) { + this.arg1 = arg1; + this.arg2 = arg2; + } + + public I1 getArg1() { + return arg1; + } + + public void setArg1(I1 arg1) { + this.arg1 = arg1; + } + + public I2 getArg2() { + return arg2; + } + + public void setArg2(I2 arg2) { + this.arg2 = arg2; + } + + @Override + public String toString() { + return "I1{arg1='" + arg1 + "', arg2='" + arg2 + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + I1 that = (I1) o; + return Objects.equals(arg1, that.arg1) && + Objects.equals(arg2, that.arg2); + } + + @Override + public int hashCode() { + return Objects.hash(arg1, arg2); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private I1 arg1; + + private I2 arg2; + + public I1 build() { + I1 result = new I1(); + result.arg1 = this.arg1; + result.arg2 = this.arg2; + return result; + } + + public Builder arg1(I1 arg1) { + this.arg1 = arg1; + return this; + } + + public Builder arg2(I2 arg2) { + this.arg2 = arg2; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/types/I2.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/types/I2.java new file mode 100644 index 000000000..978f7b67b --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/types/I2.java @@ -0,0 +1,82 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class I2 { + private String arg1; + + private String arg2; + + public I2() { + } + + public I2(String arg1, String arg2) { + this.arg1 = arg1; + this.arg2 = arg2; + } + + public String getArg1() { + return arg1; + } + + public void setArg1(String arg1) { + this.arg1 = arg1; + } + + public String getArg2() { + return arg2; + } + + public void setArg2(String arg2) { + this.arg2 = arg2; + } + + @Override + public String toString() { + return "I2{arg1='" + arg1 + "', arg2='" + arg2 + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + I2 that = (I2) o; + return Objects.equals(arg1, that.arg1) && + Objects.equals(arg2, that.arg2); + } + + @Override + public int hashCode() { + return Objects.hash(arg1, arg2); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String arg1; + + private String arg2; + + public I2 build() { + I2 result = new I2(); + result.arg1 = this.arg1; + result.arg2 = this.arg2; + return result; + } + + public Builder arg1(String arg1) { + this.arg1 = arg1; + return this; + } + + public Builder arg2(String arg2) { + this.arg2 = arg2; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/schema.graphql new file mode 100644 index 000000000..56aadc0c7 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/schema.graphql @@ -0,0 +1,16 @@ +# note that it's important for this test that all of the argument names are the same + +type Query { + q1(arg1: String, arg2: I2): String + q2(arg1: I1, arg2: String): String +} + +input I1 { + arg1: I1 + arg2: I2 +} + +input I2 { + arg1: String + arg2: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/test/ProjectionWithNestedInputsQueryTest.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/test/ProjectionWithNestedInputsQueryTest.java new file mode 100644 index 000000000..57163bc6b --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/test/ProjectionWithNestedInputsQueryTest.java @@ -0,0 +1,68 @@ +/* + * + * Copyright 2020 Netflix, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.test; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQueryRequest; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.client.Q1GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.client.Q2GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.types.I1; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.types.I2; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +class ProjectionWithNestedInputsQueryTest { + + @Test + void testWipeSameNameDifferentClass() { + var query = Q1GraphQLQuery.newRequest() + .queryName("TestQuery") + .arg2(I2.newBuilder() + .arg2("") + .build()) + .build(); + + var request = new GraphQLQueryRequest(query); + + assertThat(request.serialize()) + .isEqualTo(""" + query TestQuery { + q1(arg2: {arg2 : ""}) + }"""); + } + + @Test + void testWipeSameNameSameClass() { + var query = Q2GraphQLQuery.newRequest() + .queryName("TestQuery") + .arg1(I1.newBuilder() + .arg1(new I1()) + .build()) + .build(); + + var request = new GraphQLQueryRequest(query); + + assertThat(request.serialize()) + .isEqualTo(""" + query TestQuery { + q2(arg1: {arg1 : {}}) + }"""); + } + +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/DgsConstants.java new file mode 100644 index 000000000..d51f457f8 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/DgsConstants.java @@ -0,0 +1,27 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitiveAndArgs.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String String = "string"; + + public static class STRING_INPUT_ARGUMENT { + public static final String A1 = "a1"; + + public static final String A2 = "a2"; + + public static final String A3 = "a3"; + } + } + + public static class I { + public static final String TYPE_NAME = "I"; + + public static final String Arg = "arg"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/client/StringGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/client/StringGraphQLQuery.java new file mode 100644 index 000000000..4db9cfb14 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/client/StringGraphQLQuery.java @@ -0,0 +1,123 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitiveAndArgs.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitiveAndArgs.expected.types.I; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class StringGraphQLQuery extends GraphQLQuery { + public StringGraphQLQuery(String a1, String a2, I a3, String queryName, Set fieldsSet) { + super("query", queryName); + if (a1 != null || fieldsSet.contains("a1")) { + getInput().put("a1", a1); + }if (a2 != null || fieldsSet.contains("a2")) { + getInput().put("a2", a2); + }if (a3 != null || fieldsSet.contains("a3")) { + getInput().put("a3", a3); + } + } + + public StringGraphQLQuery(String a1, String a2, I a3, String queryName, Set fieldsSet, + Map variableReferences, List variableDefinitions) { + super("query", queryName); + if (a1 != null || fieldsSet.contains("a1")) { + getInput().put("a1", a1); + }if (a2 != null || fieldsSet.contains("a2")) { + getInput().put("a2", a2); + }if (a3 != null || fieldsSet.contains("a3")) { + getInput().put("a3", a3); + } + if(variableDefinitions != null) { + getVariableDefinitions().addAll(variableDefinitions); + } + + if(variableReferences != null) { + getVariableReferences().putAll(variableReferences); + } + } + + public StringGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "string"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String a1; + + private String a2; + + private I a3; + + private String queryName; + + public StringGraphQLQuery build() { + return new StringGraphQLQuery(a1, a2, a3, queryName, fieldsSet, variableReferences, variableDefinitions); + + } + + public Builder a1(String a1) { + this.a1 = a1; + this.fieldsSet.add("a1"); + return this; + } + + public Builder a1Reference(String variableRef) { + this.variableReferences.put("a1", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.TypeName("String")).build()); + this.fieldsSet.add("a1"); + return this; + } + + public Builder a2(String a2) { + this.a2 = a2; + this.fieldsSet.add("a2"); + return this; + } + + public Builder a2Reference(String variableRef) { + this.variableReferences.put("a2", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.NonNullType(new graphql.language.TypeName("String"))).build()); + this.fieldsSet.add("a2"); + return this; + } + + public Builder a3(I a3) { + this.a3 = a3; + this.fieldsSet.add("a3"); + return this; + } + + public Builder a3Reference(String variableRef) { + this.variableReferences.put("a3", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.TypeName("I")).build()); + this.fieldsSet.add("a3"); + return this; + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/datafetchers/StringDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/datafetchers/StringDatafetcher.java new file mode 100644 index 000000000..e10b931d1 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/datafetchers/StringDatafetcher.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitiveAndArgs.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import graphql.schema.DataFetchingEnvironment; +import java.lang.String; + +@DgsComponent +public class StringDatafetcher { + @DgsData( + parentType = "Query", + field = "string" + ) + public String getString(DataFetchingEnvironment dataFetchingEnvironment) { + return ""; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/types/I.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/types/I.java new file mode 100644 index 000000000..a937151ed --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/types/I.java @@ -0,0 +1,62 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitiveAndArgs.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class I { + private String arg; + + public I() { + } + + public I(String arg) { + this.arg = arg; + } + + public String getArg() { + return arg; + } + + public void setArg(String arg) { + this.arg = arg; + } + + @Override + public String toString() { + return "I{arg='" + arg + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + I that = (I) o; + return Objects.equals(arg, that.arg); + } + + @Override + public int hashCode() { + return Objects.hash(arg); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String arg; + + public I build() { + I result = new I(); + result.arg = this.arg; + return result; + } + + public Builder arg(String arg) { + this.arg = arg; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/schema.graphql new file mode 100644 index 000000000..fe2fcc911 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/schema.graphql @@ -0,0 +1,7 @@ +type Query { + string(a1: String, a2: String!, a3: I): String +} + +input I { + arg: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/DgsConstants.java new file mode 100644 index 000000000..5531682e0 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/DgsConstants.java @@ -0,0 +1,15 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitives.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String String = "string"; + + public static final String Strings = "strings"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/client/StringGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/client/StringGraphQLQuery.java new file mode 100644 index 000000000..532dde44a --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/client/StringGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitives.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class StringGraphQLQuery extends GraphQLQuery { + public StringGraphQLQuery(String queryName) { + super("query", queryName); + } + + public StringGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "string"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public StringGraphQLQuery build() { + return new StringGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/client/StringsGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/client/StringsGraphQLQuery.java new file mode 100644 index 000000000..82acc37f2 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/client/StringsGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitives.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class StringsGraphQLQuery extends GraphQLQuery { + public StringsGraphQLQuery(String queryName) { + super("query", queryName); + } + + public StringsGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "strings"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public StringsGraphQLQuery build() { + return new StringsGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/datafetchers/StringDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/datafetchers/StringDatafetcher.java new file mode 100644 index 000000000..854bd6859 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/datafetchers/StringDatafetcher.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitives.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import graphql.schema.DataFetchingEnvironment; +import java.lang.String; + +@DgsComponent +public class StringDatafetcher { + @DgsData( + parentType = "Query", + field = "string" + ) + public String getString(DataFetchingEnvironment dataFetchingEnvironment) { + return ""; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/datafetchers/StringsDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/datafetchers/StringsDatafetcher.java new file mode 100644 index 000000000..28c7c96c9 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/datafetchers/StringsDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitives.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import graphql.schema.DataFetchingEnvironment; +import java.lang.String; +import java.util.List; + +@DgsComponent +public class StringsDatafetcher { + @DgsData( + parentType = "Query", + field = "strings" + ) + public List getStrings(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/schema.graphql new file mode 100644 index 000000000..4139076b9 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/schema.graphql @@ -0,0 +1,4 @@ +type Query { + string: String + strings: [String] +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/DgsConstants.java new file mode 100644 index 000000000..d6faa369b --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/DgsConstants.java @@ -0,0 +1,29 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Person = "person"; + + public static final String People = "people"; + } + + public static class EMPLOYEE { + public static final String TYPE_NAME = "Employee"; + + public static final String Firstname = "firstname"; + + public static final String Company = "company"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Firstname = "firstname"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/EmployeeFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/EmployeeFragmentProjection.java new file mode 100644 index 000000000..2bbdf13f2 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/EmployeeFragmentProjection.java @@ -0,0 +1,45 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import java.lang.Override; +import java.lang.String; + +public class EmployeeFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + { + getFields().put("__typename", null); + } + + public EmployeeFragmentProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Employee")); + } + + public EmployeeFragmentProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public EmployeeFragmentProjection firstname() { + getFields().put("firstname", null); + return this; + } + + public EmployeeFragmentProjection company() { + getFields().put("company", null); + return this; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("... on Employee {"); + getFields().forEach((k, v) -> { + builder.append(" ").append(k); + if(v != null) { + builder.append(" ").append(v.toString()); + } + }); + builder.append("}"); + + return builder.toString(); + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PeopleGraphQLQuery.java new file mode 100644 index 000000000..ecc4cc6cb --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PeopleGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PeopleGraphQLQuery extends GraphQLQuery { + public PeopleGraphQLQuery(String queryName) { + super("query", queryName); + } + + public PeopleGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "people"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public PeopleGraphQLQuery build() { + return new PeopleGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PeopleProjectionRoot.java new file mode 100644 index 000000000..6f789058b --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PeopleProjectionRoot.java @@ -0,0 +1,26 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PeopleProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PeopleProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PeopleProjectionRoot firstname() { + getFields().put("firstname", null); + return this; + } + + public EmployeeFragmentProjection, PeopleProjectionRoot> onEmployee( + ) { + EmployeeFragmentProjection, PeopleProjectionRoot> fragment = new EmployeeFragmentProjection<>(this, this); + getFragments().add(fragment); + return fragment; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PersonGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PersonGraphQLQuery.java new file mode 100644 index 000000000..3718906ce --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PersonGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PersonGraphQLQuery extends GraphQLQuery { + public PersonGraphQLQuery(String queryName) { + super("query", queryName); + } + + public PersonGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "person"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public PersonGraphQLQuery build() { + return new PersonGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PersonProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PersonProjectionRoot.java new file mode 100644 index 000000000..d66097aea --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PersonProjectionRoot.java @@ -0,0 +1,26 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PersonProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PersonProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PersonProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PersonProjectionRoot firstname() { + getFields().put("firstname", null); + return this; + } + + public EmployeeFragmentProjection, PersonProjectionRoot> onEmployee( + ) { + EmployeeFragmentProjection, PersonProjectionRoot> fragment = new EmployeeFragmentProjection<>(this, this); + getFragments().add(fragment); + return fragment; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/datafetchers/PeopleDatafetcher.java new file mode 100644 index 000000000..2debb31ae --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/datafetchers/PeopleDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class PeopleDatafetcher { + @DgsData( + parentType = "Query", + field = "people" + ) + public List getPeople(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/datafetchers/PersonDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/datafetchers/PersonDatafetcher.java new file mode 100644 index 000000000..75ec50ec0 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/datafetchers/PersonDatafetcher.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; + +@DgsComponent +public class PersonDatafetcher { + @DgsData( + parentType = "Query", + field = "person" + ) + public Person getPerson(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/types/Employee.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/types/Employee.java new file mode 100644 index 000000000..d25823cd8 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/types/Employee.java @@ -0,0 +1,86 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Employee implements com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.types.Person { + private String firstname; + + private String company; + + public Employee() { + } + + public Employee(String firstname, String company) { + this.firstname = firstname; + this.company = company; + } + + public String getFirstname() { + return firstname; + } + + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public String getCompany() { + return company; + } + + public void setCompany(String company) { + this.company = company; + } + + @Override + public String toString() { + return "Employee{firstname='" + firstname + "', company='" + company + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Employee that = (Employee) o; + return Objects.equals(firstname, that.firstname) && + Objects.equals(company, that.company); + } + + @Override + public int hashCode() { + return Objects.hash(firstname, company); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String firstname; + + private String company; + + public Employee build() { + Employee result = new Employee(); + result.firstname = this.firstname; + result.company = this.company; + return result; + } + + public Builder firstname(String firstname) { + this.firstname = firstname; + return this; + } + + public Builder company(String company) { + this.company = company; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/types/Person.java new file mode 100644 index 000000000..162111635 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/types/Person.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.String; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes(@JsonSubTypes.Type(value = Employee.class, name = "Employee")) +public interface Person { + String getFirstname(); + + void setFirstname(String firstname); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/schema.graphql new file mode 100644 index 000000000..cfc6cbb60 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/schema.graphql @@ -0,0 +1,13 @@ +type Query { + person: Person + people: [Person] +} + +interface Person { + firstname: String +} + +type Employee implements Person { + firstname: String + company: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/DgsConstants.java new file mode 100644 index 000000000..acc7e7f14 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/DgsConstants.java @@ -0,0 +1,41 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Person = "person"; + + public static class PERSON_INPUT_ARGUMENT { + public static final String A1 = "a1"; + + public static final String A2 = "a2"; + + public static final String A3 = "a3"; + } + } + + public static class EMPLOYEE { + public static final String TYPE_NAME = "Employee"; + + public static final String Firstname = "firstname"; + + public static final String Company = "company"; + } + + public static class I { + public static final String TYPE_NAME = "I"; + + public static final String Arg = "arg"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Firstname = "firstname"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/EmployeeFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/EmployeeFragmentProjection.java new file mode 100644 index 000000000..fb488965f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/EmployeeFragmentProjection.java @@ -0,0 +1,45 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import java.lang.Override; +import java.lang.String; + +public class EmployeeFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + { + getFields().put("__typename", null); + } + + public EmployeeFragmentProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Employee")); + } + + public EmployeeFragmentProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public EmployeeFragmentProjection firstname() { + getFields().put("firstname", null); + return this; + } + + public EmployeeFragmentProjection company() { + getFields().put("company", null); + return this; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("... on Employee {"); + getFields().forEach((k, v) -> { + builder.append(" ").append(k); + if(v != null) { + builder.append(" ").append(v.toString()); + } + }); + builder.append("}"); + + return builder.toString(); + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/PersonGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/PersonGraphQLQuery.java new file mode 100644 index 000000000..925aab5f5 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/PersonGraphQLQuery.java @@ -0,0 +1,123 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.types.I; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class PersonGraphQLQuery extends GraphQLQuery { + public PersonGraphQLQuery(String a1, String a2, I a3, String queryName, Set fieldsSet) { + super("query", queryName); + if (a1 != null || fieldsSet.contains("a1")) { + getInput().put("a1", a1); + }if (a2 != null || fieldsSet.contains("a2")) { + getInput().put("a2", a2); + }if (a3 != null || fieldsSet.contains("a3")) { + getInput().put("a3", a3); + } + } + + public PersonGraphQLQuery(String a1, String a2, I a3, String queryName, Set fieldsSet, + Map variableReferences, List variableDefinitions) { + super("query", queryName); + if (a1 != null || fieldsSet.contains("a1")) { + getInput().put("a1", a1); + }if (a2 != null || fieldsSet.contains("a2")) { + getInput().put("a2", a2); + }if (a3 != null || fieldsSet.contains("a3")) { + getInput().put("a3", a3); + } + if(variableDefinitions != null) { + getVariableDefinitions().addAll(variableDefinitions); + } + + if(variableReferences != null) { + getVariableReferences().putAll(variableReferences); + } + } + + public PersonGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "person"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String a1; + + private String a2; + + private I a3; + + private String queryName; + + public PersonGraphQLQuery build() { + return new PersonGraphQLQuery(a1, a2, a3, queryName, fieldsSet, variableReferences, variableDefinitions); + + } + + public Builder a1(String a1) { + this.a1 = a1; + this.fieldsSet.add("a1"); + return this; + } + + public Builder a1Reference(String variableRef) { + this.variableReferences.put("a1", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.TypeName("String")).build()); + this.fieldsSet.add("a1"); + return this; + } + + public Builder a2(String a2) { + this.a2 = a2; + this.fieldsSet.add("a2"); + return this; + } + + public Builder a2Reference(String variableRef) { + this.variableReferences.put("a2", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.NonNullType(new graphql.language.TypeName("String"))).build()); + this.fieldsSet.add("a2"); + return this; + } + + public Builder a3(I a3) { + this.a3 = a3; + this.fieldsSet.add("a3"); + return this; + } + + public Builder a3Reference(String variableRef) { + this.variableReferences.put("a3", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.TypeName("I")).build()); + this.fieldsSet.add("a3"); + return this; + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/PersonProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/PersonProjectionRoot.java new file mode 100644 index 000000000..b47a9449c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/PersonProjectionRoot.java @@ -0,0 +1,26 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class PersonProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public PersonProjectionRoot() { + super(null, null, java.util.Optional.of("Person")); + } + + public PersonProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public PersonProjectionRoot firstname() { + getFields().put("firstname", null); + return this; + } + + public EmployeeFragmentProjection, PersonProjectionRoot> onEmployee( + ) { + EmployeeFragmentProjection, PersonProjectionRoot> fragment = new EmployeeFragmentProjection<>(this, this); + getFragments().add(fragment); + return fragment; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/datafetchers/PersonDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/datafetchers/PersonDatafetcher.java new file mode 100644 index 000000000..1cd3879f6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/datafetchers/PersonDatafetcher.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.types.Person; +import graphql.schema.DataFetchingEnvironment; + +@DgsComponent +public class PersonDatafetcher { + @DgsData( + parentType = "Query", + field = "person" + ) + public Person getPerson(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/Employee.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/Employee.java new file mode 100644 index 000000000..452fd4799 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/Employee.java @@ -0,0 +1,86 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Employee implements com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.types.Person { + private String firstname; + + private String company; + + public Employee() { + } + + public Employee(String firstname, String company) { + this.firstname = firstname; + this.company = company; + } + + public String getFirstname() { + return firstname; + } + + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public String getCompany() { + return company; + } + + public void setCompany(String company) { + this.company = company; + } + + @Override + public String toString() { + return "Employee{firstname='" + firstname + "', company='" + company + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Employee that = (Employee) o; + return Objects.equals(firstname, that.firstname) && + Objects.equals(company, that.company); + } + + @Override + public int hashCode() { + return Objects.hash(firstname, company); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String firstname; + + private String company; + + public Employee build() { + Employee result = new Employee(); + result.firstname = this.firstname; + result.company = this.company; + return result; + } + + public Builder firstname(String firstname) { + this.firstname = firstname; + return this; + } + + public Builder company(String company) { + this.company = company; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/I.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/I.java new file mode 100644 index 000000000..feba3fd65 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/I.java @@ -0,0 +1,62 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +public class I { + private String arg; + + public I() { + } + + public I(String arg) { + this.arg = arg; + } + + public String getArg() { + return arg; + } + + public void setArg(String arg) { + this.arg = arg; + } + + @Override + public String toString() { + return "I{arg='" + arg + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + I that = (I) o; + return Objects.equals(arg, that.arg); + } + + @Override + public int hashCode() { + return Objects.hash(arg); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String arg; + + public I build() { + I result = new I(); + result.arg = this.arg; + return result; + } + + public Builder arg(String arg) { + this.arg = arg; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/Person.java new file mode 100644 index 000000000..d7a78957f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/Person.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.String; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes(@JsonSubTypes.Type(value = Employee.class, name = "Employee")) +public interface Person { + String getFirstname(); + + void setFirstname(String firstname); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/schema.graphql new file mode 100644 index 000000000..fc06af865 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/schema.graphql @@ -0,0 +1,16 @@ +type Query { + person(a1: String, a2: String!, a3: I): Person +} + +interface Person { + firstname: String +} + +type Employee implements Person { + firstname: String + company: String +} + +input I { + arg: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/test/ProjectionWithTypeAndArgsQueryTest.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/test/ProjectionWithTypeAndArgsQueryTest.java new file mode 100644 index 000000000..c52d1a280 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/test/ProjectionWithTypeAndArgsQueryTest.java @@ -0,0 +1,112 @@ +/* + * + * Copyright 2020 Netflix, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.test; + +import com.netflix.graphql.dgs.client.codegen.GraphQLMultiQueryRequest; +import com.netflix.graphql.dgs.client.codegen.GraphQLQueryRequest; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.client.PersonGraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.client.PersonProjectionRoot; +import org.junit.jupiter.api.Test; + +import java.util.List; +import java.util.Set; + +import static org.assertj.core.api.Assertions.assertThat; + +class ProjectionWithTypeAndArgsQueryTest { + + @Test + void testQueryWithFragment() { + var query = PersonGraphQLQuery.newRequest() + .queryName("TestQuery") + .a2("name") + .build(); + + var projection = new PersonProjectionRoot<>() + .firstname() + .onEmployee().company(); + + var request = new GraphQLQueryRequest(query, projection); + + assertThat(request.serialize()) + .isEqualTo(""" + query TestQuery { + person(a2: "name") { + firstname + ... on Employee { + __typename + company + } + } + }"""); + } + + @Test + void testQueryWithUnnamedArgs() { + var query = new PersonGraphQLQuery("a1", "a2", null, "TestQuery", Set.of()); + + var projection = new PersonProjectionRoot<>() + .firstname(); + + var request = new GraphQLQueryRequest(query, projection); + + assertThat(request.serialize()) + .isEqualTo(""" + query TestQuery { + person(a1: "a1", a2: "a2") { + firstname + } + }"""); + } + + @Test + void testQueryWithAlias() { + var query1 = PersonGraphQLQuery.newRequest() + .queryName("TestQuery1") + .a2("person1") + .build(); + query1.setQueryAlias("person1"); + + var query2 = PersonGraphQLQuery.newRequest() + .queryName("TestQuery2") + .a2("person2") + .build(); + query2.setQueryAlias("person2"); + + var projection = new PersonProjectionRoot<>() + .firstname(); + + var request = new GraphQLMultiQueryRequest(List.of( + new GraphQLQueryRequest(query1, projection), + new GraphQLQueryRequest(query2, projection) + )); + + assertThat(request.serialize()) + .isEqualTo(""" + query TestQuery1 { + person1: person(a2: "person1") { + firstname + } + person2: person(a2: "person2") { + firstname + } + }"""); + } + +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/DgsConstants.java new file mode 100644 index 000000000..21755c615 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/DgsConstants.java @@ -0,0 +1,29 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String U = "u"; + + public static final String Us = "us"; + } + + public static class EMPLOYEE { + public static final String TYPE_NAME = "Employee"; + + public static final String Firstname = "firstname"; + + public static final String Company = "company"; + } + + public static class PERSON { + public static final String TYPE_NAME = "Person"; + + public static final String Firstname = "firstname"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/EmployeeFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/EmployeeFragmentProjection.java new file mode 100644 index 000000000..0d103ad6b --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/EmployeeFragmentProjection.java @@ -0,0 +1,45 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import java.lang.Override; +import java.lang.String; + +public class EmployeeFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + { + getFields().put("__typename", null); + } + + public EmployeeFragmentProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Employee")); + } + + public EmployeeFragmentProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public EmployeeFragmentProjection firstname() { + getFields().put("firstname", null); + return this; + } + + public EmployeeFragmentProjection company() { + getFields().put("company", null); + return this; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("... on Employee {"); + getFields().forEach((k, v) -> { + builder.append(" ").append(k); + if(v != null) { + builder.append(" ").append(v.toString()); + } + }); + builder.append("}"); + + return builder.toString(); + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UGraphQLQuery.java new file mode 100644 index 000000000..8bc1127c3 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class UGraphQLQuery extends GraphQLQuery { + public UGraphQLQuery(String queryName) { + super("query", queryName); + } + + public UGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "u"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public UGraphQLQuery build() { + return new UGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UProjectionRoot.java new file mode 100644 index 000000000..edb4ae735 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UProjectionRoot.java @@ -0,0 +1,21 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class UProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public UProjectionRoot() { + super(null, null, java.util.Optional.of("U")); + } + + public UProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public EmployeeFragmentProjection, UProjectionRoot> onEmployee( + ) { + EmployeeFragmentProjection, UProjectionRoot> fragment = new EmployeeFragmentProjection<>(this, this); + getFragments().add(fragment); + return fragment; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UsGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UsGraphQLQuery.java new file mode 100644 index 000000000..06771d011 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UsGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class UsGraphQLQuery extends GraphQLQuery { + public UsGraphQLQuery(String queryName) { + super("query", queryName); + } + + public UsGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "us"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public UsGraphQLQuery build() { + return new UsGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UsProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UsProjectionRoot.java new file mode 100644 index 000000000..a217806dc --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UsProjectionRoot.java @@ -0,0 +1,21 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class UsProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public UsProjectionRoot() { + super(null, null, java.util.Optional.of("U")); + } + + public UsProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public EmployeeFragmentProjection, UsProjectionRoot> onEmployee( + ) { + EmployeeFragmentProjection, UsProjectionRoot> fragment = new EmployeeFragmentProjection<>(this, this); + getFragments().add(fragment); + return fragment; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/datafetchers/UDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/datafetchers/UDatafetcher.java new file mode 100644 index 000000000..565af6a3e --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/datafetchers/UDatafetcher.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.types.U; +import graphql.schema.DataFetchingEnvironment; + +@DgsComponent +public class UDatafetcher { + @DgsData( + parentType = "Query", + field = "u" + ) + public U getU(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/datafetchers/UsDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/datafetchers/UsDatafetcher.java new file mode 100644 index 000000000..091aff5e6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/datafetchers/UsDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.types.U; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class UsDatafetcher { + @DgsData( + parentType = "Query", + field = "us" + ) + public List getUs(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/Employee.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/Employee.java new file mode 100644 index 000000000..b650a0b0e --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/Employee.java @@ -0,0 +1,86 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Employee implements U, com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.types.Person { + private String firstname; + + private String company; + + public Employee() { + } + + public Employee(String firstname, String company) { + this.firstname = firstname; + this.company = company; + } + + public String getFirstname() { + return firstname; + } + + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public String getCompany() { + return company; + } + + public void setCompany(String company) { + this.company = company; + } + + @Override + public String toString() { + return "Employee{firstname='" + firstname + "', company='" + company + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Employee that = (Employee) o; + return Objects.equals(firstname, that.firstname) && + Objects.equals(company, that.company); + } + + @Override + public int hashCode() { + return Objects.hash(firstname, company); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String firstname; + + private String company; + + public Employee build() { + Employee result = new Employee(); + result.firstname = this.firstname; + result.company = this.company; + return result; + } + + public Builder firstname(String firstname) { + this.firstname = firstname; + return this; + } + + public Builder company(String company) { + this.company = company; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/Person.java new file mode 100644 index 000000000..3e421aa83 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/Person.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.String; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes(@JsonSubTypes.Type(value = Employee.class, name = "Employee")) +public interface Person { + String getFirstname(); + + void setFirstname(String firstname); +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/U.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/U.java new file mode 100644 index 000000000..72fed53f7 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/U.java @@ -0,0 +1,13 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes(@JsonSubTypes.Type(value = Employee.class, name = "Employee")) +public interface U { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/schema.graphql new file mode 100644 index 000000000..4ace41ccf --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/schema.graphql @@ -0,0 +1,15 @@ +type Query { + u: U + us: [U] +} + +interface Person { + firstname: String +} + +type Employee implements Person { + firstname: String + company: String +} + +union U = Employee diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/DgsConstants.java new file mode 100644 index 000000000..e180d0809 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/DgsConstants.java @@ -0,0 +1,25 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Search = "search"; + } + + public static class MOVIE { + public static final String TYPE_NAME = "Movie"; + + public static final String Title = "title"; + } + + public static class ACTOR { + public static final String TYPE_NAME = "Actor"; + + public static final String Name = "name"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/ActorFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/ActorFragmentProjection.java new file mode 100644 index 000000000..f69cd9673 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/ActorFragmentProjection.java @@ -0,0 +1,40 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import java.lang.Override; +import java.lang.String; + +public class ActorFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + { + getFields().put("__typename", null); + } + + public ActorFragmentProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Actor")); + } + + public ActorFragmentProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public ActorFragmentProjection name() { + getFields().put("name", null); + return this; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("... on Actor {"); + getFields().forEach((k, v) -> { + builder.append(" ").append(k); + if(v != null) { + builder.append(" ").append(v.toString()); + } + }); + builder.append("}"); + + return builder.toString(); + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/MovieFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/MovieFragmentProjection.java new file mode 100644 index 000000000..bcaba87f3 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/MovieFragmentProjection.java @@ -0,0 +1,40 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import java.lang.Override; +import java.lang.String; + +public class MovieFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + { + getFields().put("__typename", null); + } + + public MovieFragmentProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Movie")); + } + + public MovieFragmentProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public MovieFragmentProjection title() { + getFields().put("title", null); + return this; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("... on Movie {"); + getFields().forEach((k, v) -> { + builder.append(" ").append(k); + if(v != null) { + builder.append(" ").append(v.toString()); + } + }); + builder.append("}"); + + return builder.toString(); + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/SearchGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/SearchGraphQLQuery.java new file mode 100644 index 000000000..5e83e9f7a --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/SearchGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class SearchGraphQLQuery extends GraphQLQuery { + public SearchGraphQLQuery(String queryName) { + super("query", queryName); + } + + public SearchGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "search"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public SearchGraphQLQuery build() { + return new SearchGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/SearchProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/SearchProjectionRoot.java new file mode 100644 index 000000000..d992dc27c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/SearchProjectionRoot.java @@ -0,0 +1,28 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class SearchProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public SearchProjectionRoot() { + super(null, null, java.util.Optional.of("SearchResult")); + } + + public SearchProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public MovieFragmentProjection, SearchProjectionRoot> onMovie( + ) { + MovieFragmentProjection, SearchProjectionRoot> fragment = new MovieFragmentProjection<>(this, this); + getFragments().add(fragment); + return fragment; + } + + public ActorFragmentProjection, SearchProjectionRoot> onActor( + ) { + ActorFragmentProjection, SearchProjectionRoot> fragment = new ActorFragmentProjection<>(this, this); + getFragments().add(fragment); + return fragment; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/datafetchers/SearchDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/datafetchers/SearchDatafetcher.java new file mode 100644 index 000000000..31de8e47d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/datafetchers/SearchDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.types.SearchResult; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class SearchDatafetcher { + @DgsData( + parentType = "Query", + field = "search" + ) + public List getSearch(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/Actor.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/Actor.java new file mode 100644 index 000000000..6909ae671 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/Actor.java @@ -0,0 +1,66 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Actor implements SearchResult { + private String name; + + public Actor() { + } + + public Actor(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public String toString() { + return "Actor{name='" + name + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Actor that = (Actor) o; + return Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String name; + + public Actor build() { + Actor result = new Actor(); + result.name = this.name; + return result; + } + + public Builder name(String name) { + this.name = name; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/Movie.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/Movie.java new file mode 100644 index 000000000..8058c3ff0 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/Movie.java @@ -0,0 +1,66 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Movie implements SearchResult { + private String title; + + public Movie() { + } + + public Movie(String title) { + this.title = title; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + @Override + public String toString() { + return "Movie{title='" + title + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Movie that = (Movie) o; + return Objects.equals(title, that.title); + } + + @Override + public int hashCode() { + return Objects.hash(title); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String title; + + public Movie build() { + Movie result = new Movie(); + result.title = this.title; + return result; + } + + public Builder title(String title) { + this.title = title; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/SearchResult.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/SearchResult.java new file mode 100644 index 000000000..588fcc273 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/SearchResult.java @@ -0,0 +1,16 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes({ + @JsonSubTypes.Type(value = Movie.class, name = "Movie"), + @JsonSubTypes.Type(value = Actor.class, name = "Actor") +}) +public interface SearchResult { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/schema.graphql new file mode 100644 index 000000000..6470afb5f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/schema.graphql @@ -0,0 +1,13 @@ +type Query { + search: [SearchResult] +} + +union SearchResult = Movie | Actor + +type Movie { + title: String +} + +type Actor { + name: String +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/DgsConstants.java new file mode 100644 index 000000000..0a8cb9bb7 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/DgsConstants.java @@ -0,0 +1,43 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Search = "search"; + + public static class SEARCH_INPUT_ARGUMENT { + public static final String Text = "text"; + } + } + + public static class HUMAN { + public static final String TYPE_NAME = "Human"; + + public static final String Id = "id"; + + public static final String Name = "name"; + + public static final String TotalCredits = "totalCredits"; + } + + public static class DROID { + public static final String TYPE_NAME = "Droid"; + + public static final String Id = "id"; + + public static final String Name = "name"; + + public static final String PrimaryFunction = "primaryFunction"; + } + + public static class SEARCHRESULTPAGE { + public static final String TYPE_NAME = "SearchResultPage"; + + public static final String Items = "items"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/DroidFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/DroidFragmentProjection.java new file mode 100644 index 000000000..60b1fc61a --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/DroidFragmentProjection.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import java.lang.Override; +import java.lang.String; + +public class DroidFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + { + getFields().put("__typename", null); + } + + public DroidFragmentProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Droid")); + } + + public DroidFragmentProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public DroidFragmentProjection id() { + getFields().put("id", null); + return this; + } + + public DroidFragmentProjection name() { + getFields().put("name", null); + return this; + } + + public DroidFragmentProjection primaryFunction() { + getFields().put("primaryFunction", null); + return this; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("... on Droid {"); + getFields().forEach((k, v) -> { + builder.append(" ").append(k); + if(v != null) { + builder.append(" ").append(v.toString()); + } + }); + builder.append("}"); + + return builder.toString(); + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/HumanFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/HumanFragmentProjection.java new file mode 100644 index 000000000..871f593bf --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/HumanFragmentProjection.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import java.lang.Override; +import java.lang.String; + +public class HumanFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + { + getFields().put("__typename", null); + } + + public HumanFragmentProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Human")); + } + + public HumanFragmentProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public HumanFragmentProjection id() { + getFields().put("id", null); + return this; + } + + public HumanFragmentProjection name() { + getFields().put("name", null); + return this; + } + + public HumanFragmentProjection totalCredits() { + getFields().put("totalCredits", null); + return this; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("... on Human {"); + getFields().forEach((k, v) -> { + builder.append(" ").append(k); + if(v != null) { + builder.append(" ").append(v.toString()); + } + }); + builder.append("}"); + + return builder.toString(); + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchGraphQLQuery.java new file mode 100644 index 000000000..e4c71903c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchGraphQLQuery.java @@ -0,0 +1,84 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class SearchGraphQLQuery extends GraphQLQuery { + public SearchGraphQLQuery(String text, String queryName, Set fieldsSet) { + super("query", queryName); + if (text != null || fieldsSet.contains("text")) { + getInput().put("text", text); + } + } + + public SearchGraphQLQuery(String text, String queryName, Set fieldsSet, + Map variableReferences, List variableDefinitions) { + super("query", queryName); + if (text != null || fieldsSet.contains("text")) { + getInput().put("text", text); + } + if(variableDefinitions != null) { + getVariableDefinitions().addAll(variableDefinitions); + } + + if(variableReferences != null) { + getVariableReferences().putAll(variableReferences); + } + } + + public SearchGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "search"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String text; + + private String queryName; + + public SearchGraphQLQuery build() { + return new SearchGraphQLQuery(text, queryName, fieldsSet, variableReferences, variableDefinitions); + + } + + public Builder text(String text) { + this.text = text; + this.fieldsSet.add("text"); + return this; + } + + public Builder textReference(String variableRef) { + this.variableReferences.put("text", variableRef); + this.variableDefinitions.add(graphql.language.VariableDefinition.newVariableDefinition(variableRef, new graphql.language.NonNullType(new graphql.language.TypeName("String"))).build()); + this.fieldsSet.add("text"); + return this; + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchProjectionRoot.java new file mode 100644 index 000000000..9234d7ff1 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchProjectionRoot.java @@ -0,0 +1,21 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class SearchProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public SearchProjectionRoot() { + super(null, null, java.util.Optional.of("SearchResultPage")); + } + + public SearchProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public SearchResultProjection, SearchProjectionRoot> items( + ) { + SearchResultProjection, SearchProjectionRoot> projection = new SearchResultProjection<>(this, this); + getFields().put("items", projection); + return projection; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchResultProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchResultProjection.java new file mode 100644 index 000000000..b677bff4f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchResultProjection.java @@ -0,0 +1,26 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class SearchResultProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public SearchResultProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("SearchResult")); + } + + public SearchResultProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public HumanFragmentProjection, ROOT> onHuman() { + HumanFragmentProjection, ROOT> fragment = new HumanFragmentProjection<>(this, getRoot()); + getFragments().add(fragment); + return fragment; + } + + public DroidFragmentProjection, ROOT> onDroid() { + DroidFragmentProjection, ROOT> fragment = new DroidFragmentProjection<>(this, getRoot()); + getFragments().add(fragment); + return fragment; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/datafetchers/SearchDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/datafetchers/SearchDatafetcher.java new file mode 100644 index 000000000..27644b885 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/datafetchers/SearchDatafetcher.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.types.SearchResultPage; +import graphql.schema.DataFetchingEnvironment; + +@DgsComponent +public class SearchDatafetcher { + @DgsData( + parentType = "Query", + field = "search" + ) + public SearchResultPage getSearch(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/Droid.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/Droid.java new file mode 100644 index 000000000..2b2933b22 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/Droid.java @@ -0,0 +1,106 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Droid implements SearchResult { + private String id; + + private String name; + + private String primaryFunction; + + public Droid() { + } + + public Droid(String id, String name, String primaryFunction) { + this.id = id; + this.name = name; + this.primaryFunction = primaryFunction; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPrimaryFunction() { + return primaryFunction; + } + + public void setPrimaryFunction(String primaryFunction) { + this.primaryFunction = primaryFunction; + } + + @Override + public String toString() { + return "Droid{id='" + id + "', name='" + name + "', primaryFunction='" + primaryFunction + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Droid that = (Droid) o; + return Objects.equals(id, that.id) && + Objects.equals(name, that.name) && + Objects.equals(primaryFunction, that.primaryFunction); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, primaryFunction); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String id; + + private String name; + + private String primaryFunction; + + public Droid build() { + Droid result = new Droid(); + result.id = this.id; + result.name = this.name; + result.primaryFunction = this.primaryFunction; + return result; + } + + public Builder id(String id) { + this.id = id; + return this; + } + + public Builder name(String name) { + this.name = name; + return this; + } + + public Builder primaryFunction(String primaryFunction) { + this.primaryFunction = primaryFunction; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/Human.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/Human.java new file mode 100644 index 000000000..709e9e1f0 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/Human.java @@ -0,0 +1,107 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Integer; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Human implements SearchResult { + private String id; + + private String name; + + private Integer totalCredits; + + public Human() { + } + + public Human(String id, String name, Integer totalCredits) { + this.id = id; + this.name = name; + this.totalCredits = totalCredits; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getTotalCredits() { + return totalCredits; + } + + public void setTotalCredits(Integer totalCredits) { + this.totalCredits = totalCredits; + } + + @Override + public String toString() { + return "Human{id='" + id + "', name='" + name + "', totalCredits='" + totalCredits + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Human that = (Human) o; + return Objects.equals(id, that.id) && + Objects.equals(name, that.name) && + Objects.equals(totalCredits, that.totalCredits); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, totalCredits); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String id; + + private String name; + + private Integer totalCredits; + + public Human build() { + Human result = new Human(); + result.id = this.id; + result.name = this.name; + result.totalCredits = this.totalCredits; + return result; + } + + public Builder id(String id) { + this.id = id; + return this; + } + + public Builder name(String name) { + this.name = name; + return this; + } + + public Builder totalCredits(Integer totalCredits) { + this.totalCredits = totalCredits; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/SearchResult.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/SearchResult.java new file mode 100644 index 000000000..2547e4d3f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/SearchResult.java @@ -0,0 +1,16 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes({ + @JsonSubTypes.Type(value = Human.class, name = "Human"), + @JsonSubTypes.Type(value = Droid.class, name = "Droid") +}) +public interface SearchResult { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/SearchResultPage.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/SearchResultPage.java new file mode 100644 index 000000000..2e0227f80 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/SearchResultPage.java @@ -0,0 +1,63 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.types; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +public class SearchResultPage { + private List items; + + public SearchResultPage() { + } + + public SearchResultPage(List items) { + this.items = items; + } + + public List getItems() { + return items; + } + + public void setItems(List items) { + this.items = items; + } + + @Override + public String toString() { + return "SearchResultPage{items='" + items + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SearchResultPage that = (SearchResultPage) o; + return Objects.equals(items, that.items); + } + + @Override + public int hashCode() { + return Objects.hash(items); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private List items; + + public SearchResultPage build() { + SearchResultPage result = new SearchResultPage(); + result.items = this.items; + return result; + } + + public Builder items(List items) { + this.items = items; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/schema.graphql new file mode 100644 index 000000000..e7f44f32b --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/schema.graphql @@ -0,0 +1,21 @@ +type Query { + search(text: String!): SearchResultPage +} + +type Human { + id: ID! + name: String! + totalCredits: Int +} + +type Droid { + id: ID! + name: String! + primaryFunction: String +} + +union SearchResult = Human | Droid + +type SearchResultPage { + items: [SearchResult] +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/DgsConstants.java new file mode 100644 index 000000000..1f8e29c4a --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/DgsConstants.java @@ -0,0 +1,31 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected; + +import java.lang.String; + +public class DgsConstants { + public static final String QUERY_TYPE = "Query"; + + public static class QUERY { + public static final String TYPE_NAME = "Query"; + + public static final String Search = "search"; + } + + public static class MOVIE { + public static final String TYPE_NAME = "Movie"; + + public static final String Title = "title"; + } + + public static class ACTOR { + public static final String TYPE_NAME = "Actor"; + + public static final String Name = "name"; + } + + public static class RATING { + public static final String TYPE_NAME = "Rating"; + + public static final String Stars = "stars"; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/ActorFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/ActorFragmentProjection.java new file mode 100644 index 000000000..2df34432c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/ActorFragmentProjection.java @@ -0,0 +1,40 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import java.lang.Override; +import java.lang.String; + +public class ActorFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + { + getFields().put("__typename", null); + } + + public ActorFragmentProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Actor")); + } + + public ActorFragmentProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public ActorFragmentProjection name() { + getFields().put("name", null); + return this; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("... on Actor {"); + getFields().forEach((k, v) -> { + builder.append(" ").append(k); + if(v != null) { + builder.append(" ").append(v.toString()); + } + }); + builder.append("}"); + + return builder.toString(); + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/MovieFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/MovieFragmentProjection.java new file mode 100644 index 000000000..ad8caea9d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/MovieFragmentProjection.java @@ -0,0 +1,40 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import java.lang.Override; +import java.lang.String; + +public class MovieFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + { + getFields().put("__typename", null); + } + + public MovieFragmentProjection(PARENT parent, ROOT root) { + super(parent, root, java.util.Optional.of("Movie")); + } + + public MovieFragmentProjection __typename() { + getFields().put("__typename", null); + return this; + } + + public MovieFragmentProjection title() { + getFields().put("title", null); + return this; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("... on Movie {"); + getFields().forEach((k, v) -> { + builder.append(" ").append(k); + if(v != null) { + builder.append(" ").append(v.toString()); + } + }); + builder.append("}"); + + return builder.toString(); + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/SearchGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/SearchGraphQLQuery.java new file mode 100644 index 000000000..3657f1590 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/SearchGraphQLQuery.java @@ -0,0 +1,50 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.client; + +import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import graphql.language.VariableDefinition; +import java.lang.Override; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class SearchGraphQLQuery extends GraphQLQuery { + public SearchGraphQLQuery(String queryName) { + super("query", queryName); + } + + public SearchGraphQLQuery() { + super("query"); + } + + @Override + public String getOperationName() { + return "search"; + } + + public static Builder newRequest() { + return new Builder(); + } + + public static class Builder { + private Set fieldsSet = new HashSet<>(); + + private final Map variableReferences = new HashMap<>(); + + private final List variableDefinitions = new ArrayList<>(); + + private String queryName; + + public SearchGraphQLQuery build() { + return new SearchGraphQLQuery(queryName); + } + + public Builder queryName(String queryName) { + this.queryName = queryName; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/SearchProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/SearchProjectionRoot.java new file mode 100644 index 000000000..dfd503f97 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/SearchProjectionRoot.java @@ -0,0 +1,28 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.client; + +import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; + +public class SearchProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { + public SearchProjectionRoot() { + super(null, null, java.util.Optional.of("SearchResult")); + } + + public SearchProjectionRoot __typename() { + getFields().put("__typename", null); + return this; + } + + public MovieFragmentProjection, SearchProjectionRoot> onMovie( + ) { + MovieFragmentProjection, SearchProjectionRoot> fragment = new MovieFragmentProjection<>(this, this); + getFragments().add(fragment); + return fragment; + } + + public ActorFragmentProjection, SearchProjectionRoot> onActor( + ) { + ActorFragmentProjection, SearchProjectionRoot> fragment = new ActorFragmentProjection<>(this, this); + getFragments().add(fragment); + return fragment; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/datafetchers/SearchDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/datafetchers/SearchDatafetcher.java new file mode 100644 index 000000000..eaa530647 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/datafetchers/SearchDatafetcher.java @@ -0,0 +1,18 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.datafetchers; + +import com.netflix.graphql.dgs.DgsComponent; +import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.types.SearchResult; +import graphql.schema.DataFetchingEnvironment; +import java.util.List; + +@DgsComponent +public class SearchDatafetcher { + @DgsData( + parentType = "Query", + field = "search" + ) + public List getSearch(DataFetchingEnvironment dataFetchingEnvironment) { + return null; + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Actor.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Actor.java new file mode 100644 index 000000000..51fecd53f --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Actor.java @@ -0,0 +1,66 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Actor implements SearchResult { + private String name; + + public Actor() { + } + + public Actor(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public String toString() { + return "Actor{name='" + name + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Actor that = (Actor) o; + return Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String name; + + public Actor build() { + Actor result = new Actor(); + result.name = this.name; + return result; + } + + public Builder name(String name) { + this.name = name; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Movie.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Movie.java new file mode 100644 index 000000000..5232dcee8 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Movie.java @@ -0,0 +1,66 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Movie implements SearchResult { + private String title; + + public Movie() { + } + + public Movie(String title) { + this.title = title; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + @Override + public String toString() { + return "Movie{title='" + title + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Movie that = (Movie) o; + return Objects.equals(title, that.title); + } + + @Override + public int hashCode() { + return Objects.hash(title); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private String title; + + public Movie build() { + Movie result = new Movie(); + result.title = this.title; + return result; + } + + public Builder title(String title) { + this.title = title; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Rating.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Rating.java new file mode 100644 index 000000000..c8a0ba847 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Rating.java @@ -0,0 +1,67 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.types; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.lang.Integer; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NONE +) +public class Rating implements SearchResult { + private Integer stars; + + public Rating() { + } + + public Rating(Integer stars) { + this.stars = stars; + } + + public Integer getStars() { + return stars; + } + + public void setStars(Integer stars) { + this.stars = stars; + } + + @Override + public String toString() { + return "Rating{stars='" + stars + "'}"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Rating that = (Rating) o; + return Objects.equals(stars, that.stars); + } + + @Override + public int hashCode() { + return Objects.hash(stars); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static class Builder { + private Integer stars; + + public Rating build() { + Rating result = new Rating(); + result.stars = this.stars; + return result; + } + + public Builder stars(Integer stars) { + this.stars = stars; + return this; + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/SearchResult.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/SearchResult.java new file mode 100644 index 000000000..ab91c0d91 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/SearchResult.java @@ -0,0 +1,17 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.types; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "__typename" +) +@JsonSubTypes({ + @JsonSubTypes.Type(value = Movie.class, name = "Movie"), + @JsonSubTypes.Type(value = Actor.class, name = "Actor"), + @JsonSubTypes.Type(value = Rating.class, name = "Rating") +}) +public interface SearchResult { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/schema.graphql b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/schema.graphql new file mode 100644 index 000000000..7183ca630 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/schema.graphql @@ -0,0 +1,19 @@ +type Query { + search: [SearchResult] +} + +union SearchResult = Movie | Actor + +type Movie { + title: String +} + +type Actor { + name: String +} + +type Rating { + stars: Int +} + +extend union SearchResult = Rating diff --git a/graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/JavaCodeGenTest.kt b/graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/JavaCodeGenTest.kt new file mode 100644 index 000000000..7c628a2ac --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/JavaCodeGenTest.kt @@ -0,0 +1,269 @@ +/* + * + * Copyright 2020 Netflix, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package com.netflix.graphql.dgs.codegen + +import org.assertj.core.api.Assertions.assertThat +import org.assertj.core.api.Assertions.fail +import org.junit.jupiter.api.Test +import org.junit.jupiter.params.ParameterizedTest +import org.junit.jupiter.params.provider.MethodSource +import java.nio.file.Files +import java.nio.file.Path +import java.nio.file.Paths +import java.util.stream.Collectors +import kotlin.io.path.createDirectories +import kotlin.io.path.exists +import kotlin.io.path.listDirectoryEntries +import kotlin.io.path.readText + +class JavaCodeGenTest { + // set this to true to update all expected outputs instead of running tests + private val updateExpected = false + + @ParameterizedTest + @MethodSource("constantsTestCases") + fun testCodeGen_constants(testCaseName: String) { + val testPackage = "constants" + val codeGenConfig = getBaseCodeGenConfig(testPackage, testCaseName) + runTest(testPackage, testCaseName, codeGenConfig) + } + + @ParameterizedTest + @MethodSource("dataClassesTestCases") + fun testCodeGen_dataClasses(testCaseName: String) { + val testPackage = "dataclasses" + val codeGenConfig = getBaseCodeGenConfig(testPackage, testCaseName) + codeGenConfig.typeMapping = + when (testCaseName) { + "dataClassWithMappedTypes" -> + mapOf( + "Long" to "java.lang.Long", + "DateTime" to "java.time.OffsetDateTime", + "PageInfo" to "graphql.relay.PageInfo", + "EntityConnection" to + "graphql.relay.SimpleListConnection", + ) + "dataClassWithMappedInterfaces" -> + mapOf( + "Node" to "com.netflix.graphql.dgs.codegen.java.fixtures.Node", + ) + else -> emptyMap() + } + + runTest(testPackage, testCaseName, codeGenConfig) + } + + @ParameterizedTest + @MethodSource("enumsTestCases") + fun testCodeGen_enums(testCaseName: String) { + val testPackage = "enums" + val codeGenConfig = getBaseCodeGenConfig(testPackage, testCaseName) + runTest(testPackage, testCaseName, codeGenConfig) + } + + @ParameterizedTest + @MethodSource("inputsTestCases") + fun testCodeGen_inputs(testCaseName: String) { + val testPackage = "inputs" + val codeGenConfig = getBaseCodeGenConfig(testPackage, testCaseName) + codeGenConfig.typeMapping = + when (testCaseName) { + "inputWithDefaultBigDecimal" -> + mapOf( + "Decimal" to "java.math.BigDecimal", + ) + "inputWithDefaultCurrency" -> + mapOf( + "Currency" to "java.util.Currency", + ) + else -> emptyMap() + } + + runTest(testPackage, testCaseName, codeGenConfig) + } + + @ParameterizedTest + @MethodSource("interfacesTestCases") + fun testCodeGen_interfaces(testCaseName: String) { + val testPackage = "interfaces" + val codeGenConfig = getBaseCodeGenConfig(testPackage, testCaseName) + runTest(testPackage, testCaseName, codeGenConfig) + } + + @ParameterizedTest + @MethodSource("miscTestCases") + fun testCodeGen_misc(testCaseName: String) { + val testPackage = "misc" + val codeGenConfig = getBaseCodeGenConfig(testPackage, testCaseName) + runTest(testPackage, testCaseName, codeGenConfig) + } + + @ParameterizedTest + @MethodSource("projectionsTestCases") + fun testCodeGen_projections(testCaseName: String) { + val testPackage = "projections" + val codeGenConfig = getBaseCodeGenConfig(testPackage, testCaseName) + runTest(testPackage, testCaseName, codeGenConfig) + } + + @ParameterizedTest + @MethodSource("unionsTestCases") + fun testCodeGen_unions(testCaseName: String) { + val testPackage = "unions" + val codeGenConfig = getBaseCodeGenConfig(testPackage, testCaseName) + runTest(testPackage, testCaseName, codeGenConfig) + } + + @Test + fun `assert updateExpected is false`() { + assertThat(updateExpected).isFalse() + } + + private fun runTest( + testPackage: String, + testCaseName: String, + codeGenConfig: CodeGenConfig, + ) { + val codeGenResult = CodeGen(codeGenConfig).generate() + + val generatedFilePathAndContentPairs = + codeGenResult + .javaSources() + .map { + val generatedFilePath = + "${it.packageName()}.${it.typeSpec().name()}" + .replace(".", "/") + .plus(".java") + + generatedFilePath to it.toString() + } + + // fail if any file was defined twice + generatedFilePathAndContentPairs + .groupingBy { it.first } + .eachCount() + .filterValues { it > 1 } + .keys + .forEach { fail("Generated duplicate file: $it") } + + val expectedFileContentByPath = + listAllFiles("$testPackage/$testCaseName/expected") + .associate { + val relativePath = getTestsSourceTreeAbsolutePath().relativize(it).toString() + relativePath to it.readText() + } + + // fail if any file was expected that's not generated + expectedFileContentByPath + .keys + .subtract(generatedFilePathAndContentPairs.map { it.first }.toSet()) + .forEach { fail("Missing expected file: $it") } + + generatedFilePathAndContentPairs.forEach { (generatedFilePath, generatedContent) -> + if (updateExpected) { + writeExpected(generatedFilePath, generatedContent) + } else { + val expectedContent = expectedFileContentByPath[generatedFilePath] + assertThat(generatedContent).isEqualTo(expectedContent) + } + } + + assertCompilesJava(codeGenResult) + } + + companion object { + @JvmStatic + fun listTestsToRunForPackage(testPackageName: String): List = + getAbsolutePath(testPackageName) + .listDirectoryEntries() + .map { it.getName(it.nameCount.dec()).toString() } + .sorted() + + @JvmStatic + fun constantsTestCases(): List = listTestsToRunForPackage("constants") + + @JvmStatic + fun dataClassesTestCases(): List = listTestsToRunForPackage("dataclasses") + + @JvmStatic + fun enumsTestCases(): List = listTestsToRunForPackage("enums") + + @JvmStatic + fun inputsTestCases(): List = listTestsToRunForPackage("inputs") + + @JvmStatic + fun interfacesTestCases(): List = listTestsToRunForPackage("interfaces") + + @JvmStatic + fun miscTestCases(): List = listTestsToRunForPackage("misc") + + @JvmStatic + fun projectionsTestCases(): List = listTestsToRunForPackage("projections") + + @JvmStatic + fun unionsTestCases(): List = listTestsToRunForPackage("unions") + + private fun getBaseCodeGenConfig( + testPackage: String, + testCaseName: String, + ): CodeGenConfig { + val schema = readFileContent("$testPackage/$testCaseName/schema.graphql") + return CodeGenConfig( + schemas = setOf(schema), + packageName = "com.netflix.graphql.dgs.codegen.java.testcases.$testPackage.$testCaseName.expected", + language = Language.JAVA, + generateClientApi = true, + ) + } + + private fun getAbsolutePath(suffix: String): Path { + val projectDirAbsolutePath = Paths.get("").toAbsolutePath().toString() + return Paths.get(projectDirAbsolutePath, "/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/$suffix") + } + + private fun getTestsSourceTreeAbsolutePath(): Path { + val projectDirAbsolutePath = Paths.get("").toAbsolutePath().toString() + return Paths.get(projectDirAbsolutePath, "/src/integTest/java") + } + + private fun listAllFiles(suffix: String): List { + val path = getAbsolutePath(suffix) + if (!path.exists()) return emptyList() + return Files + .walk(path) + .filter { Files.isRegularFile(it) } + .collect(Collectors.toList()) + } + + private fun readFileContent(fileName: String): String = getAbsolutePath(fileName).readText() + + private fun writeExpected( + fileName: String, + content: String, + ) { + val path = getTestsSourceTreeAbsolutePath().resolve(fileName) + + if (!path.exists()) { + path.parent.createDirectories() + } + + path.toFile().writeText(content) + } + } +} From f833e7151228d1950e2328f3f94adde1000968da Mon Sep 17 00:00:00 2001 From: Vitalii Tiutiunnyk Date: Mon, 27 Apr 2026 17:47:29 +0100 Subject: [PATCH 2/2] refresh java integration tests --- .../expected/DgsConstants.java | 5 + .../expected/Generated.java | 8 + .../expected/client/PeopleGraphQLQuery.java | 3 + .../expected/client/PeopleProjectionRoot.java | 2 + .../datafetchers/PeopleDatafetcher.java | 2 + .../expected/types/Person.java | 3 + .../expected/types/PersonFilter.java | 3 + .../expected/DgsConstants.java | 5 + .../expected/Generated.java | 8 + .../expected/client/PeopleGraphQLQuery.java | 3 + .../expected/client/PeopleProjectionRoot.java | 2 + .../datafetchers/PeopleDatafetcher.java | 2 + .../expected/types/Person.java | 3 + .../expected/types/PersonFilter.java | 3 + .../expected/DgsConstants.java | 3 + .../expected/Generated.java | 8 + .../expected/client/PeopleGraphQLQuery.java | 3 + .../expected/client/PeopleProjectionRoot.java | 2 + .../datafetchers/PeopleDatafetcher.java | 2 + .../expected/types/Person.java | 2 + .../expected/DgsConstants.java | 3 + .../expected/Generated.java | 8 + .../expected/client/FriendsGraphQLQuery.java | 3 + .../client/FriendsProjectionRoot.java | 2 + .../expected/client/PeopleGraphQLQuery.java | 3 + .../expected/client/PeopleProjectionRoot.java | 2 + .../datafetchers/FriendsDatafetcher.java | 2 + .../datafetchers/PeopleDatafetcher.java | 2 + .../expected/types/Person.java | 3 + .../expected/DgsConstants.java | 3 + .../expected/Generated.java | 8 + .../expected/client/PeopleGraphQLQuery.java | 3 + .../expected/client/PeopleProjectionRoot.java | 2 + .../datafetchers/PeopleDatafetcher.java | 2 + .../expected/types/Person.java | 3 + .../dataClassDocs/expected/DgsConstants.java | 5 + .../dataClassDocs/expected/Generated.java | 8 + .../expected/client/SearchGraphQLQuery.java | 3 + .../expected/client/SearchProjectionRoot.java | 2 + .../datafetchers/SearchDatafetcher.java | 2 + .../dataClassDocs/expected/types/Movie.java | 3 + .../expected/types/MovieFilter.java | 3 + .../expected/DgsConstants.java | 5 + .../expected/Generated.java | 8 + .../expected/client/SearchGraphQLQuery.java | 3 + .../expected/client/SearchProjectionRoot.java | 2 + .../datafetchers/SearchDatafetcher.java | 2 + .../expected/types/Movie.java | 3 + .../expected/types/MovieFilter.java | 3 + .../expected/DgsConstants.java | 3 + .../expected/Generated.java | 8 + .../expected/client/MeGraphQLQuery.java | 3 + .../expected/client/MeProjectionRoot.java | 2 + .../expected/datafetchers/MeDatafetcher.java | 2 + .../expected/types/Person.java | 3 + .../expected/DgsConstants.java | 3 + .../expected/Generated.java | 8 + .../expected/client/TestGraphQLQuery.java | 3 + .../expected/client/TestProjectionRoot.java | 2 + .../datafetchers/TestDatafetcher.java | 2 + .../expected/types/RequiredTestType.java | 3 + .../expected/DgsConstants.java | 6 + .../expected/Generated.java | 8 + .../client/EntityConnectionGraphQLQuery.java | 3 + .../EntityConnectionProjectionRoot.java | 2 + .../expected/client/EntityEdgeProjection.java | 2 + .../expected/client/EntityGraphQLQuery.java | 3 + .../expected/client/EntityProjection.java | 2 + .../expected/client/EntityProjectionRoot.java | 2 + .../expected/client/PageInfoProjection.java | 2 + .../EntityConnectionDatafetcher.java | 2 + .../datafetchers/EntityDatafetcher.java | 2 + .../expected/types/Entity.java | 3 + .../expected/types/EntityConnection.java | 3 + .../expected/types/EntityEdge.java | 3 + .../expected/types/PageInfo.java | 3 + .../expected/DgsConstants.java | 5 + .../expected/Generated.java | 8 + .../expected/client/CarsGraphQLQuery.java | 3 + .../expected/client/CarsProjectionRoot.java | 2 + .../expected/client/EngineProjection.java | 2 + .../client/PerformanceProjection.java | 2 + .../datafetchers/CarsDatafetcher.java | 2 + .../expected/types/Car.java | 3 + .../expected/types/Engine.java | 3 + .../expected/types/Performance.java | 3 + .../expected/DgsConstants.java | 3 + .../expected/Generated.java | 8 + .../expected/client/PeopleGraphQLQuery.java | 3 + .../expected/client/PeopleProjectionRoot.java | 2 + .../datafetchers/PeopleDatafetcher.java | 2 + .../expected/types/Person.java | 2 + .../expected/DgsConstants.java | 4 + .../expected/Generated.java | 8 + .../client/EmployeeFragmentProjection.java | 2 + .../expected/client/PeopleGraphQLQuery.java | 3 + .../expected/client/PeopleProjectionRoot.java | 2 + .../datafetchers/PeopleDatafetcher.java | 2 + .../expected/types/Employee.java | 3 + .../expected/types/Person.java | 2 + .../expected/DgsConstants.java | 4 + .../expected/Generated.java | 8 + .../client/EmployeeFragmentProjection.java | 2 + .../expected/client/PeopleGraphQLQuery.java | 3 + .../expected/client/PeopleProjectionRoot.java | 2 + .../datafetchers/PeopleDatafetcher.java | 2 + .../expected/types/Employee.java | 3 + .../expected/types/Person.java | 2 + .../expected/DgsConstants.java | 5 + .../expected/Generated.java | 8 + .../expected/client/PeopleGraphQLQuery.java | 3 + .../expected/client/PeopleProjectionRoot.java | 2 + .../datafetchers/PeopleDatafetcher.java | 2 + .../expected/types/Employee.java | 2 + .../expected/types/Person.java | 2 + .../expected/types/Talent.java | 3 + .../expected/DgsConstants.java | 3 + .../expected/Generated.java | 8 + .../expected/client/PeopleGraphQLQuery.java | 3 + .../expected/client/PeopleProjectionRoot.java | 2 + .../datafetchers/PeopleDatafetcher.java | 2 + .../expected/types/Person.java | 3 + .../expected/DgsConstants.java | 5 + .../expected/Generated.java | 8 + .../expected/client/ProductsGraphQLQuery.java | 3 + .../client/ProductsProjectionRoot.java | 2 + .../datafetchers/ProductsDatafetcher.java | 2 + .../expected/types/Entity.java | 2 + .../expected/types/Product.java | 3 + .../expected/DgsConstants.java | 6 + .../expected/Generated.java | 8 + .../client/EntityConnectionGraphQLQuery.java | 3 + .../EntityConnectionProjectionRoot.java | 2 + .../expected/client/EntityEdgeProjection.java | 2 + .../expected/client/EntityGraphQLQuery.java | 3 + .../expected/client/EntityProjection.java | 2 + .../expected/client/EntityProjectionRoot.java | 2 + .../expected/client/PageInfoProjection.java | 2 + .../EntityConnectionDatafetcher.java | 2 + .../datafetchers/EntityDatafetcher.java | 2 + .../expected/types/Entity.java | 3 + .../expected/types/EntityEdge.java | 3 + .../expected/DgsConstants.java | 4 + .../expected/Generated.java | 8 + .../client/EmployeeFragmentProjection.java | 2 + .../expected/client/PeopleGraphQLQuery.java | 3 + .../expected/client/PeopleProjectionRoot.java | 2 + .../datafetchers/PeopleDatafetcher.java | 2 + .../expected/types/Employee.java | 3 + .../expected/types/Person.java | 2 + .../expected/DgsConstants.java | 3 + .../expected/Generated.java | 8 + .../expected/types/MyType.java | 3 + .../expected/types/OtherType.java | 3 + .../expected/DgsConstants.java | 3 + .../expected/Generated.java | 8 + .../expected/client/PeopleGraphQLQuery.java | 3 + .../expected/client/PeopleProjectionRoot.java | 2 + .../datafetchers/PeopleDatafetcher.java | 2 + .../expected/types/Person.java | 3 + .../expected/DgsConstants.java | 2 + .../expected/Generated.java | 8 + .../expected/types/MyType.java | 3 + .../expected/DgsConstants.java | 2 + .../expected/Generated.java | 8 + .../expected/types/MyType.java | 3 + .../expected/DgsConstants.java | 3 + .../expected/Generated.java | 8 + .../expected/client/PeopleGraphQLQuery.java | 3 + .../expected/client/PeopleProjectionRoot.java | 2 + .../datafetchers/PeopleDatafetcher.java | 2 + .../expected/types/Person.java | 3 + .../expected/DgsConstants.java | 2 + .../expected/Generated.java | 8 + .../expected/types/MyType.java | 3 + .../expected/DgsConstants.java | 3 + .../expected/Generated.java | 8 + .../expected/client/PeopleGraphQLQuery.java | 3 + .../expected/client/PeopleProjectionRoot.java | 2 + .../expected/client/PersonProjection.java | 2 + .../datafetchers/PeopleDatafetcher.java | 2 + .../expected/types/Person.java | 3 + .../expected/DgsConstants.java | 5 + .../expected/Generated.java | 8 + .../expected/client/PeopleGraphQLQuery.java | 3 + .../expected/client/PeopleProjectionRoot.java | 20 +- .../expected/client/StringProjection.java | 2 + .../datafetchers/PeopleDatafetcher.java | 2 + .../expected/types/Person.java | 3 + .../expected/types/SampleType.java | 3 + .../expected/DgsConstants.java | 3 + .../expected/Generated.java | 8 + .../expected/client/PeopleGraphQLQuery.java | 3 + .../expected/client/PeopleProjectionRoot.java | 2 + .../datafetchers/PeopleDatafetcher.java | 2 + .../expected/types/Person.java | 3 + .../expected/DgsConstants.java | 4 + .../expected/Generated.java | 8 + .../expected/types/A.java | 2 + .../expected/types/B.java | 2 + .../expected/types/Example.java | 3 + .../enums/enumDocs/expected/DgsConstants.java | 1 + .../enums/enumDocs/expected/Generated.java | 8 + .../enums/enumDocs/expected/types/Color.java | 3 + .../enums/enumType/expected/DgsConstants.java | 2 + .../enums/enumType/expected/Generated.java | 8 + .../expected/client/TypesGraphQLQuery.java | 3 + .../expected/client/TypesProjectionRoot.java | 2 + .../datafetchers/TypesDatafetcher.java | 2 + .../expected/types/EmployeeTypes.java | 3 + .../expected/DgsConstants.java | 2 + .../expected/Generated.java | 8 + .../expected/client/TypesGraphQLQuery.java | 3 + .../expected/client/TypesProjectionRoot.java | 2 + .../datafetchers/TypesDatafetcher.java | 2 + .../expected/types/EmployeeTypes.java | 3 + .../inputs/input/expected/DgsConstants.java | 4 + .../inputs/input/expected/Generated.java | 8 + .../expected/client/MoviesGraphQLQuery.java | 3 + .../datafetchers/MoviesDatafetcher.java | 2 + .../input/expected/types/MovieFilter.java | 3 + .../expected/DgsConstants.java | 4 + .../expected/Generated.java | 8 + .../expected/client/OrdersGraphQLQuery.java | 3 + .../datafetchers/OrdersDatafetcher.java | 2 + .../expected/types/OrderFilter.java | 3 + .../expected/DgsConstants.java | 4 + .../expected/Generated.java | 8 + .../expected/client/OrdersGraphQLQuery.java | 3 + .../datafetchers/OrdersDatafetcher.java | 2 + .../expected/types/OrderFilter.java | 3 + .../expected/DgsConstants.java | 2 + .../expected/Generated.java | 8 + .../expected/types/Color.java | 3 + .../expected/types/SomeType.java | 3 + .../expected/DgsConstants.java | 2 + .../expected/Generated.java | 8 + .../expected/types/SomeType.java | 3 + .../expected/DgsConstants.java | 2 + .../expected/Generated.java | 8 + .../expected/types/SomeType.java | 3 + .../expected/DgsConstants.java | 2 + .../expected/Generated.java | 8 + .../expected/types/SomeType.java | 3 + .../expected/DgsConstants.java | 2 + .../expected/Generated.java | 8 + .../expected/types/Color.java | 3 + .../expected/types/ColorFilter.java | 3 + .../expected/DgsConstants.java | 3 + .../expected/Generated.java | 8 + .../expected/types/Car.java | 3 + .../expected/types/Hobby.java | 3 + .../expected/types/Person.java | 3 + .../expected/DgsConstants.java | 4 + .../expected/Generated.java | 8 + .../expected/types/Car.java | 3 + .../expected/types/MovieFilter.java | 3 + .../expected/types/Person.java | 3 + .../expected/DgsConstants.java | 4 + .../expected/Generated.java | 8 + .../expected/client/MoviesGraphQLQuery.java | 3 + .../datafetchers/MoviesDatafetcher.java | 2 + .../expected/types/MovieFilter.java | 3 + .../expected/DgsConstants.java | 2 + .../expected/Generated.java | 8 + .../expected/types/SampleInput.java | 3 + .../expected/DgsConstants.java | 4 + .../expected/Generated.java | 8 + .../expected/types/Bird.java | 3 + .../expected/types/Dog.java | 3 + .../expected/types/Pet.java | 2 + .../expected/DgsConstants.java | 5 + .../expected/Generated.java | 8 + .../expected/types/Diet.java | 2 + .../expected/types/Dog.java | 3 + .../expected/types/Pet.java | 2 + .../expected/types/Vegetarian.java | 3 + .../expected/DgsConstants.java | 4 + .../expected/Generated.java | 8 + .../client/EmployeeFragmentProjection.java | 2 + .../expected/client/PeopleGraphQLQuery.java | 3 + .../expected/client/PeopleProjectionRoot.java | 2 + .../datafetchers/PeopleDatafetcher.java | 2 + .../expected/types/Employee.java | 3 + .../expected/types/Person.java | 2 + .../interfaceDocs/expected/DgsConstants.java | 2 + .../interfaceDocs/expected/Generated.java | 8 + .../interfaceDocs/expected/types/Titled.java | 2 + .../expected/DgsConstants.java | 2 + .../expected/Generated.java | 8 + .../expected/types/Titled.java | 2 + .../expected/DgsConstants.java | 5 + .../expected/Generated.java | 8 + .../expected/client/FruitsGraphQLQuery.java | 3 + .../expected/client/FruitsProjectionRoot.java | 2 + .../expected/client/SeedProjection.java | 2 + .../datafetchers/FruitsDatafetcher.java | 2 + .../expected/types/Fruit.java | 2 + .../expected/types/Seed.java | 3 + .../expected/types/StoneFruit.java | 2 + .../expected/DgsConstants.java | 4 + .../expected/Generated.java | 8 + .../expected/client/IsGraphQLQuery.java | 3 + .../expected/client/IsProjectionRoot.java | 2 + .../expected/client/TFragmentProjection.java | 2 + .../expected/datafetchers/IsDatafetcher.java | 2 + .../expected/types/I.java | 2 + .../expected/types/T.java | 3 + .../expected/DgsConstants.java | 2 + .../expected/Generated.java | 8 + .../expected/types/Person.java | 3 + .../expected/DgsConstants.java | 2 + .../expected/Generated.java | 8 + .../expected/types/Person.java | 2 + .../expected/DgsConstants.java | 3 + .../expected/Generated.java | 8 + .../expected/types/Person.java | 3 + .../expected/DgsConstants.java | 4 + .../expected/Generated.java | 8 + .../expected/client/ImplGraphQLQuery.java | 3 + .../expected/client/ImplProjectionRoot.java | 2 + .../datafetchers/ImplDatafetcher.java | 2 + .../expected/types/MyInterface.java | 2 + .../expected/types/MyInterfaceImpl.java | 3 + .../expected/DgsConstants.java | 2 + .../expected/Generated.java | 8 + .../expected/client/EGraphQLQuery.java | 3 + .../expected/client/EProjectionRoot.java | 2 + .../expected/client/EsGraphQLQuery.java | 3 + .../expected/client/EsProjectionRoot.java | 2 + .../expected/datafetchers/EDatafetcher.java | 2 + .../expected/datafetchers/EsDatafetcher.java | 2 + .../projectionWithEnum/expected/types/E.java | 3 + .../expected/DgsConstants.java | 6 + .../expected/Generated.java | 8 + .../expected/client/Q1GraphQLQuery.java | 3 + .../expected/client/Q2GraphQLQuery.java | 3 + .../expected/datafetchers/Q1Datafetcher.java | 2 + .../expected/datafetchers/Q2Datafetcher.java | 2 + .../expected/types/I1.java | 3 + .../expected/types/I2.java | 3 + .../expected/DgsConstants.java | 4 + .../expected/Generated.java | 8 + .../expected/client/StringGraphQLQuery.java | 3 + .../datafetchers/StringDatafetcher.java | 2 + .../expected/types/I.java | 3 + .../expected/DgsConstants.java | 2 + .../expected/Generated.java | 8 + .../expected/client/StringGraphQLQuery.java | 3 + .../expected/client/StringsGraphQLQuery.java | 3 + .../datafetchers/StringDatafetcher.java | 2 + .../datafetchers/StringsDatafetcher.java | 2 + .../expected/DgsConstants.java | 4 + .../expected/Generated.java | 8 + .../client/EmployeeFragmentProjection.java | 2 + .../expected/client/PeopleGraphQLQuery.java | 3 + .../expected/client/PeopleProjectionRoot.java | 2 + .../expected/client/PersonGraphQLQuery.java | 3 + .../expected/client/PersonProjectionRoot.java | 2 + .../datafetchers/PeopleDatafetcher.java | 2 + .../datafetchers/PersonDatafetcher.java | 2 + .../expected/types/Employee.java | 3 + .../expected/types/Person.java | 2 + .../expected/DgsConstants.java | 6 + .../expected/Generated.java | 8 + .../client/EmployeeFragmentProjection.java | 2 + .../expected/client/PersonGraphQLQuery.java | 3 + .../expected/client/PersonProjectionRoot.java | 2 + .../datafetchers/PersonDatafetcher.java | 2 + .../expected/types/Employee.java | 3 + .../expected/types/I.java | 3 + .../expected/types/Person.java | 2 + .../expected/DgsConstants.java | 4 + .../expected/Generated.java | 8 + .../client/EmployeeFragmentProjection.java | 2 + .../expected/client/UGraphQLQuery.java | 3 + .../expected/client/UProjectionRoot.java | 2 + .../expected/client/UsGraphQLQuery.java | 3 + .../expected/client/UsProjectionRoot.java | 2 + .../expected/datafetchers/UDatafetcher.java | 2 + .../expected/datafetchers/UsDatafetcher.java | 2 + .../expected/types/Employee.java | 3 + .../expected/types/Person.java | 2 + .../projectionWithUnion/expected/types/U.java | 2 + .../unions/union/expected/DgsConstants.java | 4 + .../unions/union/expected/Generated.java | 8 + .../client/ActorFragmentProjection.java | 2 + .../client/MovieFragmentProjection.java | 2 + .../expected/client/SearchGraphQLQuery.java | 3 + .../expected/client/SearchProjectionRoot.java | 2 + .../datafetchers/SearchDatafetcher.java | 2 + .../unions/union/expected/types/Actor.java | 3 + .../unions/union/expected/types/Movie.java | 3 + .../union/expected/types/SearchResult.java | 2 + .../expected/DgsConstants.java | 6 + .../expected/Generated.java | 8 + .../client/DroidFragmentProjection.java | 2 + .../client/HumanFragmentProjection.java | 2 + .../expected/client/SearchGraphQLQuery.java | 3 + .../expected/client/SearchProjectionRoot.java | 2 + .../client/SearchResultProjection.java | 2 + .../datafetchers/SearchDatafetcher.java | 2 + .../expected/types/Droid.java | 3 + .../expected/types/Human.java | 3 + .../expected/types/SearchResult.java | 2 + .../expected/types/SearchResultPage.java | 3 + .../expected/DgsConstants.java | 5 + .../expected/Generated.java | 8 + .../client/ActorFragmentProjection.java | 2 + .../client/MovieFragmentProjection.java | 2 + .../expected/client/SearchGraphQLQuery.java | 3 + .../expected/client/SearchProjectionRoot.java | 2 + .../datafetchers/SearchDatafetcher.java | 2 + .../expected/types/Actor.java | 3 + .../expected/types/Movie.java | 3 + .../expected/types/Rating.java | 3 + .../expected/types/SearchResult.java | 2 + .../graphql/dgs/codegen/CodeGenSnapshots.kt | 70 +++++ .../dgs/codegen/CodeGenSnapshotsTest.kt | 83 ++++++ .../graphql/dgs/codegen/JavaCodeGenTest.kt | 272 +++--------------- .../graphql/dgs/codegen/Kotlin2CodeGenTest.kt | 87 +----- 421 files changed, 1683 insertions(+), 309 deletions(-) create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/Generated.java create mode 100644 graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/CodeGenSnapshots.kt create mode 100644 graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/CodeGenSnapshotsTest.kt diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/DgsConstants.java index 40f1b2c46..089e30b17 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/DgsConstants.java @@ -2,19 +2,23 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String People = "people"; + @Generated public static class PEOPLE_INPUT_ARGUMENT { public static final String Filter = "filter"; } } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; @@ -23,6 +27,7 @@ public static class PERSON { public static final String Lastname = "lastname"; } + @Generated public static class PERSONFILTER { public static final String TYPE_NAME = "PersonFilter"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/Generated.java new file mode 100644 index 000000000..9b8874dc6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/client/PeopleGraphQLQuery.java index 3965f12c9..0f519cc15 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/client/PeopleGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/client/PeopleGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected.types.PersonFilter; import graphql.language.VariableDefinition; import java.lang.Override; @@ -12,6 +13,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PeopleGraphQLQuery extends GraphQLQuery { public PeopleGraphQLQuery(PersonFilter filter, String queryName, Set fieldsSet) { super("query", queryName); @@ -48,6 +50,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/client/PeopleProjectionRoot.java index c6b2c4fdd..f23fa9bb2 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/client/PeopleProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/client/PeopleProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected.Generated; +@Generated public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PeopleProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/datafetchers/PeopleDatafetcher.java index 525586667..3814bf469 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/datafetchers/PeopleDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/datafetchers/PeopleDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class PeopleDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/types/Person.java index 233423b69..888cab14f 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/types/Person.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class Person { private String firstname; @@ -57,6 +59,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String firstname; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/types/PersonFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/types/PersonFilter.java index de3a0c77d..d605e0717 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/types/PersonFilter.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsForInputTypes/expected/types/PersonFilter.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsForInputTypes.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class PersonFilter { private String email; @@ -45,6 +47,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String email; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/DgsConstants.java index 99cf1b2ba..501f7cca3 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/DgsConstants.java @@ -2,19 +2,23 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String People = "people"; + @Generated public static class PEOPLE_INPUT_ARGUMENT { public static final String Filter = "filter"; } } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; @@ -23,6 +27,7 @@ public static class PERSON { public static final String Lastname = "lastname"; } + @Generated public static class PERSONFILTER { public static final String TYPE_NAME = "PersonFilter"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/Generated.java new file mode 100644 index 000000000..f4ca02883 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/client/PeopleGraphQLQuery.java index 22e5ece30..66b023ecf 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/client/PeopleGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/client/PeopleGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected.types.PersonFilter; import graphql.language.VariableDefinition; import java.lang.Override; @@ -12,6 +13,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PeopleGraphQLQuery extends GraphQLQuery { public PeopleGraphQLQuery(PersonFilter filter, String queryName, Set fieldsSet) { super("query", queryName); @@ -48,6 +50,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/client/PeopleProjectionRoot.java index ac9f496eb..783dc663e 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/client/PeopleProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/client/PeopleProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected.Generated; +@Generated public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PeopleProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/datafetchers/PeopleDatafetcher.java index d65b8c622..426d89911 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/datafetchers/PeopleDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/datafetchers/PeopleDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class PeopleDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/types/Person.java index 63d2c8d73..5aa542129 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/types/Person.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class Person { private String firstname; @@ -57,6 +59,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String firstname; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/types/PersonFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/types/PersonFilter.java index 127b1f825..650e00705 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/types/PersonFilter.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInputTypes/expected/types/PersonFilter.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInputTypes.expected.Generated; import java.lang.Integer; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class PersonFilter { private String email; @@ -58,6 +60,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String email; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/DgsConstants.java index bf20c355b..c8b3827d7 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/DgsConstants.java @@ -2,15 +2,18 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String People = "people"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/Generated.java new file mode 100644 index 000000000..64a7014fc --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInterface.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/client/PeopleGraphQLQuery.java index c8afb207e..d3ac8f290 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/client/PeopleGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/client/PeopleGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInterface.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInterface.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PeopleGraphQLQuery extends GraphQLQuery { public PeopleGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/client/PeopleProjectionRoot.java index 59567bb64..957d58be0 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/client/PeopleProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/client/PeopleProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInterface.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInterface.expected.Generated; +@Generated public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PeopleProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/datafetchers/PeopleDatafetcher.java index a2a384e62..d709dc109 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/datafetchers/PeopleDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/datafetchers/PeopleDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInterface.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInterface.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class PeopleDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/types/Person.java index ce4e50e69..1f60d374e 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedInterface/expected/types/Person.java @@ -1,8 +1,10 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInterface.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedInterface.expected.Generated; import java.lang.Integer; import java.lang.String; +@Generated public interface Person { String getFirstname(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/DgsConstants.java index 94a3746db..86aa5677b 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/DgsConstants.java @@ -2,9 +2,11 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; @@ -13,6 +15,7 @@ public static class QUERY { public static final String Friends = "friends"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/Generated.java new file mode 100644 index 000000000..2cd5265de --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/FriendsGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/FriendsGraphQLQuery.java index bab8cc862..73c0e8aa9 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/FriendsGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/FriendsGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class FriendsGraphQLQuery extends GraphQLQuery { public FriendsGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/FriendsProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/FriendsProjectionRoot.java index f8733416c..a74355207 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/FriendsProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/FriendsProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.Generated; +@Generated public class FriendsProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public FriendsProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/PeopleGraphQLQuery.java index 1dacc65d6..0bb1eeedb 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/PeopleGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/PeopleGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PeopleGraphQLQuery extends GraphQLQuery { public PeopleGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/PeopleProjectionRoot.java index 1b27b1c2e..4ebe453f4 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/PeopleProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/client/PeopleProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.Generated; +@Generated public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PeopleProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/datafetchers/FriendsDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/datafetchers/FriendsDatafetcher.java index e2698b005..229f95afc 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/datafetchers/FriendsDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/datafetchers/FriendsDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class FriendsDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/datafetchers/PeopleDatafetcher.java index f33755494..2e8189ae8 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/datafetchers/PeopleDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/datafetchers/PeopleDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class PeopleDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/types/Person.java index c54613bc5..36da5a25d 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedQuery/expected/types/Person.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedQuery.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class Person { private String firstname; @@ -57,6 +59,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String firstname; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/DgsConstants.java index 73d383ef5..11d0abaef 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/DgsConstants.java @@ -2,15 +2,18 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String People = "people"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/Generated.java new file mode 100644 index 000000000..cc3d0cb88 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedTypes.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/client/PeopleGraphQLQuery.java index c52431965..5468f8741 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/client/PeopleGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/client/PeopleGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedTypes.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedTypes.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PeopleGraphQLQuery extends GraphQLQuery { public PeopleGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/client/PeopleProjectionRoot.java index bef7b6ea7..9536ad5ba 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/client/PeopleProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/client/PeopleProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedTypes.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedTypes.expected.Generated; +@Generated public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PeopleProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/datafetchers/PeopleDatafetcher.java index 7bec5062c..159d56fe1 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/datafetchers/PeopleDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/datafetchers/PeopleDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedTypes.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedTypes.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class PeopleDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/types/Person.java index aba212136..6e45f8d42 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/constants/constantsWithExtendedTypes/expected/types/Person.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedTypes.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.constants.constantsWithExtendedTypes.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class Person { private String firstname; @@ -69,6 +71,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String firstname; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/DgsConstants.java index 20e0b1957..9c3244076 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/DgsConstants.java @@ -2,25 +2,30 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String Search = "search"; + @Generated public static class SEARCH_INPUT_ARGUMENT { public static final String MovieFilter = "movieFilter"; } } + @Generated public static class MOVIE { public static final String TYPE_NAME = "Movie"; public static final String Title = "title"; } + @Generated public static class MOVIEFILTER { public static final String TYPE_NAME = "MovieFilter"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/Generated.java new file mode 100644 index 000000000..0b20ce447 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/client/SearchGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/client/SearchGraphQLQuery.java index 48ca238a4..a5795d594 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/client/SearchGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/client/SearchGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected.types.MovieFilter; import graphql.language.VariableDefinition; import java.lang.Override; @@ -12,6 +13,7 @@ import java.util.Map; import java.util.Set; +@Generated public class SearchGraphQLQuery extends GraphQLQuery { public SearchGraphQLQuery(MovieFilter movieFilter, String queryName, Set fieldsSet) { super("query", queryName); @@ -48,6 +50,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/client/SearchProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/client/SearchProjectionRoot.java index b90a66565..16c989707 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/client/SearchProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/client/SearchProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected.Generated; +@Generated public class SearchProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public SearchProjectionRoot() { super(null, null, java.util.Optional.of("Movie")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/datafetchers/SearchDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/datafetchers/SearchDatafetcher.java index 82f0ee5eb..3aba418f8 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/datafetchers/SearchDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/datafetchers/SearchDatafetcher.java @@ -2,9 +2,11 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected.types.Movie; import graphql.schema.DataFetchingEnvironment; +@Generated @DgsComponent public class SearchDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/types/Movie.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/types/Movie.java index 970711190..d50cc5d2c 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/types/Movie.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/types/Movie.java @@ -1,5 +1,6 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; @@ -9,6 +10,7 @@ * Movies are fun to watch. * They also work well as examples in GraphQL. */ +@Generated public class Movie { private String title; @@ -49,6 +51,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String title; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/types/MovieFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/types/MovieFilter.java index da8b68e19..8ebd9c666 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/types/MovieFilter.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassDocs/expected/types/MovieFilter.java @@ -1,5 +1,6 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassDocs.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; @@ -10,6 +11,7 @@ * * It takes a title and such. */ +@Generated public class MovieFilter { private String titleFilter; @@ -50,6 +52,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String titleFilter; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/DgsConstants.java index 451b66d53..7763efbce 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/DgsConstants.java @@ -2,25 +2,30 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String Search = "search"; + @Generated public static class SEARCH_INPUT_ARGUMENT { public static final String MovieFilter = "movieFilter"; } } + @Generated public static class MOVIE { public static final String TYPE_NAME = "Movie"; public static final String Title = "title"; } + @Generated public static class MOVIEFILTER { public static final String TYPE_NAME = "MovieFilter"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/Generated.java new file mode 100644 index 000000000..e2af7dd43 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/client/SearchGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/client/SearchGraphQLQuery.java index 35dbefc35..7b4766394 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/client/SearchGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/client/SearchGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected.types.MovieFilter; import graphql.language.VariableDefinition; import java.lang.Override; @@ -12,6 +13,7 @@ import java.util.Map; import java.util.Set; +@Generated public class SearchGraphQLQuery extends GraphQLQuery { public SearchGraphQLQuery(MovieFilter movieFilter, String queryName, Set fieldsSet) { super("query", queryName); @@ -48,6 +50,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/client/SearchProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/client/SearchProjectionRoot.java index 55514cc51..0db2c6b3e 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/client/SearchProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/client/SearchProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected.Generated; +@Generated public class SearchProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public SearchProjectionRoot() { super(null, null, java.util.Optional.of("Movie")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/datafetchers/SearchDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/datafetchers/SearchDatafetcher.java index 18bc0b90c..e5b77b0cc 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/datafetchers/SearchDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/datafetchers/SearchDatafetcher.java @@ -2,9 +2,11 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected.types.Movie; import graphql.schema.DataFetchingEnvironment; +@Generated @DgsComponent public class SearchDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/types/Movie.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/types/Movie.java index 1f107d9c7..2a05f838c 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/types/Movie.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/types/Movie.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class Movie { /** * The original, non localized title with some specials characters : %!({[*$,.:;. @@ -51,6 +53,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { /** * The original, non localized title with some specials characters : %!({[*$,.:;. diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/types/MovieFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/types/MovieFilter.java index fa287944f..d8b5db456 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/types/MovieFilter.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassFieldDocs/expected/types/MovieFilter.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassFieldDocs.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class MovieFilter { /** * Starts-with filter @@ -51,6 +53,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { /** * Starts-with filter diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/DgsConstants.java index 9cdcf2250..012aa73c2 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/DgsConstants.java @@ -2,15 +2,18 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String Me = "me"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; } diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/Generated.java new file mode 100644 index 000000000..ffb5d07f7 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWIthNoFields.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/client/MeGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/client/MeGraphQLQuery.java index 8d44d5d64..2f020cdca 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/client/MeGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/client/MeGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWIthNoFields.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWIthNoFields.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class MeGraphQLQuery extends GraphQLQuery { public MeGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/client/MeProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/client/MeProjectionRoot.java index 44d6534d1..a2a212427 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/client/MeProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/client/MeProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWIthNoFields.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWIthNoFields.expected.Generated; +@Generated public class MeProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public MeProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/datafetchers/MeDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/datafetchers/MeDatafetcher.java index ea37031de..4f7a806b6 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/datafetchers/MeDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/datafetchers/MeDatafetcher.java @@ -2,9 +2,11 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWIthNoFields.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWIthNoFields.expected.types.Person; import graphql.schema.DataFetchingEnvironment; +@Generated @DgsComponent public class MeDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/types/Person.java index fa3c2220f..0966e165c 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWIthNoFields/expected/types/Person.java @@ -1,8 +1,10 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWIthNoFields.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWIthNoFields.expected.Generated; import java.lang.Override; import java.lang.String; +@Generated public class Person { public Person() { } @@ -16,6 +18,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { public Person build() { Person result = new Person(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/DgsConstants.java index 7f7ce4837..925d834bb 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/DgsConstants.java @@ -2,15 +2,18 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String Test = "test"; } + @Generated public static class REQUIREDTESTTYPE { public static final String TYPE_NAME = "RequiredTestType"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/Generated.java new file mode 100644 index 000000000..6ee007042 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithBooleanField.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/client/TestGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/client/TestGraphQLQuery.java index 68705f615..ede8c36c3 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/client/TestGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/client/TestGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithBooleanField.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithBooleanField.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class TestGraphQLQuery extends GraphQLQuery { public TestGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/client/TestProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/client/TestProjectionRoot.java index a6c969593..b9e4f67dc 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/client/TestProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/client/TestProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithBooleanField.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithBooleanField.expected.Generated; +@Generated public class TestProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public TestProjectionRoot() { super(null, null, java.util.Optional.of("RequiredTestType")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/datafetchers/TestDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/datafetchers/TestDatafetcher.java index 54b7fb231..9ac90c270 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/datafetchers/TestDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/datafetchers/TestDatafetcher.java @@ -2,9 +2,11 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithBooleanField.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithBooleanField.expected.types.RequiredTestType; import graphql.schema.DataFetchingEnvironment; +@Generated @DgsComponent public class TestDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/types/RequiredTestType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/types/RequiredTestType.java index 8bade5d4e..1bef4bf13 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/types/RequiredTestType.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithBooleanField/expected/types/RequiredTestType.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithBooleanField.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithBooleanField.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class RequiredTestType { private boolean isRequired; @@ -45,6 +47,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private boolean isRequired; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/DgsConstants.java index 96b4bf3ad..37d76568d 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/DgsConstants.java @@ -2,9 +2,11 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; @@ -13,6 +15,7 @@ public static class QUERY { public static final String EntityConnection = "entityConnection"; } + @Generated public static class ENTITY { public static final String TYPE_NAME = "Entity"; @@ -21,6 +24,7 @@ public static class ENTITY { public static final String DateTime = "dateTime"; } + @Generated public static class ENTITYCONNECTION { public static final String TYPE_NAME = "EntityConnection"; @@ -29,6 +33,7 @@ public static class ENTITYCONNECTION { public static final String Edges = "edges"; } + @Generated public static class ENTITYEDGE { public static final String TYPE_NAME = "EntityEdge"; @@ -37,6 +42,7 @@ public static class ENTITYEDGE { public static final String Node = "node"; } + @Generated public static class PAGEINFO { public static final String TYPE_NAME = "PageInfo"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/Generated.java new file mode 100644 index 000000000..b9f025c75 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityConnectionGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityConnectionGraphQLQuery.java index abb9969a3..5fe30a2cc 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityConnectionGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityConnectionGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class EntityConnectionGraphQLQuery extends GraphQLQuery { public EntityConnectionGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityConnectionProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityConnectionProjectionRoot.java index da9910e5d..5e3366b8c 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityConnectionProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityConnectionProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.Generated; +@Generated public class EntityConnectionProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public EntityConnectionProjectionRoot() { super(null, null, java.util.Optional.of("EntityConnection")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityEdgeProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityEdgeProjection.java index 13c13e157..d00c13421 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityEdgeProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityEdgeProjection.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.Generated; +@Generated public class EntityEdgeProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public EntityEdgeProjection(PARENT parent, ROOT root) { super(parent, root, java.util.Optional.of("EntityEdge")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityGraphQLQuery.java index 0a332e71c..a81f60398 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class EntityGraphQLQuery extends GraphQLQuery { public EntityGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityProjection.java index cb207db86..5b5ad1e0c 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityProjection.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.Generated; +@Generated public class EntityProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public EntityProjection(PARENT parent, ROOT root) { super(parent, root, java.util.Optional.of("Entity")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityProjectionRoot.java index 999569d40..b4d0f3517 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/EntityProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.Generated; +@Generated public class EntityProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public EntityProjectionRoot() { super(null, null, java.util.Optional.of("Entity")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/PageInfoProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/PageInfoProjection.java index 22de90986..7745537d2 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/PageInfoProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/client/PageInfoProjection.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.Generated; +@Generated public class PageInfoProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PageInfoProjection(PARENT parent, ROOT root) { super(parent, root, java.util.Optional.of("PageInfo")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/datafetchers/EntityConnectionDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/datafetchers/EntityConnectionDatafetcher.java index 61c299578..584006087 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/datafetchers/EntityConnectionDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/datafetchers/EntityConnectionDatafetcher.java @@ -2,9 +2,11 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.types.EntityConnection; import graphql.schema.DataFetchingEnvironment; +@Generated @DgsComponent public class EntityConnectionDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/datafetchers/EntityDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/datafetchers/EntityDatafetcher.java index 64dc28d3c..97caa4078 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/datafetchers/EntityDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/datafetchers/EntityDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.types.Entity; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class EntityDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/Entity.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/Entity.java index b35e77f27..ec37a7504 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/Entity.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/Entity.java @@ -1,5 +1,6 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.Generated; import java.lang.Long; import java.lang.Object; import java.lang.Override; @@ -7,6 +8,7 @@ import java.time.OffsetDateTime; import java.util.Objects; +@Generated public class Entity { private Long _long; @@ -59,6 +61,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private Long _long; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/EntityConnection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/EntityConnection.java index e944951fd..6322dd51b 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/EntityConnection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/EntityConnection.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.List; import java.util.Objects; +@Generated public class EntityConnection { private PageInfo pageInfo; @@ -58,6 +60,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private PageInfo pageInfo; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/EntityEdge.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/EntityEdge.java index 76f411313..eed701866 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/EntityEdge.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/EntityEdge.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class EntityEdge { private String cursor; @@ -57,6 +59,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String cursor; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/PageInfo.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/PageInfo.java index c913eaf7f..1bf9e515a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/PageInfo.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeclaredScalars/expected/types/PageInfo.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeclaredScalars.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class PageInfo { private String startCursor; @@ -82,6 +84,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String startCursor; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/DgsConstants.java index 74c48477e..1c1ffd749 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/DgsConstants.java @@ -2,15 +2,18 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String Cars = "cars"; } + @Generated public static class CAR { public static final String TYPE_NAME = "Car"; @@ -21,6 +24,7 @@ public static class CAR { public static final String Engine = "engine"; } + @Generated public static class ENGINE { public static final String TYPE_NAME = "Engine"; @@ -33,6 +37,7 @@ public static class ENGINE { public static final String Performance = "performance"; } + @Generated public static class PERFORMANCE { public static final String TYPE_NAME = "Performance"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/Generated.java new file mode 100644 index 000000000..5f861e0f1 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/CarsGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/CarsGraphQLQuery.java index e657f541c..dba89344b 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/CarsGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/CarsGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class CarsGraphQLQuery extends GraphQLQuery { public CarsGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/CarsProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/CarsProjectionRoot.java index fca215b1b..0d6b0897d 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/CarsProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/CarsProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.Generated; +@Generated public class CarsProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public CarsProjectionRoot() { super(null, null, java.util.Optional.of("Car")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/EngineProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/EngineProjection.java index 1f9483fde..7a924faf2 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/EngineProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/EngineProjection.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.Generated; +@Generated public class EngineProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public EngineProjection(PARENT parent, ROOT root) { super(parent, root, java.util.Optional.of("Engine")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/PerformanceProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/PerformanceProjection.java index e59d30e69..40cb1e9b2 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/PerformanceProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/client/PerformanceProjection.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.Generated; +@Generated public class PerformanceProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PerformanceProjection(PARENT parent, ROOT root) { super(parent, root, java.util.Optional.of("Performance")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/datafetchers/CarsDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/datafetchers/CarsDatafetcher.java index b36e3f513..7c5f7148f 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/datafetchers/CarsDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/datafetchers/CarsDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.types.Car; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class CarsDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Car.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Car.java index d265ffdf1..b71b0177a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Car.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Car.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class Car { private String make; @@ -69,6 +71,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String make; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Engine.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Engine.java index 9f566a69c..941f76004 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Engine.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Engine.java @@ -1,5 +1,6 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.Generated; import java.lang.Double; import java.lang.Integer; import java.lang.Object; @@ -7,6 +8,7 @@ import java.lang.String; import java.util.Objects; +@Generated public class Engine { private String type; @@ -83,6 +85,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String type; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Performance.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Performance.java index 84e0eee78..cde694223 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Performance.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithDeeplyNestedComplexField/expected/types/Performance.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithDeeplyNestedComplexField.expected.Generated; import java.lang.Double; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class Performance { private Double zeroToSixty; @@ -58,6 +60,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private Double zeroToSixty; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/DgsConstants.java index 28c735e78..e6fd23e0d 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/DgsConstants.java @@ -2,15 +2,18 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String People = "people"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/Generated.java new file mode 100644 index 000000000..40c99ba06 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterface.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/client/PeopleGraphQLQuery.java index 04d1627a6..00dc54e85 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/client/PeopleGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/client/PeopleGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterface.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterface.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PeopleGraphQLQuery extends GraphQLQuery { public PeopleGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/client/PeopleProjectionRoot.java index 0fac7b9a6..ec1d61c35 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/client/PeopleProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/client/PeopleProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterface.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterface.expected.Generated; +@Generated public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PeopleProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/datafetchers/PeopleDatafetcher.java index a0fc124d3..c8d190964 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/datafetchers/PeopleDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/datafetchers/PeopleDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterface.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterface.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class PeopleDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/types/Person.java index bb995ad42..647fd5b45 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterface/expected/types/Person.java @@ -1,8 +1,10 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterface.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterface.expected.Generated; import java.lang.Integer; import java.lang.String; +@Generated public interface Person { String getFirstname(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/DgsConstants.java index 2cdf23746..8e9fb7d63 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/DgsConstants.java @@ -2,15 +2,18 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String People = "people"; } + @Generated public static class EMPLOYEE { public static final String TYPE_NAME = "Employee"; @@ -23,6 +26,7 @@ public static class EMPLOYEE { public static final String Age = "age"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/Generated.java new file mode 100644 index 000000000..4c4f23300 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/EmployeeFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/EmployeeFragmentProjection.java index e146d6b56..a6efa344c 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/EmployeeFragmentProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/EmployeeFragmentProjection.java @@ -1,9 +1,11 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.Generated; import java.lang.Override; import java.lang.String; +@Generated public class EmployeeFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { { getFields().put("__typename", null); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/PeopleGraphQLQuery.java index ffb34365d..d3ee1e614 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/PeopleGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/PeopleGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PeopleGraphQLQuery extends GraphQLQuery { public PeopleGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/PeopleProjectionRoot.java index 8f49cccae..34d0aa2e1 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/PeopleProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/client/PeopleProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.Generated; +@Generated public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PeopleProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/datafetchers/PeopleDatafetcher.java index 87142d483..e401f2518 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/datafetchers/PeopleDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/datafetchers/PeopleDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class PeopleDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/types/Employee.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/types/Employee.java index 407da451f..c270f78dd 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/types/Employee.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/types/Employee.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -85,6 +87,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String firstname; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/types/Person.java index 9b1c4b829..4221b8cda 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithExtendedInterfaceInheritance/expected/types/Person.java @@ -2,8 +2,10 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithExtendedInterfaceInheritance.expected.Generated; import java.lang.String; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/DgsConstants.java index c8cee0bcc..862c5aa94 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/DgsConstants.java @@ -2,15 +2,18 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String People = "people"; } + @Generated public static class EMPLOYEE { public static final String TYPE_NAME = "Employee"; @@ -21,6 +24,7 @@ public static class EMPLOYEE { public static final String Company = "company"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/Generated.java new file mode 100644 index 000000000..3752750b5 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/EmployeeFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/EmployeeFragmentProjection.java index b9a6eacd1..47760a98b 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/EmployeeFragmentProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/EmployeeFragmentProjection.java @@ -1,9 +1,11 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.Generated; import java.lang.Override; import java.lang.String; +@Generated public class EmployeeFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { { getFields().put("__typename", null); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/PeopleGraphQLQuery.java index e9c094d5f..187776c90 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/PeopleGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/PeopleGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PeopleGraphQLQuery extends GraphQLQuery { public PeopleGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/PeopleProjectionRoot.java index 1f81586f9..b7ea6f6d4 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/PeopleProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/client/PeopleProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.Generated; +@Generated public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PeopleProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/datafetchers/PeopleDatafetcher.java index f9e949d94..3092fc988 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/datafetchers/PeopleDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/datafetchers/PeopleDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class PeopleDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/types/Employee.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/types/Employee.java index b97cfbcde..fd7f7e354 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/types/Employee.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/types/Employee.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -73,6 +75,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String firstname; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/types/Person.java index 40a200906..fa84c3bc4 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterface/expected/types/Person.java @@ -2,8 +2,10 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterface.expected.Generated; import java.lang.String; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/DgsConstants.java index 5ab648678..0e6422378 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/DgsConstants.java @@ -2,15 +2,18 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String People = "people"; } + @Generated public static class TALENT { public static final String TYPE_NAME = "Talent"; @@ -23,6 +26,7 @@ public static class TALENT { public static final String ImdbProfile = "imdbProfile"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; @@ -31,6 +35,7 @@ public static class PERSON { public static final String Lastname = "lastname"; } + @Generated public static class EMPLOYEE { public static final String TYPE_NAME = "Employee"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/Generated.java new file mode 100644 index 000000000..72fb4fa81 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/client/PeopleGraphQLQuery.java index b3e2b9d4d..def397aa7 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/client/PeopleGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/client/PeopleGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PeopleGraphQLQuery extends GraphQLQuery { public PeopleGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/client/PeopleProjectionRoot.java index 345351bea..0d73ae881 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/client/PeopleProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/client/PeopleProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.Generated; +@Generated public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PeopleProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/datafetchers/PeopleDatafetcher.java index 3f8d25ff1..9fb6b28ca 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/datafetchers/PeopleDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/datafetchers/PeopleDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class PeopleDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Employee.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Employee.java index 4e1b502d8..74b1bc18c 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Employee.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Employee.java @@ -2,8 +2,10 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.Generated; import java.lang.String; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Person.java index 8e5848210..ed1f32d86 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Person.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.Generated; import java.lang.String; +@Generated public interface Person { String getFirstname(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Talent.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Talent.java index d8fa0e097..5890c5aa1 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Talent.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithInterfaceInheritance/expected/types/Talent.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithInterfaceInheritance.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -85,6 +87,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String firstname; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/DgsConstants.java index af86a09c6..b6a754186 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/DgsConstants.java @@ -2,15 +2,18 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String People = "people"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/Generated.java new file mode 100644 index 000000000..fe214c981 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithListProperties.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/client/PeopleGraphQLQuery.java index 9ef750d11..a6b2e35c3 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/client/PeopleGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/client/PeopleGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithListProperties.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithListProperties.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PeopleGraphQLQuery extends GraphQLQuery { public PeopleGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/client/PeopleProjectionRoot.java index 679835191..6d26d866f 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/client/PeopleProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/client/PeopleProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithListProperties.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithListProperties.expected.Generated; +@Generated public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PeopleProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/datafetchers/PeopleDatafetcher.java index 8f75a4b22..ab1f31601 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/datafetchers/PeopleDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/datafetchers/PeopleDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithListProperties.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithListProperties.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class PeopleDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/types/Person.java index fe6a71929..5a9a0108b 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithListProperties/expected/types/Person.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithListProperties.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithListProperties.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.List; import java.util.Objects; +@Generated public class Person { private String name; @@ -58,6 +60,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String name; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/DgsConstants.java index aea4dbdb3..3997384c7 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/DgsConstants.java @@ -2,27 +2,32 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String Products = "products"; } + @Generated public static class PRODUCT { public static final String TYPE_NAME = "Product"; public static final String Id = "id"; } + @Generated public static class NODE { public static final String TYPE_NAME = "Node"; public static final String Id = "id"; } + @Generated public static class ENTITY { public static final String TYPE_NAME = "Entity"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/Generated.java new file mode 100644 index 000000000..1d05ed199 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedInterfaces.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/client/ProductsGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/client/ProductsGraphQLQuery.java index bbd1fe65c..39f92297b 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/client/ProductsGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/client/ProductsGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedInterfaces.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedInterfaces.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class ProductsGraphQLQuery extends GraphQLQuery { public ProductsGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/client/ProductsProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/client/ProductsProjectionRoot.java index c9589f601..21f48d6cd 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/client/ProductsProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/client/ProductsProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedInterfaces.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedInterfaces.expected.Generated; +@Generated public class ProductsProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public ProductsProjectionRoot() { super(null, null, java.util.Optional.of("Product")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/datafetchers/ProductsDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/datafetchers/ProductsDatafetcher.java index c51e828f8..1048ce50a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/datafetchers/ProductsDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/datafetchers/ProductsDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedInterfaces.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedInterfaces.expected.types.Product; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class ProductsDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/types/Entity.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/types/Entity.java index 7e80526ba..3a25449b0 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/types/Entity.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/types/Entity.java @@ -3,8 +3,10 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.netflix.graphql.dgs.codegen.java.fixtures.Node; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedInterfaces.expected.Generated; import java.lang.String; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/types/Product.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/types/Product.java index 14e1ad429..65fb73ee0 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/types/Product.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedInterfaces/expected/types/Product.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedInterfaces.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedInterfaces.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -49,6 +51,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String id; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/DgsConstants.java index a1a7b6b28..ce1fceae7 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/DgsConstants.java @@ -2,9 +2,11 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; @@ -13,6 +15,7 @@ public static class QUERY { public static final String EntityConnection = "entityConnection"; } + @Generated public static class ENTITY { public static final String TYPE_NAME = "Entity"; @@ -21,6 +24,7 @@ public static class ENTITY { public static final String DateTime = "dateTime"; } + @Generated public static class ENTITYCONNECTION { public static final String TYPE_NAME = "EntityConnection"; @@ -29,6 +33,7 @@ public static class ENTITYCONNECTION { public static final String Edges = "edges"; } + @Generated public static class ENTITYEDGE { public static final String TYPE_NAME = "EntityEdge"; @@ -37,6 +42,7 @@ public static class ENTITYEDGE { public static final String Node = "node"; } + @Generated public static class PAGEINFO { public static final String TYPE_NAME = "PageInfo"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/Generated.java new file mode 100644 index 000000000..9f1af77f6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityConnectionGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityConnectionGraphQLQuery.java index 93adc8aa1..077926805 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityConnectionGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityConnectionGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class EntityConnectionGraphQLQuery extends GraphQLQuery { public EntityConnectionGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityConnectionProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityConnectionProjectionRoot.java index dc2fdffc2..3ef542f3f 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityConnectionProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityConnectionProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.Generated; +@Generated public class EntityConnectionProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public EntityConnectionProjectionRoot() { super(null, null, java.util.Optional.of("EntityConnection")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityEdgeProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityEdgeProjection.java index 9ce0dfb4d..afdafdc45 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityEdgeProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityEdgeProjection.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.Generated; +@Generated public class EntityEdgeProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public EntityEdgeProjection(PARENT parent, ROOT root) { super(parent, root, java.util.Optional.of("EntityEdge")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityGraphQLQuery.java index 5b707f532..8fc8c3bf7 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class EntityGraphQLQuery extends GraphQLQuery { public EntityGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityProjection.java index 5c6032ad1..027f45731 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityProjection.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.Generated; +@Generated public class EntityProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public EntityProjection(PARENT parent, ROOT root) { super(parent, root, java.util.Optional.of("Entity")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityProjectionRoot.java index 14cbbf67e..890354eaa 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/EntityProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.Generated; +@Generated public class EntityProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public EntityProjectionRoot() { super(null, null, java.util.Optional.of("Entity")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/PageInfoProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/PageInfoProjection.java index 0e16c65b5..638a15dc9 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/PageInfoProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/client/PageInfoProjection.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.Generated; +@Generated public class PageInfoProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PageInfoProjection(PARENT parent, ROOT root) { super(parent, root, java.util.Optional.of("PageInfo")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/datafetchers/EntityConnectionDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/datafetchers/EntityConnectionDatafetcher.java index 8eba0be51..8a0f77535 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/datafetchers/EntityConnectionDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/datafetchers/EntityConnectionDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.types.EntityEdge; import graphql.relay.SimpleListConnection; import graphql.schema.DataFetchingEnvironment; +@Generated @DgsComponent public class EntityConnectionDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/datafetchers/EntityDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/datafetchers/EntityDatafetcher.java index 1e756438b..98743378e 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/datafetchers/EntityDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/datafetchers/EntityDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.types.Entity; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class EntityDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/types/Entity.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/types/Entity.java index 69802868c..c37c3f34d 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/types/Entity.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/types/Entity.java @@ -1,5 +1,6 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.Generated; import java.lang.Long; import java.lang.Object; import java.lang.Override; @@ -7,6 +8,7 @@ import java.time.OffsetDateTime; import java.util.Objects; +@Generated public class Entity { private Long _long; @@ -59,6 +61,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private Long _long; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/types/EntityEdge.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/types/EntityEdge.java index 6bb5f3146..57c59da73 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/types/EntityEdge.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithMappedTypes/expected/types/EntityEdge.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithMappedTypes.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class EntityEdge { private String cursor; @@ -57,6 +59,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String cursor; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/DgsConstants.java index 6428526ed..b01a7eae4 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/DgsConstants.java @@ -2,15 +2,18 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String People = "people"; } + @Generated public static class EMPLOYEE { public static final String TYPE_NAME = "Employee"; @@ -21,6 +24,7 @@ public static class EMPLOYEE { public static final String Company = "company"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/Generated.java new file mode 100644 index 000000000..dae684922 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/EmployeeFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/EmployeeFragmentProjection.java index 8f676f5d4..1fa558de7 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/EmployeeFragmentProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/EmployeeFragmentProjection.java @@ -1,9 +1,11 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.Generated; import java.lang.Override; import java.lang.String; +@Generated public class EmployeeFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { { getFields().put("__typename", null); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/PeopleGraphQLQuery.java index 17b85e010..be9ee2a2a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/PeopleGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/PeopleGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PeopleGraphQLQuery extends GraphQLQuery { public PeopleGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/PeopleProjectionRoot.java index 4d99c0ef6..68eb7145d 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/PeopleProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/client/PeopleProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.Generated; +@Generated public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PeopleProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/datafetchers/PeopleDatafetcher.java index 925ac036f..02af7d311 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/datafetchers/PeopleDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/datafetchers/PeopleDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class PeopleDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/types/Employee.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/types/Employee.java index b44fb95d5..d99bcad59 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/types/Employee.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/types/Employee.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -73,6 +75,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String firstname; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/types/Person.java index 10a230766..3fdf20876 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableAndInterface/expected/types/Person.java @@ -2,8 +2,10 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableAndInterface.expected.Generated; import java.lang.String; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/DgsConstants.java index 343789f9e..b000d1aee 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/DgsConstants.java @@ -2,13 +2,16 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class MYTYPE { public static final String TYPE_NAME = "MyType"; public static final String Other = "other"; } + @Generated public static class OTHERTYPE { public static final String TYPE_NAME = "OtherType"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/Generated.java new file mode 100644 index 000000000..44e7aacdd --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableComplexType.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/types/MyType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/types/MyType.java index ddc6288df..c7c6eba21 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/types/MyType.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/types/MyType.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableComplexType.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableComplexType.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class MyType { private OtherType other; @@ -45,6 +47,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private OtherType other; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/types/OtherType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/types/OtherType.java index a89b12351..caee09363 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/types/OtherType.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableComplexType/expected/types/OtherType.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableComplexType.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableComplexType.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class OtherType { private String name; @@ -45,6 +47,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String name; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/DgsConstants.java index 19088127f..e100ac9d4 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/DgsConstants.java @@ -2,15 +2,18 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String People = "people"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/Generated.java new file mode 100644 index 000000000..458593e4d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableListOfNullableValues.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/client/PeopleGraphQLQuery.java index 55230eb13..1c2b8a9b8 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/client/PeopleGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/client/PeopleGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableListOfNullableValues.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableListOfNullableValues.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PeopleGraphQLQuery extends GraphQLQuery { public PeopleGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/client/PeopleProjectionRoot.java index 55842dd2a..7c5aa83c6 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/client/PeopleProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/client/PeopleProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableListOfNullableValues.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableListOfNullableValues.expected.Generated; +@Generated public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PeopleProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/datafetchers/PeopleDatafetcher.java index e71bdffbf..6f2d9da9e 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/datafetchers/PeopleDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/datafetchers/PeopleDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableListOfNullableValues.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableListOfNullableValues.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class PeopleDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/types/Person.java index 2ff822ae0..3081b7b95 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableListOfNullableValues/expected/types/Person.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableListOfNullableValues.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableListOfNullableValues.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.List; import java.util.Objects; +@Generated public class Person { private String name; @@ -58,6 +60,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String name; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/DgsConstants.java index a6ae184fe..8f1068576 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/DgsConstants.java @@ -2,7 +2,9 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class MYTYPE { public static final String TYPE_NAME = "MyType"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/Generated.java new file mode 100644 index 000000000..989c6900b --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullablePrimitive.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/types/MyType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/types/MyType.java index 47da178da..05e788ef3 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/types/MyType.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitive/expected/types/MyType.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullablePrimitive.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullablePrimitive.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class MyType { private int count; @@ -69,6 +71,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private int count; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/DgsConstants.java index e0cbe7745..c750e5b93 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/DgsConstants.java @@ -2,7 +2,9 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class MYTYPE { public static final String TYPE_NAME = "MyType"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/Generated.java new file mode 100644 index 000000000..0ec673403 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullablePrimitiveInList.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/types/MyType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/types/MyType.java index 5f0ed0b3a..06e543f38 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/types/MyType.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullablePrimitiveInList/expected/types/MyType.java @@ -1,5 +1,6 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullablePrimitiveInList.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullablePrimitiveInList.expected.Generated; import java.lang.Boolean; import java.lang.Double; import java.lang.Integer; @@ -9,6 +10,7 @@ import java.util.List; import java.util.Objects; +@Generated public class MyType { private List count; @@ -73,6 +75,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private List count; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/DgsConstants.java index f65b1c96c..0a82efa49 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/DgsConstants.java @@ -2,15 +2,18 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String People = "people"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/Generated.java new file mode 100644 index 000000000..442c0dc96 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableProperties.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/client/PeopleGraphQLQuery.java index 493eaf40d..7793fbcb9 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/client/PeopleGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/client/PeopleGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableProperties.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableProperties.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PeopleGraphQLQuery extends GraphQLQuery { public PeopleGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/client/PeopleProjectionRoot.java index 4938613a6..8e6914a5b 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/client/PeopleProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/client/PeopleProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableProperties.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableProperties.expected.Generated; +@Generated public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PeopleProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/datafetchers/PeopleDatafetcher.java index ca5dad184..b8387edb1 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/datafetchers/PeopleDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/datafetchers/PeopleDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableProperties.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableProperties.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class PeopleDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/types/Person.java index 5cf9ac913..cfa207e8d 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNonNullableProperties/expected/types/Person.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableProperties.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNonNullableProperties.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.List; import java.util.Objects; +@Generated public class Person { private String name; @@ -58,6 +60,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String name; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/DgsConstants.java index f9aeb8881..309c940a5 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/DgsConstants.java @@ -2,7 +2,9 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class MYTYPE { public static final String TYPE_NAME = "MyType"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/Generated.java new file mode 100644 index 000000000..66758bd05 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNullablePrimitive.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/types/MyType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/types/MyType.java index 0d7f3f5aa..8a78d719a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/types/MyType.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithNullablePrimitive/expected/types/MyType.java @@ -1,5 +1,6 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNullablePrimitive.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithNullablePrimitive.expected.Generated; import java.lang.Boolean; import java.lang.Double; import java.lang.Integer; @@ -8,6 +9,7 @@ import java.lang.String; import java.util.Objects; +@Generated public class MyType { private Integer count; @@ -72,6 +74,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private Integer count; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/DgsConstants.java index 8d32d608c..0a2f1f62e 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/DgsConstants.java @@ -2,15 +2,18 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String People = "people"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/Generated.java new file mode 100644 index 000000000..a5af716a1 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithRecursiveField.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PeopleGraphQLQuery.java index 871b2ac33..c59c7785f 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PeopleGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PeopleGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithRecursiveField.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithRecursiveField.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PeopleGraphQLQuery extends GraphQLQuery { public PeopleGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PeopleProjectionRoot.java index 6694a03f5..c6e759e5c 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PeopleProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PeopleProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithRecursiveField.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithRecursiveField.expected.Generated; +@Generated public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PeopleProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PersonProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PersonProjection.java index baaebcf96..2adac9c0f 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PersonProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/client/PersonProjection.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithRecursiveField.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithRecursiveField.expected.Generated; +@Generated public class PersonProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PersonProjection(PARENT parent, ROOT root) { super(parent, root, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/datafetchers/PeopleDatafetcher.java index 2080ad2eb..6afb4e4fb 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/datafetchers/PeopleDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/datafetchers/PeopleDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithRecursiveField.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithRecursiveField.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class PeopleDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/types/Person.java index 836466b59..2f2e6691f 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithRecursiveField/expected/types/Person.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithRecursiveField.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithRecursiveField.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.List; import java.util.Objects; +@Generated public class Person { private String firstname; @@ -70,6 +72,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String firstname; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/DgsConstants.java index c6b53678d..ea306ab9e 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/DgsConstants.java @@ -2,21 +2,25 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class SAMPLETYPE { public static final String TYPE_NAME = "SampleType"; public static final String Return = "return"; } + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String People = "people"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; @@ -24,6 +28,7 @@ public static class PERSON { public static final String Interface = "interface"; + @Generated public static class INFO_INPUT_ARGUMENT { public static final String Package = "package"; } diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/Generated.java new file mode 100644 index 000000000..baa259e2e --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/PeopleGraphQLQuery.java index 51e19cca5..95a58af8c 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/PeopleGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/PeopleGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PeopleGraphQLQuery extends GraphQLQuery { public PeopleGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/PeopleProjectionRoot.java index a091c77f9..a15e8f0ca 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/PeopleProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/PeopleProjectionRoot.java @@ -1,9 +1,11 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.Generated; import java.lang.String; import java.util.ArrayList; +@Generated public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PeopleProjectionRoot() { super(null, null, java.util.Optional.of("Person")); @@ -16,21 +18,21 @@ public PeopleProjectionRoot __typename() { public StringProjection, PeopleProjectionRoot> info( String _package) { - StringProjection, PeopleProjectionRoot> projection = new StringProjection<>(this, this); + StringProjection, PeopleProjectionRoot> projection = new StringProjection<>(this, this); getFields().put("info", projection); - getInputArguments().computeIfAbsent("info", k -> new ArrayList<>()); - InputArgument packageArg = new InputArgument("package", _package, false, null); - getInputArguments().get("info").add(packageArg); + getInputArguments().computeIfAbsent("info", k -> new ArrayList<>()); + InputArgument _packageArg = new InputArgument("package", _package, false, null); + getInputArguments().get("info").add(_packageArg); return projection; } public StringProjection, PeopleProjectionRoot> infoWithVariableReferences( - String packageReference) { - StringProjection, PeopleProjectionRoot> projection = new StringProjection<>(this, this); + String _packageReference) { + StringProjection, PeopleProjectionRoot> projection = new StringProjection<>(this, this); getFields().put("info", projection); - getInputArguments().computeIfAbsent("info", k -> new ArrayList<>()); - InputArgument packageArg = new InputArgument("package", packageReference, true, new graphql.language.TypeName("String")); - getInputArguments().get("info").add(packageArg); + getInputArguments().computeIfAbsent("info", k -> new ArrayList<>()); + InputArgument _packageArg = new InputArgument("package", _packageReference, true, new graphql.language.TypeName("String")); + getInputArguments().get("info").add(_packageArg); return projection; } diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/StringProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/StringProjection.java index cc5b5698a..f79ce3e77 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/StringProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/client/StringProjection.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.Generated; +@Generated public class StringProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public StringProjection(PARENT parent, ROOT root) { super(parent, root, java.util.Optional.of("String")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/datafetchers/PeopleDatafetcher.java index 6bfd6fcb3..aab45d777 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/datafetchers/PeopleDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/datafetchers/PeopleDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class PeopleDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/types/Person.java index 724f884b6..2b3c44ccc 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/types/Person.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class Person { private String info; @@ -57,6 +59,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String info; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/types/SampleType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/types/SampleType.java index 6e28d0ead..c9049619a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/types/SampleType.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithReservedWord/expected/types/SampleType.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithReservedWord.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class SampleType { private String _return; @@ -45,6 +47,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String _return; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/DgsConstants.java index a573ee5ea..f26f81050 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/DgsConstants.java @@ -2,15 +2,18 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String People = "people"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/Generated.java new file mode 100644 index 000000000..b229cdf2c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithStringProperties.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/client/PeopleGraphQLQuery.java index df43e8cb4..29a6c42bf 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/client/PeopleGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/client/PeopleGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithStringProperties.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithStringProperties.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PeopleGraphQLQuery extends GraphQLQuery { public PeopleGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/client/PeopleProjectionRoot.java index 92fd84445..e5e10df12 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/client/PeopleProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/client/PeopleProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithStringProperties.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithStringProperties.expected.Generated; +@Generated public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PeopleProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/datafetchers/PeopleDatafetcher.java index a0be42fc7..80848984d 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/datafetchers/PeopleDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/datafetchers/PeopleDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithStringProperties.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithStringProperties.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class PeopleDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/types/Person.java index 681a6af6f..6f5da1d41 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/dataClassWithStringProperties/expected/types/Person.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithStringProperties.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.dataClassWithStringProperties.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class Person { private String firstname; @@ -57,6 +59,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String firstname; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/DgsConstants.java index 29d13c6df..5c30ddc10 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/DgsConstants.java @@ -2,7 +2,9 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class EXAMPLE { public static final String TYPE_NAME = "Example"; @@ -11,12 +13,14 @@ public static class EXAMPLE { public static final String Age = "age"; } + @Generated public static class A { public static final String TYPE_NAME = "A"; public static final String Name = "name"; } + @Generated public static class B { public static final String TYPE_NAME = "B"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/Generated.java new file mode 100644 index 000000000..067e410ae --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.extendedDataClassWithInterface.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/A.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/A.java index 2c0187ae2..0f10194be 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/A.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/A.java @@ -2,8 +2,10 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.extendedDataClassWithInterface.expected.Generated; import java.lang.String; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/B.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/B.java index 96be877d3..2c2e46497 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/B.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/B.java @@ -2,8 +2,10 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.extendedDataClassWithInterface.expected.Generated; import java.lang.Integer; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/Example.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/Example.java index 7b5762dd5..0ea28a36c 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/Example.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/dataclasses/extendedDataClassWithInterface/expected/types/Example.java @@ -1,12 +1,14 @@ package com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.extendedDataClassWithInterface.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.dataclasses.extendedDataClassWithInterface.expected.Generated; import java.lang.Integer; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -62,6 +64,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String name; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/DgsConstants.java index a63b33b83..ddad28dfb 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/DgsConstants.java @@ -1,4 +1,5 @@ package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumDocs.expected; +@Generated public class DgsConstants { } diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/Generated.java new file mode 100644 index 000000000..eaeaad2c6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumDocs.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/types/Color.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/types/Color.java index f9c24bc3f..434df7aef 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/types/Color.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumDocs/expected/types/Color.java @@ -1,8 +1,11 @@ package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumDocs.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.enums.enumDocs.expected.Generated; + /** * Some options */ +@Generated public enum Color { red, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/DgsConstants.java index 7b9b3a68d..4007be20d 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/DgsConstants.java @@ -2,9 +2,11 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/Generated.java new file mode 100644 index 000000000..8b39e918d --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumType.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/client/TypesGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/client/TypesGraphQLQuery.java index 54798aafd..fb7f12a3d 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/client/TypesGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/client/TypesGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumType.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.enums.enumType.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class TypesGraphQLQuery extends GraphQLQuery { public TypesGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/client/TypesProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/client/TypesProjectionRoot.java index 22919e28d..f23cea83b 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/client/TypesProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/client/TypesProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumType.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.enums.enumType.expected.Generated; +@Generated public class TypesProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public TypesProjectionRoot() { super(null, null, java.util.Optional.of("EmployeeTypes")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/datafetchers/TypesDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/datafetchers/TypesDatafetcher.java index 5dc752153..384760fa1 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/datafetchers/TypesDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/datafetchers/TypesDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.enums.enumType.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.enums.enumType.expected.types.EmployeeTypes; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class TypesDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/types/EmployeeTypes.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/types/EmployeeTypes.java index b2c58891a..c34bb5870 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/types/EmployeeTypes.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumType/expected/types/EmployeeTypes.java @@ -1,5 +1,8 @@ package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumType.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.enums.enumType.expected.Generated; + +@Generated public enum EmployeeTypes { ENGINEER, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/DgsConstants.java index f42ee4992..7be1a9d83 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/DgsConstants.java @@ -2,9 +2,11 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/Generated.java new file mode 100644 index 000000000..01ccb2e95 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumWithExtendedType.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/client/TypesGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/client/TypesGraphQLQuery.java index 7036ebfb3..7f79fe8b8 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/client/TypesGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/client/TypesGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumWithExtendedType.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.enums.enumWithExtendedType.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class TypesGraphQLQuery extends GraphQLQuery { public TypesGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/client/TypesProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/client/TypesProjectionRoot.java index 1dda6978e..b2abbe9bc 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/client/TypesProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/client/TypesProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumWithExtendedType.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.enums.enumWithExtendedType.expected.Generated; +@Generated public class TypesProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public TypesProjectionRoot() { super(null, null, java.util.Optional.of("EmployeeTypes")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/datafetchers/TypesDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/datafetchers/TypesDatafetcher.java index acb0a872d..10102cd64 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/datafetchers/TypesDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/datafetchers/TypesDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.enums.enumWithExtendedType.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.enums.enumWithExtendedType.expected.types.EmployeeTypes; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class TypesDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/types/EmployeeTypes.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/types/EmployeeTypes.java index cf99f7058..24f36e18a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/types/EmployeeTypes.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/enums/enumWithExtendedType/expected/types/EmployeeTypes.java @@ -1,5 +1,8 @@ package com.netflix.graphql.dgs.codegen.java.testcases.enums.enumWithExtendedType.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.enums.enumWithExtendedType.expected.Generated; + +@Generated public enum EmployeeTypes { ENGINEER, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/DgsConstants.java index de43ceb8f..cb2d1591f 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/DgsConstants.java @@ -2,19 +2,23 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String Movies = "movies"; + @Generated public static class MOVIES_INPUT_ARGUMENT { public static final String Filter = "filter"; } } + @Generated public static class MOVIEFILTER { public static final String TYPE_NAME = "MovieFilter"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/Generated.java new file mode 100644 index 000000000..b3617b860 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.input.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/client/MoviesGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/client/MoviesGraphQLQuery.java index 1245215fd..a1b629d7e 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/client/MoviesGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/client/MoviesGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.input.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.input.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.inputs.input.expected.types.MovieFilter; import graphql.language.VariableDefinition; import java.lang.Override; @@ -12,6 +13,7 @@ import java.util.Map; import java.util.Set; +@Generated public class MoviesGraphQLQuery extends GraphQLQuery { public MoviesGraphQLQuery(MovieFilter filter, String queryName, Set fieldsSet) { super("query", queryName); @@ -48,6 +50,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/datafetchers/MoviesDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/datafetchers/MoviesDatafetcher.java index 3cc2f14d8..3a56230b5 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/datafetchers/MoviesDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/datafetchers/MoviesDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.input.expected.Generated; import graphql.schema.DataFetchingEnvironment; import java.lang.String; import java.util.List; +@Generated @DgsComponent public class MoviesDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/types/MovieFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/types/MovieFilter.java index 9b5dbd86b..9f58d05f4 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/types/MovieFilter.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/input/expected/types/MovieFilter.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.input.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.input.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class MovieFilter { private String genre; @@ -45,6 +47,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String genre; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/DgsConstants.java index db19a5fa0..fa3ba143d 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/DgsConstants.java @@ -2,19 +2,23 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String Orders = "orders"; + @Generated public static class ORDERS_INPUT_ARGUMENT { public static final String Filter = "filter"; } } + @Generated public static class ORDERFILTER { public static final String TYPE_NAME = "OrderFilter"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/Generated.java new file mode 100644 index 000000000..8894232f5 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultBigDecimal.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/client/OrdersGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/client/OrdersGraphQLQuery.java index a7d39dd39..07efca9b2 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/client/OrdersGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/client/OrdersGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultBigDecimal.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultBigDecimal.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultBigDecimal.expected.types.OrderFilter; import graphql.language.VariableDefinition; import java.lang.Override; @@ -12,6 +13,7 @@ import java.util.Map; import java.util.Set; +@Generated public class OrdersGraphQLQuery extends GraphQLQuery { public OrdersGraphQLQuery(OrderFilter filter, String queryName, Set fieldsSet) { super("query", queryName); @@ -48,6 +50,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/datafetchers/OrdersDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/datafetchers/OrdersDatafetcher.java index 5b23b6737..0b9192c5b 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/datafetchers/OrdersDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/datafetchers/OrdersDatafetcher.java @@ -2,9 +2,11 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultBigDecimal.expected.Generated; import graphql.schema.DataFetchingEnvironment; import java.lang.String; +@Generated @DgsComponent public class OrdersDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/types/OrderFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/types/OrderFilter.java index 5df978be0..a24d4b9e7 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/types/OrderFilter.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultBigDecimal/expected/types/OrderFilter.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultBigDecimal.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultBigDecimal.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.math.BigDecimal; import java.util.Objects; +@Generated public class OrderFilter { private BigDecimal min = new BigDecimal("1.1"); @@ -70,6 +72,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private BigDecimal min = new BigDecimal("1.1"); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/DgsConstants.java index b731b7379..feaa1dcdf 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/DgsConstants.java @@ -2,19 +2,23 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String Orders = "orders"; + @Generated public static class ORDERS_INPUT_ARGUMENT { public static final String Filter = "filter"; } } + @Generated public static class ORDERFILTER { public static final String TYPE_NAME = "OrderFilter"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/Generated.java new file mode 100644 index 000000000..9f9943b4c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultCurrency.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/client/OrdersGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/client/OrdersGraphQLQuery.java index 15db6bd71..ad1e46698 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/client/OrdersGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/client/OrdersGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultCurrency.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultCurrency.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultCurrency.expected.types.OrderFilter; import graphql.language.VariableDefinition; import java.lang.Override; @@ -12,6 +13,7 @@ import java.util.Map; import java.util.Set; +@Generated public class OrdersGraphQLQuery extends GraphQLQuery { public OrdersGraphQLQuery(OrderFilter filter, String queryName, Set fieldsSet) { super("query", queryName); @@ -48,6 +50,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/datafetchers/OrdersDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/datafetchers/OrdersDatafetcher.java index eb2265799..fbb51781a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/datafetchers/OrdersDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/datafetchers/OrdersDatafetcher.java @@ -2,9 +2,11 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultCurrency.expected.Generated; import graphql.schema.DataFetchingEnvironment; import java.lang.String; +@Generated @DgsComponent public class OrdersDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/types/OrderFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/types/OrderFilter.java index 5ee10e74c..ca588a334 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/types/OrderFilter.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultCurrency/expected/types/OrderFilter.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultCurrency.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultCurrency.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Currency; import java.util.Objects; +@Generated public class OrderFilter { private Currency value = Currency.getInstance("USD"); @@ -46,6 +48,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private Currency value = Currency.getInstance("USD"); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/DgsConstants.java index fa2690b6e..4803efd0f 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/DgsConstants.java @@ -2,7 +2,9 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class SOMETYPE { public static final String TYPE_NAME = "SomeType"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/Generated.java new file mode 100644 index 000000000..2bfa69386 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultEnumValueForArray.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/types/Color.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/types/Color.java index b666a047e..b2d197bd7 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/types/Color.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/types/Color.java @@ -1,5 +1,8 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultEnumValueForArray.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultEnumValueForArray.expected.Generated; + +@Generated public enum Color { red, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/types/SomeType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/types/SomeType.java index 54b245bd5..956f3a15a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/types/SomeType.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultEnumValueForArray/expected/types/SomeType.java @@ -1,5 +1,6 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultEnumValueForArray.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultEnumValueForArray.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; @@ -7,6 +8,7 @@ import java.util.List; import java.util.Objects; +@Generated public class SomeType { private List colors = Arrays.asList(Color.red); @@ -47,6 +49,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private List colors = Arrays.asList(Color.red); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/DgsConstants.java index 79c486ef4..cb8a1eeca 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/DgsConstants.java @@ -2,7 +2,9 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class SOMETYPE { public static final String TYPE_NAME = "SomeType"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/Generated.java new file mode 100644 index 000000000..7a8494bc2 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultIntValueForArray.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/types/SomeType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/types/SomeType.java index 360fda9a7..e98a204ec 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/types/SomeType.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultIntValueForArray/expected/types/SomeType.java @@ -1,5 +1,6 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultIntValueForArray.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultIntValueForArray.expected.Generated; import java.lang.Integer; import java.lang.Object; import java.lang.Override; @@ -8,6 +9,7 @@ import java.util.List; import java.util.Objects; +@Generated public class SomeType { private List numbers = Arrays.asList(1, 2, 3); @@ -48,6 +50,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private List numbers = Arrays.asList(1, 2, 3); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/DgsConstants.java index 1256fa84a..05b19112b 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/DgsConstants.java @@ -2,7 +2,9 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class SOMETYPE { public static final String TYPE_NAME = "SomeType"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/Generated.java new file mode 100644 index 000000000..8302f9848 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultStringValueForArray.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/types/SomeType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/types/SomeType.java index 0441b191f..633d60616 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/types/SomeType.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultStringValueForArray/expected/types/SomeType.java @@ -1,5 +1,6 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultStringValueForArray.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultStringValueForArray.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; @@ -7,6 +8,7 @@ import java.util.List; import java.util.Objects; +@Generated public class SomeType { private List names = Arrays.asList("A", "B"); @@ -47,6 +49,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private List names = Arrays.asList("A", "B"); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/DgsConstants.java index 66d6ac41b..393efdab8 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/DgsConstants.java @@ -2,7 +2,9 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class SOMETYPE { public static final String TYPE_NAME = "SomeType"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/Generated.java new file mode 100644 index 000000000..074f8daea --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForArray.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/types/SomeType.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/types/SomeType.java index 01a84f6d1..6225a5dc0 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/types/SomeType.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForArray/expected/types/SomeType.java @@ -1,5 +1,6 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForArray.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForArray.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; @@ -7,6 +8,7 @@ import java.util.List; import java.util.Objects; +@Generated public class SomeType { private List names = Collections.emptyList(); @@ -47,6 +49,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private List names = Collections.emptyList(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/DgsConstants.java index 24c18d18c..f80afaacd 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/DgsConstants.java @@ -2,7 +2,9 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class COLORFILTER { public static final String TYPE_NAME = "ColorFilter"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/Generated.java new file mode 100644 index 000000000..96c88b2c9 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForEnum.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/types/Color.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/types/Color.java index 7882633c8..5608fccf3 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/types/Color.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/types/Color.java @@ -1,5 +1,8 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForEnum.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForEnum.expected.Generated; + +@Generated public enum Color { red } diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/types/ColorFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/types/ColorFilter.java index 700c10c3a..9cdd20222 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/types/ColorFilter.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForEnum/expected/types/ColorFilter.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForEnum.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForEnum.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class ColorFilter { private Color color = Color.red; @@ -45,6 +47,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private Color color = Color.red; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/DgsConstants.java index 22e4981cc..f547ee10b 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/DgsConstants.java @@ -2,7 +2,9 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; @@ -17,6 +19,7 @@ public static class PERSON { public static final String IsHappy = "isHappy"; } + @Generated public static class CAR { public static final String TYPE_NAME = "Car"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/Generated.java new file mode 100644 index 000000000..2b87297e6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForNonNullableFields.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Car.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Car.java index a5a8c624c..b9ddf6753 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Car.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Car.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForNonNullableFields.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForNonNullableFields.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class Car { private String brand = "BMW"; @@ -45,6 +47,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String brand = "BMW"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Hobby.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Hobby.java index 4cf8af4e2..f1c12a2a2 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Hobby.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Hobby.java @@ -1,5 +1,8 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForNonNullableFields.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForNonNullableFields.expected.Generated; + +@Generated public enum Hobby { Football, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Person.java index 083443809..57dfbea44 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForNonNullableFields/expected/types/Person.java @@ -1,5 +1,6 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForNonNullableFields.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForNonNullableFields.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; @@ -7,6 +8,7 @@ import java.util.List; import java.util.Objects; +@Generated public class Person { private String name = "Damian"; @@ -95,6 +97,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String name = "Damian"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/DgsConstants.java index fc1c93604..01784035a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/DgsConstants.java @@ -2,7 +2,9 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; @@ -13,12 +15,14 @@ public static class PERSON { public static final String Car = "car"; } + @Generated public static class CAR { public static final String TYPE_NAME = "Car"; public static final String Brand = "brand"; } + @Generated public static class MOVIEFILTER { public static final String TYPE_NAME = "MovieFilter"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/Generated.java new file mode 100644 index 000000000..8fa3698fe --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForObject.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/Car.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/Car.java index a6812feba..8b5beaac4 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/Car.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/Car.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForObject.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForObject.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class Car { private String brand = "BMW"; @@ -45,6 +47,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String brand = "BMW"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/MovieFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/MovieFilter.java index a3bad5aa8..5995c9de1 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/MovieFilter.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/MovieFilter.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForObject.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForObject.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class MovieFilter { private Person director = new Person(){{setName("Damian");setCar(new Car(){{setBrand("Tesla");}});}}; @@ -45,6 +47,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private Person director = new Person(){{setName("Damian");setCar(new Car(){{setBrand("Tesla");}});}}; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/Person.java index 20de4d8a5..7e25cc341 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithDefaultValueForObject/expected/types/Person.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForObject.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithDefaultValueForObject.expected.Generated; import java.lang.Integer; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class Person { private String name = "John"; @@ -70,6 +72,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String name = "John"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/DgsConstants.java index 6e507503c..05c19a1fd 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/DgsConstants.java @@ -2,19 +2,23 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String Movies = "movies"; + @Generated public static class MOVIES_INPUT_ARGUMENT { public static final String Filter = "filter"; } } + @Generated public static class MOVIEFILTER { public static final String TYPE_NAME = "MovieFilter"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/Generated.java new file mode 100644 index 000000000..c89532053 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithExtendedType.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/client/MoviesGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/client/MoviesGraphQLQuery.java index 4787b27d4..7fae97aec 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/client/MoviesGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/client/MoviesGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithExtendedType.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithExtendedType.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithExtendedType.expected.types.MovieFilter; import graphql.language.VariableDefinition; import java.lang.Override; @@ -12,6 +13,7 @@ import java.util.Map; import java.util.Set; +@Generated public class MoviesGraphQLQuery extends GraphQLQuery { public MoviesGraphQLQuery(MovieFilter filter, String queryName, Set fieldsSet) { super("query", queryName); @@ -48,6 +50,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/datafetchers/MoviesDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/datafetchers/MoviesDatafetcher.java index 945e045c6..5b3d054d1 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/datafetchers/MoviesDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/datafetchers/MoviesDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithExtendedType.expected.Generated; import graphql.schema.DataFetchingEnvironment; import java.lang.String; import java.util.List; +@Generated @DgsComponent public class MoviesDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/types/MovieFilter.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/types/MovieFilter.java index 6f2c56346..ad9bb1d11 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/types/MovieFilter.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithExtendedType/expected/types/MovieFilter.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithExtendedType.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithExtendedType.expected.Generated; import java.lang.Integer; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class MovieFilter { private String genre; @@ -58,6 +60,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String genre; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/DgsConstants.java index 8c41a14e7..d66b131ab 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/DgsConstants.java @@ -2,7 +2,9 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class SAMPLEINPUT { public static final String TYPE_NAME = "SampleInput"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/Generated.java new file mode 100644 index 000000000..0f3be7515 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithReservedWord.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/types/SampleInput.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/types/SampleInput.java index 66cd11706..dd23658c6 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/types/SampleInput.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/inputs/inputWithReservedWord/expected/types/SampleInput.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithReservedWord.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.inputs.inputWithReservedWord.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class SampleInput { private String _return; @@ -45,6 +47,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String _return; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/DgsConstants.java index eb42c25c7..c11f7a993 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/DgsConstants.java @@ -2,7 +2,9 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class DOG { public static final String TYPE_NAME = "Dog"; @@ -19,6 +21,7 @@ public static class DOG { public static final String Parents = "parents"; } + @Generated public static class BIRD { public static final String TYPE_NAME = "Bird"; @@ -35,6 +38,7 @@ public static class BIRD { public static final String Parents = "parents"; } + @Generated public static class PET { public static final String TYPE_NAME = "Pet"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/Generated.java new file mode 100644 index 000000000..8343c76fe --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFields.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Bird.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Bird.java index 49df10b12..7f577d431 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Bird.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Bird.java @@ -1,12 +1,14 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFields.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFields.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.List; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -111,6 +113,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String id; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Dog.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Dog.java index bc76f8238..f121175f0 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Dog.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Dog.java @@ -1,12 +1,14 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFields.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFields.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.List; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -111,6 +113,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String id; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Pet.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Pet.java index 99f7004fe..1dc5aeac5 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Pet.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFields/expected/types/Pet.java @@ -2,9 +2,11 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFields.expected.Generated; import java.lang.String; import java.util.List; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/DgsConstants.java index 5138cefdb..f61d86506 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/DgsConstants.java @@ -2,7 +2,9 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class VEGETARIAN { public static final String TYPE_NAME = "Vegetarian"; @@ -11,6 +13,7 @@ public static class VEGETARIAN { public static final String Vegetables = "vegetables"; } + @Generated public static class DOG { public static final String TYPE_NAME = "Dog"; @@ -19,6 +22,7 @@ public static class DOG { public static final String Diet = "diet"; } + @Generated public static class PET { public static final String TYPE_NAME = "Pet"; @@ -27,6 +31,7 @@ public static class PET { public static final String Diet = "diet"; } + @Generated public static class DIET { public static final String TYPE_NAME = "Diet"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/Generated.java new file mode 100644 index 000000000..10113b8ac --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFieldsOfDifferentType.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Diet.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Diet.java index cdffe99e3..ad5f6645a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Diet.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Diet.java @@ -2,8 +2,10 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFieldsOfDifferentType.expected.Generated; import java.lang.String; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Dog.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Dog.java index 5af811c14..aaca91a89 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Dog.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Dog.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFieldsOfDifferentType.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFieldsOfDifferentType.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -61,6 +63,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String name; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Pet.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Pet.java index b0178ad96..50f5e05d6 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Pet.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Pet.java @@ -2,8 +2,10 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFieldsOfDifferentType.expected.Generated; import java.lang.String; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Vegetarian.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Vegetarian.java index 9d6cbc912..1189872b3 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Vegetarian.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithInterfaceFieldsOfDifferentType/expected/types/Vegetarian.java @@ -1,12 +1,14 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFieldsOfDifferentType.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithInterfaceFieldsOfDifferentType.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.List; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -62,6 +64,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String calories; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/DgsConstants.java index 1cd14749d..173b7936a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/DgsConstants.java @@ -2,15 +2,18 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String People = "people"; } + @Generated public static class EMPLOYEE { public static final String TYPE_NAME = "Employee"; @@ -21,6 +24,7 @@ public static class EMPLOYEE { public static final String Company = "company"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/Generated.java new file mode 100644 index 000000000..dac9ac1a3 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/EmployeeFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/EmployeeFragmentProjection.java index 588101fd3..3518eacdd 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/EmployeeFragmentProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/EmployeeFragmentProjection.java @@ -1,9 +1,11 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.Generated; import java.lang.Override; import java.lang.String; +@Generated public class EmployeeFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { { getFields().put("__typename", null); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/PeopleGraphQLQuery.java index 0aed4e958..bb57ab02b 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/PeopleGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/PeopleGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PeopleGraphQLQuery extends GraphQLQuery { public PeopleGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/PeopleProjectionRoot.java index 6095c3748..1c5a32bec 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/PeopleProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/client/PeopleProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.Generated; +@Generated public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PeopleProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/datafetchers/PeopleDatafetcher.java index 3084a0379..93c861cb9 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/datafetchers/PeopleDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/datafetchers/PeopleDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class PeopleDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/types/Employee.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/types/Employee.java index 5dafecf08..3c2d1008a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/types/Employee.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/types/Employee.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -73,6 +75,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String firstname; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/types/Person.java index c4a600e51..e61fb69fb 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceClassWithNonNullableFields/expected/types/Person.java @@ -2,8 +2,10 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceClassWithNonNullableFields.expected.Generated; import java.lang.String; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/DgsConstants.java index 04bc7ecce..2ab2ad738 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/DgsConstants.java @@ -2,7 +2,9 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class TITLED { public static final String TYPE_NAME = "Titled"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/Generated.java new file mode 100644 index 000000000..cbd662245 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceDocs.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/types/Titled.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/types/Titled.java index 53e5d1a57..8ecd00415 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/types/Titled.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceDocs/expected/types/Titled.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceDocs.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceDocs.expected.Generated; import java.lang.String; /** * Anything with a title! */ +@Generated public interface Titled { String getTitle(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/DgsConstants.java index 25a6e54b3..040b7d130 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/DgsConstants.java @@ -2,7 +2,9 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class TITLED { public static final String TYPE_NAME = "Titled"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/Generated.java new file mode 100644 index 000000000..f7abcf0a6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceFieldsDocs.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/types/Titled.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/types/Titled.java index ffef3efd1..f62920794 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/types/Titled.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceFieldsDocs/expected/types/Titled.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceFieldsDocs.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceFieldsDocs.expected.Generated; import java.lang.String; +@Generated public interface Titled { /** * The original, non localized title. diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/DgsConstants.java index d9133cd88..5599a7bec 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/DgsConstants.java @@ -2,27 +2,32 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String Fruits = "fruits"; } + @Generated public static class SEED { public static final String TYPE_NAME = "Seed"; public static final String Name = "name"; } + @Generated public static class FRUIT { public static final String TYPE_NAME = "Fruit"; public static final String Seeds = "seeds"; } + @Generated public static class STONEFRUIT { public static final String TYPE_NAME = "StoneFruit"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/Generated.java new file mode 100644 index 000000000..a2c50210e --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/FruitsGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/FruitsGraphQLQuery.java index 00fb2c474..7af9146f5 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/FruitsGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/FruitsGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class FruitsGraphQLQuery extends GraphQLQuery { public FruitsGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/FruitsProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/FruitsProjectionRoot.java index c457b7944..3e29cf6ef 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/FruitsProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/FruitsProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.Generated; +@Generated public class FruitsProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public FruitsProjectionRoot() { super(null, null, java.util.Optional.of("Fruit")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/SeedProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/SeedProjection.java index 7f0199b37..24b0f9d85 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/SeedProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/client/SeedProjection.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.Generated; +@Generated public class SeedProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public SeedProjection(PARENT parent, ROOT root) { super(parent, root, java.util.Optional.of("Seed")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/datafetchers/FruitsDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/datafetchers/FruitsDatafetcher.java index 4f7003a6f..99698d95c 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/datafetchers/FruitsDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/datafetchers/FruitsDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.types.Fruit; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class FruitsDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/Fruit.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/Fruit.java index 54d39aaff..0518c347c 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/Fruit.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/Fruit.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.Generated; import java.util.List; +@Generated public interface Fruit { List getSeeds(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/Seed.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/Seed.java index f9a7fbf02..41a76ddfd 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/Seed.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/Seed.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class Seed { private String name; @@ -45,6 +47,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String name; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/StoneFruit.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/StoneFruit.java index 869bf4db2..8b0a0e8aa 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/StoneFruit.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithInterfaceInheritance/expected/types/StoneFruit.java @@ -1,8 +1,10 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithInterfaceInheritance.expected.Generated; import java.lang.Boolean; import java.util.List; +@Generated public interface StoneFruit extends Fruit { List getSeeds(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/DgsConstants.java index 7a1377b6c..47b7f4e61 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/DgsConstants.java @@ -2,15 +2,18 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String Is = "is"; } + @Generated public static class T { public static final String TYPE_NAME = "T"; @@ -19,6 +22,7 @@ public static class T { public static final String Id = "id"; } + @Generated public static class I { public static final String TYPE_NAME = "I"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/Generated.java new file mode 100644 index 000000000..9e583b610 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/IsGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/IsGraphQLQuery.java index e42404ff5..3c1b5f507 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/IsGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/IsGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class IsGraphQLQuery extends GraphQLQuery { public IsGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/IsProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/IsProjectionRoot.java index 0352f3c5e..0a7ed17f0 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/IsProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/IsProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.Generated; +@Generated public class IsProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public IsProjectionRoot() { super(null, null, java.util.Optional.of("I")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/TFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/TFragmentProjection.java index 28bf5b919..ef114b675 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/TFragmentProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/client/TFragmentProjection.java @@ -1,9 +1,11 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.Generated; import java.lang.Override; import java.lang.String; +@Generated public class TFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { { getFields().put("__typename", null); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/datafetchers/IsDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/datafetchers/IsDatafetcher.java index a4d7a8e43..d3f749e0e 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/datafetchers/IsDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/datafetchers/IsDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.types.I; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class IsDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/types/I.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/types/I.java index b719e4c00..54c89f65a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/types/I.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/types/I.java @@ -2,8 +2,10 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.Generated; import java.lang.String; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/types/T.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/types/T.java index 483e4c557..6ea1446f8 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/types/T.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/interfaces/interfaceWithUnderscoreFields/expected/types/T.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.interfaces.interfaceWithUnderscoreFields.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -61,6 +63,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String _id; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/DgsConstants.java index 3e52aedbf..3c2e8f134 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/DgsConstants.java @@ -2,7 +2,9 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/Generated.java new file mode 100644 index 000000000..5015e533c --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.misc.skipCodegenOnFields.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/types/Person.java index 6dfd556f0..8c4ce6360 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnFields/expected/types/Person.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.misc.skipCodegenOnFields.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.misc.skipCodegenOnFields.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class Person { private String name; @@ -45,6 +47,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String name; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/DgsConstants.java index ba1c57af1..d3c315ac8 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/DgsConstants.java @@ -2,7 +2,9 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/Generated.java new file mode 100644 index 000000000..e59e20bcb --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.misc.skipCodegenOnInterfaceFields.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/types/Person.java index 2ae425ced..e970f306e 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnInterfaceFields/expected/types/Person.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.misc.skipCodegenOnInterfaceFields.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.misc.skipCodegenOnInterfaceFields.expected.Generated; import java.lang.String; +@Generated public interface Person { String getName(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/DgsConstants.java index ca556694f..29b9ece49 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/DgsConstants.java @@ -2,13 +2,16 @@ import java.lang.String; +@Generated public class DgsConstants { + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; public static final String Name = "name"; } + @Generated public static class CAR { public static final String TYPE_NAME = "Car"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/Generated.java new file mode 100644 index 000000000..6afad6e8a --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.misc.skipCodegenOnTypes.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/types/Person.java index 9c315ff4f..f3b8e31db 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/skipCodegenOnTypes/expected/types/Person.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.misc.skipCodegenOnTypes.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.misc.skipCodegenOnTypes.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class Person { private String name; @@ -45,6 +47,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String name; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/DgsConstants.java index b480a5e4b..a1f5106b7 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/DgsConstants.java @@ -2,21 +2,25 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class MYINTERFACEIMPL { public static final String TYPE_NAME = "MyInterfaceImpl"; public static final String __ = "_"; } + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String Impl = "impl"; } + @Generated public static class MYINTERFACE { public static final String TYPE_NAME = "MyInterface"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/Generated.java new file mode 100644 index 000000000..5ec631705 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.misc.typesWithUnderscoreField.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/client/ImplGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/client/ImplGraphQLQuery.java index 99ac31c0a..e247760db 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/client/ImplGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/client/ImplGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.misc.typesWithUnderscoreField.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.misc.typesWithUnderscoreField.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class ImplGraphQLQuery extends GraphQLQuery { public ImplGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/client/ImplProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/client/ImplProjectionRoot.java index 58266a59d..d4c47fadb 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/client/ImplProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/client/ImplProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.misc.typesWithUnderscoreField.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.misc.typesWithUnderscoreField.expected.Generated; +@Generated public class ImplProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public ImplProjectionRoot() { super(null, null, java.util.Optional.of("MyInterfaceImpl")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/datafetchers/ImplDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/datafetchers/ImplDatafetcher.java index 34c57a519..bc82593f4 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/datafetchers/ImplDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/datafetchers/ImplDatafetcher.java @@ -2,9 +2,11 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.misc.typesWithUnderscoreField.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.misc.typesWithUnderscoreField.expected.types.MyInterfaceImpl; import graphql.schema.DataFetchingEnvironment; +@Generated @DgsComponent public class ImplDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/types/MyInterface.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/types/MyInterface.java index 5a059aa29..38187df83 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/types/MyInterface.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/types/MyInterface.java @@ -2,8 +2,10 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.misc.typesWithUnderscoreField.expected.Generated; import java.lang.String; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/types/MyInterfaceImpl.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/types/MyInterfaceImpl.java index a3f89fcc1..057c45b00 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/types/MyInterfaceImpl.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/misc/typesWithUnderscoreField/expected/types/MyInterfaceImpl.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.misc.typesWithUnderscoreField.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.misc.typesWithUnderscoreField.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -49,6 +51,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String __; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/DgsConstants.java index f73543f59..6e44930c4 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/DgsConstants.java @@ -2,9 +2,11 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/Generated.java new file mode 100644 index 000000000..fd745ad81 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EGraphQLQuery.java index de7002f47..370562a3c 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class EGraphQLQuery extends GraphQLQuery { public EGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EProjectionRoot.java index 9e057d6f4..38100ba24 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.Generated; +@Generated public class EProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public EProjectionRoot() { super(null, null, java.util.Optional.of("E")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EsGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EsGraphQLQuery.java index 76f28fe0c..1f3a6f71e 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EsGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EsGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class EsGraphQLQuery extends GraphQLQuery { public EsGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EsProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EsProjectionRoot.java index a84fad5d5..a5128c9c5 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EsProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/client/EsProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.Generated; +@Generated public class EsProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public EsProjectionRoot() { super(null, null, java.util.Optional.of("E")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/datafetchers/EDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/datafetchers/EDatafetcher.java index 503c15e41..15d71ce59 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/datafetchers/EDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/datafetchers/EDatafetcher.java @@ -2,9 +2,11 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.types.E; import graphql.schema.DataFetchingEnvironment; +@Generated @DgsComponent public class EDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/datafetchers/EsDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/datafetchers/EsDatafetcher.java index 6baa125b6..ece017e78 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/datafetchers/EsDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/datafetchers/EsDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.types.E; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class EsDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/types/E.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/types/E.java index 6b4a0e7e5..bd8b08f06 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/types/E.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithEnum/expected/types/E.java @@ -1,5 +1,8 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithEnum.expected.Generated; + +@Generated public enum E { V } diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/DgsConstants.java index 965eb9d0e..3d9185e10 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/DgsConstants.java @@ -2,9 +2,11 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; @@ -12,12 +14,14 @@ public static class QUERY { public static final String Q2 = "q2"; + @Generated public static class Q1_INPUT_ARGUMENT { public static final String Arg1 = "arg1"; public static final String Arg2 = "arg2"; } + @Generated public static class Q2_INPUT_ARGUMENT { public static final String Arg1 = "arg1"; @@ -25,6 +29,7 @@ public static class Q2_INPUT_ARGUMENT { } } + @Generated public static class I1 { public static final String TYPE_NAME = "I1"; @@ -33,6 +38,7 @@ public static class I1 { public static final String Arg2 = "arg2"; } + @Generated public static class I2 { public static final String TYPE_NAME = "I2"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/Generated.java new file mode 100644 index 000000000..b57a3bdcb --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/client/Q1GraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/client/Q1GraphQLQuery.java index 65d244e28..ed6bff485 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/client/Q1GraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/client/Q1GraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.types.I2; import graphql.language.VariableDefinition; import java.lang.Override; @@ -12,6 +13,7 @@ import java.util.Map; import java.util.Set; +@Generated public class Q1GraphQLQuery extends GraphQLQuery { public Q1GraphQLQuery(String arg1, I2 arg2, String queryName, Set fieldsSet) { super("query", queryName); @@ -52,6 +54,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/client/Q2GraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/client/Q2GraphQLQuery.java index 2bc7a2520..babb4309f 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/client/Q2GraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/client/Q2GraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.types.I1; import graphql.language.VariableDefinition; import java.lang.Override; @@ -12,6 +13,7 @@ import java.util.Map; import java.util.Set; +@Generated public class Q2GraphQLQuery extends GraphQLQuery { public Q2GraphQLQuery(I1 arg1, String arg2, String queryName, Set fieldsSet) { super("query", queryName); @@ -52,6 +54,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/datafetchers/Q1Datafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/datafetchers/Q1Datafetcher.java index eab17a6de..78d9cac80 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/datafetchers/Q1Datafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/datafetchers/Q1Datafetcher.java @@ -2,9 +2,11 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.Generated; import graphql.schema.DataFetchingEnvironment; import java.lang.String; +@Generated @DgsComponent public class Q1Datafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/datafetchers/Q2Datafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/datafetchers/Q2Datafetcher.java index 1cff9c17d..c6b6f11e0 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/datafetchers/Q2Datafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/datafetchers/Q2Datafetcher.java @@ -2,9 +2,11 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.Generated; import graphql.schema.DataFetchingEnvironment; import java.lang.String; +@Generated @DgsComponent public class Q2Datafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/types/I1.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/types/I1.java index 5686d8ae8..a9eb940ca 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/types/I1.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/types/I1.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class I1 { private I1 arg1; @@ -57,6 +59,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private I1 arg1; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/types/I2.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/types/I2.java index 978f7b67b..d4b1e7093 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/types/I2.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithNestedInputs/expected/types/I2.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithNestedInputs.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class I2 { private String arg1; @@ -57,6 +59,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String arg1; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/DgsConstants.java index d51f457f8..170e3e7c5 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/DgsConstants.java @@ -2,14 +2,17 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String String = "string"; + @Generated public static class STRING_INPUT_ARGUMENT { public static final String A1 = "a1"; @@ -19,6 +22,7 @@ public static class STRING_INPUT_ARGUMENT { } } + @Generated public static class I { public static final String TYPE_NAME = "I"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/Generated.java new file mode 100644 index 000000000..64cba0677 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitiveAndArgs.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/client/StringGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/client/StringGraphQLQuery.java index 4db9cfb14..a5dbfe7cd 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/client/StringGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/client/StringGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitiveAndArgs.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitiveAndArgs.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitiveAndArgs.expected.types.I; import graphql.language.VariableDefinition; import java.lang.Override; @@ -12,6 +13,7 @@ import java.util.Map; import java.util.Set; +@Generated public class StringGraphQLQuery extends GraphQLQuery { public StringGraphQLQuery(String a1, String a2, I a3, String queryName, Set fieldsSet) { super("query", queryName); @@ -56,6 +58,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/datafetchers/StringDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/datafetchers/StringDatafetcher.java index e10b931d1..3833f0746 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/datafetchers/StringDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/datafetchers/StringDatafetcher.java @@ -2,9 +2,11 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitiveAndArgs.expected.Generated; import graphql.schema.DataFetchingEnvironment; import java.lang.String; +@Generated @DgsComponent public class StringDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/types/I.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/types/I.java index a937151ed..1dc5c1919 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/types/I.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitiveAndArgs/expected/types/I.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitiveAndArgs.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitiveAndArgs.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class I { private String arg; @@ -45,6 +47,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String arg; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/DgsConstants.java index 5531682e0..5b544c4c7 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/DgsConstants.java @@ -2,9 +2,11 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/Generated.java new file mode 100644 index 000000000..3a31d0f39 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitives.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/client/StringGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/client/StringGraphQLQuery.java index 532dde44a..c79730f41 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/client/StringGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/client/StringGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitives.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitives.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class StringGraphQLQuery extends GraphQLQuery { public StringGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/client/StringsGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/client/StringsGraphQLQuery.java index 82acc37f2..c9fc2e5b6 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/client/StringsGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/client/StringsGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitives.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitives.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class StringsGraphQLQuery extends GraphQLQuery { public StringsGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/datafetchers/StringDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/datafetchers/StringDatafetcher.java index 854bd6859..2f93e0479 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/datafetchers/StringDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/datafetchers/StringDatafetcher.java @@ -2,9 +2,11 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitives.expected.Generated; import graphql.schema.DataFetchingEnvironment; import java.lang.String; +@Generated @DgsComponent public class StringDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/datafetchers/StringsDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/datafetchers/StringsDatafetcher.java index 28c7c96c9..ec467feb0 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/datafetchers/StringsDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithPrimitives/expected/datafetchers/StringsDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithPrimitives.expected.Generated; import graphql.schema.DataFetchingEnvironment; import java.lang.String; import java.util.List; +@Generated @DgsComponent public class StringsDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/DgsConstants.java index d6faa369b..4896b7030 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/DgsConstants.java @@ -2,9 +2,11 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; @@ -13,6 +15,7 @@ public static class QUERY { public static final String People = "people"; } + @Generated public static class EMPLOYEE { public static final String TYPE_NAME = "Employee"; @@ -21,6 +24,7 @@ public static class EMPLOYEE { public static final String Company = "company"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/Generated.java new file mode 100644 index 000000000..7e4db78e6 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/EmployeeFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/EmployeeFragmentProjection.java index 2bbdf13f2..f0449e395 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/EmployeeFragmentProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/EmployeeFragmentProjection.java @@ -1,9 +1,11 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.Generated; import java.lang.Override; import java.lang.String; +@Generated public class EmployeeFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { { getFields().put("__typename", null); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PeopleGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PeopleGraphQLQuery.java index ecc4cc6cb..5568234c0 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PeopleGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PeopleGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PeopleGraphQLQuery extends GraphQLQuery { public PeopleGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PeopleProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PeopleProjectionRoot.java index 6f789058b..bd12c2f8a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PeopleProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PeopleProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.Generated; +@Generated public class PeopleProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PeopleProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PersonGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PersonGraphQLQuery.java index 3718906ce..f6f3bf041 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PersonGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PersonGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PersonGraphQLQuery extends GraphQLQuery { public PersonGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PersonProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PersonProjectionRoot.java index d66097aea..5d72886b8 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PersonProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/client/PersonProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.Generated; +@Generated public class PersonProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PersonProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/datafetchers/PeopleDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/datafetchers/PeopleDatafetcher.java index 2debb31ae..e0f8552e5 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/datafetchers/PeopleDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/datafetchers/PeopleDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.types.Person; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class PeopleDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/datafetchers/PersonDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/datafetchers/PersonDatafetcher.java index 75ec50ec0..6dbf43e1a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/datafetchers/PersonDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/datafetchers/PersonDatafetcher.java @@ -2,9 +2,11 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.types.Person; import graphql.schema.DataFetchingEnvironment; +@Generated @DgsComponent public class PersonDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/types/Employee.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/types/Employee.java index d25823cd8..34ccccd5c 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/types/Employee.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/types/Employee.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -61,6 +63,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String firstname; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/types/Person.java index 162111635..8ae913f6e 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithType/expected/types/Person.java @@ -2,8 +2,10 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithType.expected.Generated; import java.lang.String; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/DgsConstants.java index acc7e7f14..a863d72e8 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/DgsConstants.java @@ -2,14 +2,17 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String Person = "person"; + @Generated public static class PERSON_INPUT_ARGUMENT { public static final String A1 = "a1"; @@ -19,6 +22,7 @@ public static class PERSON_INPUT_ARGUMENT { } } + @Generated public static class EMPLOYEE { public static final String TYPE_NAME = "Employee"; @@ -27,12 +31,14 @@ public static class EMPLOYEE { public static final String Company = "company"; } + @Generated public static class I { public static final String TYPE_NAME = "I"; public static final String Arg = "arg"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/Generated.java new file mode 100644 index 000000000..7343d3606 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/EmployeeFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/EmployeeFragmentProjection.java index fb488965f..6f62c5612 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/EmployeeFragmentProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/EmployeeFragmentProjection.java @@ -1,9 +1,11 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.Generated; import java.lang.Override; import java.lang.String; +@Generated public class EmployeeFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { { getFields().put("__typename", null); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/PersonGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/PersonGraphQLQuery.java index 925aab5f5..536f687c9 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/PersonGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/PersonGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.types.I; import graphql.language.VariableDefinition; import java.lang.Override; @@ -12,6 +13,7 @@ import java.util.Map; import java.util.Set; +@Generated public class PersonGraphQLQuery extends GraphQLQuery { public PersonGraphQLQuery(String a1, String a2, I a3, String queryName, Set fieldsSet) { super("query", queryName); @@ -56,6 +58,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/PersonProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/PersonProjectionRoot.java index b47a9449c..d2f8a887a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/PersonProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/client/PersonProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.Generated; +@Generated public class PersonProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public PersonProjectionRoot() { super(null, null, java.util.Optional.of("Person")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/datafetchers/PersonDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/datafetchers/PersonDatafetcher.java index 1cd3879f6..83d385fb8 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/datafetchers/PersonDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/datafetchers/PersonDatafetcher.java @@ -2,9 +2,11 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.types.Person; import graphql.schema.DataFetchingEnvironment; +@Generated @DgsComponent public class PersonDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/Employee.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/Employee.java index 452fd4799..416e81d93 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/Employee.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/Employee.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -61,6 +63,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String firstname; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/I.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/I.java index feba3fd65..21ffb48b9 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/I.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/I.java @@ -1,10 +1,12 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated public class I { private String arg; @@ -45,6 +47,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String arg; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/Person.java index d7a78957f..8f56e1d4d 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithTypeAndArgs/expected/types/Person.java @@ -2,8 +2,10 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithTypeAndArgs.expected.Generated; import java.lang.String; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/DgsConstants.java index 21755c615..dc8a221ed 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/DgsConstants.java @@ -2,9 +2,11 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; @@ -13,6 +15,7 @@ public static class QUERY { public static final String Us = "us"; } + @Generated public static class EMPLOYEE { public static final String TYPE_NAME = "Employee"; @@ -21,6 +24,7 @@ public static class EMPLOYEE { public static final String Company = "company"; } + @Generated public static class PERSON { public static final String TYPE_NAME = "Person"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/Generated.java new file mode 100644 index 000000000..d46b6e4b4 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/EmployeeFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/EmployeeFragmentProjection.java index 0d103ad6b..7a3ff1f49 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/EmployeeFragmentProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/EmployeeFragmentProjection.java @@ -1,9 +1,11 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.Generated; import java.lang.Override; import java.lang.String; +@Generated public class EmployeeFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { { getFields().put("__typename", null); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UGraphQLQuery.java index 8bc1127c3..ccfd5898e 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class UGraphQLQuery extends GraphQLQuery { public UGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UProjectionRoot.java index edb4ae735..5dea2dd28 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.Generated; +@Generated public class UProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public UProjectionRoot() { super(null, null, java.util.Optional.of("U")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UsGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UsGraphQLQuery.java index 06771d011..f09c13619 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UsGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UsGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class UsGraphQLQuery extends GraphQLQuery { public UsGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UsProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UsProjectionRoot.java index a217806dc..690c036db 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UsProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/client/UsProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.Generated; +@Generated public class UsProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public UsProjectionRoot() { super(null, null, java.util.Optional.of("U")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/datafetchers/UDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/datafetchers/UDatafetcher.java index 565af6a3e..e41d38ec5 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/datafetchers/UDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/datafetchers/UDatafetcher.java @@ -2,9 +2,11 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.types.U; import graphql.schema.DataFetchingEnvironment; +@Generated @DgsComponent public class UDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/datafetchers/UsDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/datafetchers/UsDatafetcher.java index 091aff5e6..b7de3fda5 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/datafetchers/UsDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/datafetchers/UsDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.types.U; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class UsDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/Employee.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/Employee.java index b650a0b0e..ea7f3c010 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/Employee.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/Employee.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -61,6 +63,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String firstname; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/Person.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/Person.java index 3e421aa83..89565b19c 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/Person.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/Person.java @@ -2,8 +2,10 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.Generated; import java.lang.String; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/U.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/U.java index 72fed53f7..d412c2273 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/U.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/projections/projectionWithUnion/expected/types/U.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.projections.projectionWithUnion.expected.Generated; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/DgsConstants.java index e180d0809..058e60cc6 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/DgsConstants.java @@ -2,21 +2,25 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String Search = "search"; } + @Generated public static class MOVIE { public static final String TYPE_NAME = "Movie"; public static final String Title = "title"; } + @Generated public static class ACTOR { public static final String TYPE_NAME = "Actor"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/Generated.java new file mode 100644 index 000000000..8b363f879 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/ActorFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/ActorFragmentProjection.java index f69cd9673..f53adf0ac 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/ActorFragmentProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/ActorFragmentProjection.java @@ -1,9 +1,11 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.Generated; import java.lang.Override; import java.lang.String; +@Generated public class ActorFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { { getFields().put("__typename", null); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/MovieFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/MovieFragmentProjection.java index bcaba87f3..ab080d53a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/MovieFragmentProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/MovieFragmentProjection.java @@ -1,9 +1,11 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.Generated; import java.lang.Override; import java.lang.String; +@Generated public class MovieFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { { getFields().put("__typename", null); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/SearchGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/SearchGraphQLQuery.java index 5e83e9f7a..432d904b3 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/SearchGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/SearchGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class SearchGraphQLQuery extends GraphQLQuery { public SearchGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/SearchProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/SearchProjectionRoot.java index d992dc27c..c418ba7bd 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/SearchProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/client/SearchProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.Generated; +@Generated public class SearchProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public SearchProjectionRoot() { super(null, null, java.util.Optional.of("SearchResult")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/datafetchers/SearchDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/datafetchers/SearchDatafetcher.java index 31de8e47d..476ff5d05 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/datafetchers/SearchDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/datafetchers/SearchDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.types.SearchResult; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class SearchDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/Actor.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/Actor.java index 6909ae671..ffad82ff1 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/Actor.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/Actor.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -49,6 +51,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String name; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/Movie.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/Movie.java index 8058c3ff0..9741f9620 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/Movie.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/Movie.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -49,6 +51,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String title; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/SearchResult.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/SearchResult.java index 588fcc273..3ef6874f8 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/SearchResult.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/union/expected/types/SearchResult.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.union.expected.Generated; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/DgsConstants.java index 0a8cb9bb7..39f4e0620 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/DgsConstants.java @@ -2,19 +2,23 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String Search = "search"; + @Generated public static class SEARCH_INPUT_ARGUMENT { public static final String Text = "text"; } } + @Generated public static class HUMAN { public static final String TYPE_NAME = "Human"; @@ -25,6 +29,7 @@ public static class HUMAN { public static final String TotalCredits = "totalCredits"; } + @Generated public static class DROID { public static final String TYPE_NAME = "Droid"; @@ -35,6 +40,7 @@ public static class DROID { public static final String PrimaryFunction = "primaryFunction"; } + @Generated public static class SEARCHRESULTPAGE { public static final String TYPE_NAME = "SearchResultPage"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/Generated.java new file mode 100644 index 000000000..db76f40ec --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/DroidFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/DroidFragmentProjection.java index 60b1fc61a..a030be1cb 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/DroidFragmentProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/DroidFragmentProjection.java @@ -1,9 +1,11 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.Generated; import java.lang.Override; import java.lang.String; +@Generated public class DroidFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { { getFields().put("__typename", null); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/HumanFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/HumanFragmentProjection.java index 871f593bf..36e3f8618 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/HumanFragmentProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/HumanFragmentProjection.java @@ -1,9 +1,11 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.Generated; import java.lang.Override; import java.lang.String; +@Generated public class HumanFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { { getFields().put("__typename", null); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchGraphQLQuery.java index e4c71903c..89e6a6618 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class SearchGraphQLQuery extends GraphQLQuery { public SearchGraphQLQuery(String text, String queryName, Set fieldsSet) { super("query", queryName); @@ -47,6 +49,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchProjectionRoot.java index 9234d7ff1..776925dfc 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.Generated; +@Generated public class SearchProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public SearchProjectionRoot() { super(null, null, java.util.Optional.of("SearchResultPage")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchResultProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchResultProjection.java index b677bff4f..97d11508d 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchResultProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/client/SearchResultProjection.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.Generated; +@Generated public class SearchResultProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public SearchResultProjection(PARENT parent, ROOT root) { super(parent, root, java.util.Optional.of("SearchResult")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/datafetchers/SearchDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/datafetchers/SearchDatafetcher.java index 27644b885..1412512ad 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/datafetchers/SearchDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/datafetchers/SearchDatafetcher.java @@ -2,9 +2,11 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.types.SearchResultPage; import graphql.schema.DataFetchingEnvironment; +@Generated @DgsComponent public class SearchDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/Droid.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/Droid.java index 2b2933b22..f5f728d3e 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/Droid.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/Droid.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -73,6 +75,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String id; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/Human.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/Human.java index 709e9e1f0..7bf08c750 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/Human.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/Human.java @@ -1,12 +1,14 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.Generated; import java.lang.Integer; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -74,6 +76,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String id; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/SearchResult.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/SearchResult.java index 2547e4d3f..4521e2649 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/SearchResult.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/SearchResult.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.Generated; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/SearchResultPage.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/SearchResultPage.java index 2e0227f80..c737439c3 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/SearchResultPage.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionTypesWithoutInterfaceCanDeserialize/expected/types/SearchResultPage.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.types; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionTypesWithoutInterfaceCanDeserialize.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.List; import java.util.Objects; +@Generated public class SearchResultPage { private List items; @@ -46,6 +48,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private List items; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/DgsConstants.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/DgsConstants.java index 1f8e29c4a..6ffa546d2 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/DgsConstants.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/DgsConstants.java @@ -2,27 +2,32 @@ import java.lang.String; +@Generated public class DgsConstants { public static final String QUERY_TYPE = "Query"; + @Generated public static class QUERY { public static final String TYPE_NAME = "Query"; public static final String Search = "search"; } + @Generated public static class MOVIE { public static final String TYPE_NAME = "Movie"; public static final String Title = "title"; } + @Generated public static class ACTOR { public static final String TYPE_NAME = "Actor"; public static final String Name = "name"; } + @Generated public static class RATING { public static final String TYPE_NAME = "Rating"; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/Generated.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/Generated.java new file mode 100644 index 000000000..815703c43 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/Generated.java @@ -0,0 +1,8 @@ +package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.CLASS) +public @interface Generated { +} diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/ActorFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/ActorFragmentProjection.java index 2df34432c..2a2e69261 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/ActorFragmentProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/ActorFragmentProjection.java @@ -1,9 +1,11 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.Generated; import java.lang.Override; import java.lang.String; +@Generated public class ActorFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { { getFields().put("__typename", null); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/MovieFragmentProjection.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/MovieFragmentProjection.java index ad8caea9d..48d963674 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/MovieFragmentProjection.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/MovieFragmentProjection.java @@ -1,9 +1,11 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.Generated; import java.lang.Override; import java.lang.String; +@Generated public class MovieFragmentProjection, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { { getFields().put("__typename", null); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/SearchGraphQLQuery.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/SearchGraphQLQuery.java index 3657f1590..301cb896a 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/SearchGraphQLQuery.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/SearchGraphQLQuery.java @@ -1,6 +1,7 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.client; import com.netflix.graphql.dgs.client.codegen.GraphQLQuery; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.Generated; import graphql.language.VariableDefinition; import java.lang.Override; import java.lang.String; @@ -11,6 +12,7 @@ import java.util.Map; import java.util.Set; +@Generated public class SearchGraphQLQuery extends GraphQLQuery { public SearchGraphQLQuery(String queryName) { super("query", queryName); @@ -29,6 +31,7 @@ public static Builder newRequest() { return new Builder(); } + @Generated public static class Builder { private Set fieldsSet = new HashSet<>(); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/SearchProjectionRoot.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/SearchProjectionRoot.java index dfd503f97..437f439bf 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/SearchProjectionRoot.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/client/SearchProjectionRoot.java @@ -1,7 +1,9 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.client; import com.netflix.graphql.dgs.client.codegen.BaseSubProjectionNode; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.Generated; +@Generated public class SearchProjectionRoot, ROOT extends BaseSubProjectionNode> extends BaseSubProjectionNode { public SearchProjectionRoot() { super(null, null, java.util.Optional.of("SearchResult")); diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/datafetchers/SearchDatafetcher.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/datafetchers/SearchDatafetcher.java index eaa530647..b7a459c98 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/datafetchers/SearchDatafetcher.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/datafetchers/SearchDatafetcher.java @@ -2,10 +2,12 @@ import com.netflix.graphql.dgs.DgsComponent; import com.netflix.graphql.dgs.DgsData; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.Generated; import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.types.SearchResult; import graphql.schema.DataFetchingEnvironment; import java.util.List; +@Generated @DgsComponent public class SearchDatafetcher { @DgsData( diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Actor.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Actor.java index 51fecd53f..72181728d 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Actor.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Actor.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -49,6 +51,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String name; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Movie.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Movie.java index 5232dcee8..c6ea3949c 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Movie.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Movie.java @@ -1,11 +1,13 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.Generated; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -49,6 +51,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private String title; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Rating.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Rating.java index c8a0ba847..96ce60f88 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Rating.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/Rating.java @@ -1,12 +1,14 @@ package com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.types; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.Generated; import java.lang.Integer; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Objects; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NONE ) @@ -50,6 +52,7 @@ public static Builder newBuilder() { return new Builder(); } + @Generated public static class Builder { private Integer stars; diff --git a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/SearchResult.java b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/SearchResult.java index ab91c0d91..0afbb0d82 100644 --- a/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/SearchResult.java +++ b/graphql-dgs-codegen-core/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/unions/unionWithExtendedType/expected/types/SearchResult.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.netflix.graphql.dgs.codegen.java.testcases.unions.unionWithExtendedType.expected.Generated; +@Generated @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, diff --git a/graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/CodeGenSnapshots.kt b/graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/CodeGenSnapshots.kt new file mode 100644 index 000000000..e1576baff --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/CodeGenSnapshots.kt @@ -0,0 +1,70 @@ +/* + * + * Copyright 2026 Netflix, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package com.netflix.graphql.dgs.codegen + +import org.assertj.core.api.Assertions.assertThat +import java.nio.file.Files +import java.nio.file.Path +import kotlin.io.path.createDirectories +import kotlin.io.path.exists +import kotlin.io.path.readText +import kotlin.io.path.writeText + +internal fun listSnapshotTestCases(root: Path): List = + Files.walk(root).use { paths -> + paths + .filter { it.fileName.toString() == "schema.graphql" } + .map { root.relativize(it.parent).joinToString("/") } + .sorted() + .toList() + } + +internal fun assertGeneratedSourcesMatchSnapshot( + expectedDirectory: Path, + generatedSources: List>, + updateExpected: Boolean, +) { + val generatedPaths = generatedSources.map { it.first } + assertThat(generatedPaths).`as`("Generated source paths").doesNotHaveDuplicates() + + val expectedPaths = + if (expectedDirectory.exists()) { + Files.walk(expectedDirectory).use { paths -> paths.filter { Files.isRegularFile(it) }.toList() } + } else { + emptyList() + } + + if (updateExpected) { + // Updating snapshots must not hide files that the generator stopped producing. + assertThat(generatedPaths).`as`("Generated sources in %s", expectedDirectory).containsAll(expectedPaths) + } else { + assertThat(generatedPaths) + .`as`("Generated sources in %s", expectedDirectory) + .containsExactlyInAnyOrderElementsOf(expectedPaths) + } + + generatedSources.forEach { (path, content) -> + if (updateExpected) { + path.parent.createDirectories() + path.writeText(content) + } else { + assertThat(content).`as`("Generated source %s", path).isEqualTo(path.readText()) + } + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/CodeGenSnapshotsTest.kt b/graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/CodeGenSnapshotsTest.kt new file mode 100644 index 000000000..d2e939b38 --- /dev/null +++ b/graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/CodeGenSnapshotsTest.kt @@ -0,0 +1,83 @@ +/* + * + * Copyright 2026 Netflix, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package com.netflix.graphql.dgs.codegen + +import org.assertj.core.api.Assertions.assertThat +import org.assertj.core.api.Assertions.assertThatThrownBy +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.io.TempDir +import org.junit.jupiter.params.ParameterizedTest +import org.junit.jupiter.params.provider.ValueSource +import java.nio.file.Path +import kotlin.io.path.readText +import kotlin.io.path.writeText + +class CodeGenSnapshotsTest { + @TempDir + lateinit var expectedDirectory: Path + + @ParameterizedTest + @ValueSource(booleans = [false, true]) + fun `duplicate paths fail before snapshots are overwritten`(updateExpected: Boolean) { + val path = expectedDirectory.resolve("Duplicate.java") + path.writeText("original") + + assertThatThrownBy { + assertGeneratedSourcesMatchSnapshot(expectedDirectory, listOf(path to "first", path to "second"), updateExpected) + }.isInstanceOf(AssertionError::class.java) + .hasMessageContaining("Duplicate.java") + assertThat(path.readText()).isEqualTo("original") + } + + @ParameterizedTest + @ValueSource(booleans = [false, true]) + fun `missing generated files fail before snapshots are overwritten`(updateExpected: Boolean) { + val path = expectedDirectory.resolve("Present.java") + path.writeText("original") + expectedDirectory.resolve("Missing.java").writeText("missing") + + assertThatThrownBy { + assertGeneratedSourcesMatchSnapshot(expectedDirectory, listOf(path to "changed"), updateExpected) + }.isInstanceOf(AssertionError::class.java) + .hasMessageContaining("Missing.java") + assertThat(path.readText()).isEqualTo("original") + } + + @Test + fun `unexpected generated files fail`() { + val path = expectedDirectory.resolve("Unexpected.java") + + assertThatThrownBy { + assertGeneratedSourcesMatchSnapshot(expectedDirectory, listOf(path to "unexpected"), updateExpected = false) + }.isInstanceOf(AssertionError::class.java) + .hasMessageContaining("Unexpected.java") + assertThat(path).doesNotExist() + } + + @Test + fun `changed generated content fails`() { + val path = expectedDirectory.resolve("Changed.java") + path.writeText("original") + + assertThatThrownBy { + assertGeneratedSourcesMatchSnapshot(expectedDirectory, listOf(path to "changed"), updateExpected = false) + }.isInstanceOf(AssertionError::class.java) + .hasMessageContaining("Changed.java") + } +} diff --git a/graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/JavaCodeGenTest.kt b/graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/JavaCodeGenTest.kt index 7c628a2ac..2dd4a2442 100644 --- a/graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/JavaCodeGenTest.kt +++ b/graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/JavaCodeGenTest.kt @@ -19,17 +19,10 @@ package com.netflix.graphql.dgs.codegen import org.assertj.core.api.Assertions.assertThat -import org.assertj.core.api.Assertions.fail import org.junit.jupiter.api.Test import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.MethodSource -import java.nio.file.Files import java.nio.file.Path -import java.nio.file.Paths -import java.util.stream.Collectors -import kotlin.io.path.createDirectories -import kotlin.io.path.exists -import kotlin.io.path.listDirectoryEntries import kotlin.io.path.readText class JavaCodeGenTest { @@ -37,97 +30,50 @@ class JavaCodeGenTest { private val updateExpected = false @ParameterizedTest - @MethodSource("constantsTestCases") - fun testCodeGen_constants(testCaseName: String) { - val testPackage = "constants" - val codeGenConfig = getBaseCodeGenConfig(testPackage, testCaseName) - runTest(testPackage, testCaseName, codeGenConfig) - } - - @ParameterizedTest - @MethodSource("dataClassesTestCases") - fun testCodeGen_dataClasses(testCaseName: String) { - val testPackage = "dataclasses" - val codeGenConfig = getBaseCodeGenConfig(testPackage, testCaseName) - codeGenConfig.typeMapping = - when (testCaseName) { - "dataClassWithMappedTypes" -> - mapOf( - "Long" to "java.lang.Long", - "DateTime" to "java.time.OffsetDateTime", - "PageInfo" to "graphql.relay.PageInfo", - "EntityConnection" to - "graphql.relay.SimpleListConnection", - ) - "dataClassWithMappedInterfaces" -> - mapOf( - "Node" to "com.netflix.graphql.dgs.codegen.java.fixtures.Node", - ) - else -> emptyMap() - } - - runTest(testPackage, testCaseName, codeGenConfig) - } - - @ParameterizedTest - @MethodSource("enumsTestCases") - fun testCodeGen_enums(testCaseName: String) { - val testPackage = "enums" - val codeGenConfig = getBaseCodeGenConfig(testPackage, testCaseName) - runTest(testPackage, testCaseName, codeGenConfig) - } - - @ParameterizedTest - @MethodSource("inputsTestCases") - fun testCodeGen_inputs(testCaseName: String) { - val testPackage = "inputs" - val codeGenConfig = getBaseCodeGenConfig(testPackage, testCaseName) - codeGenConfig.typeMapping = - when (testCaseName) { - "inputWithDefaultBigDecimal" -> - mapOf( - "Decimal" to "java.math.BigDecimal", - ) - "inputWithDefaultCurrency" -> - mapOf( - "Currency" to "java.util.Currency", - ) - else -> emptyMap() - } - - runTest(testPackage, testCaseName, codeGenConfig) - } - - @ParameterizedTest - @MethodSource("interfacesTestCases") - fun testCodeGen_interfaces(testCaseName: String) { - val testPackage = "interfaces" - val codeGenConfig = getBaseCodeGenConfig(testPackage, testCaseName) - runTest(testPackage, testCaseName, codeGenConfig) - } - - @ParameterizedTest - @MethodSource("miscTestCases") - fun testCodeGen_misc(testCaseName: String) { - val testPackage = "misc" - val codeGenConfig = getBaseCodeGenConfig(testPackage, testCaseName) - runTest(testPackage, testCaseName, codeGenConfig) - } - - @ParameterizedTest - @MethodSource("projectionsTestCases") - fun testCodeGen_projections(testCaseName: String) { - val testPackage = "projections" - val codeGenConfig = getBaseCodeGenConfig(testPackage, testCaseName) - runTest(testPackage, testCaseName, codeGenConfig) - } - - @ParameterizedTest - @MethodSource("unionsTestCases") - fun testCodeGen_unions(testCaseName: String) { - val testPackage = "unions" - val codeGenConfig = getBaseCodeGenConfig(testPackage, testCaseName) - runTest(testPackage, testCaseName, codeGenConfig) + @MethodSource("listTestsToRun") + fun testCodeGen(testCase: String) { + val codeGenResult = + CodeGen( + CodeGenConfig( + schemas = setOf(casesRoot.resolve("$testCase/schema.graphql").readText()), + packageName = "com.netflix.graphql.dgs.codegen.java.testcases.${testCase.replace('/', '.')}.expected", + language = Language.JAVA, + generateClientApi = true, + typeMapping = + when (testCase) { + "dataclasses/dataClassWithMappedTypes" -> + mapOf( + "Long" to "java.lang.Long", + "DateTime" to "java.time.OffsetDateTime", + "PageInfo" to "graphql.relay.PageInfo", + "EntityConnection" to + "graphql.relay.SimpleListConnection", + ) + "dataclasses/dataClassWithMappedInterfaces" -> + mapOf( + "Node" to "com.netflix.graphql.dgs.codegen.java.fixtures.Node", + ) + "inputs/inputWithDefaultBigDecimal" -> + mapOf( + "Decimal" to "java.math.BigDecimal", + ) + "inputs/inputWithDefaultCurrency" -> + mapOf( + "Currency" to "java.util.Currency", + ) + else -> emptyMap() + }, + ), + ).generate() + + assertGeneratedSourcesMatchSnapshot( + casesRoot.resolve("$testCase/expected"), + codeGenResult.javaSources().map { + sourceRoot.resolve(it.packageName().replace('.', '/')).resolve("${it.typeSpec().name()}.java") to it.toString() + }, + updateExpected, + ) + assertCompilesJava(codeGenResult) } @Test @@ -135,135 +81,11 @@ class JavaCodeGenTest { assertThat(updateExpected).isFalse() } - private fun runTest( - testPackage: String, - testCaseName: String, - codeGenConfig: CodeGenConfig, - ) { - val codeGenResult = CodeGen(codeGenConfig).generate() - - val generatedFilePathAndContentPairs = - codeGenResult - .javaSources() - .map { - val generatedFilePath = - "${it.packageName()}.${it.typeSpec().name()}" - .replace(".", "/") - .plus(".java") - - generatedFilePath to it.toString() - } - - // fail if any file was defined twice - generatedFilePathAndContentPairs - .groupingBy { it.first } - .eachCount() - .filterValues { it > 1 } - .keys - .forEach { fail("Generated duplicate file: $it") } - - val expectedFileContentByPath = - listAllFiles("$testPackage/$testCaseName/expected") - .associate { - val relativePath = getTestsSourceTreeAbsolutePath().relativize(it).toString() - relativePath to it.readText() - } - - // fail if any file was expected that's not generated - expectedFileContentByPath - .keys - .subtract(generatedFilePathAndContentPairs.map { it.first }.toSet()) - .forEach { fail("Missing expected file: $it") } - - generatedFilePathAndContentPairs.forEach { (generatedFilePath, generatedContent) -> - if (updateExpected) { - writeExpected(generatedFilePath, generatedContent) - } else { - val expectedContent = expectedFileContentByPath[generatedFilePath] - assertThat(generatedContent).isEqualTo(expectedContent) - } - } - - assertCompilesJava(codeGenResult) - } - companion object { - @JvmStatic - fun listTestsToRunForPackage(testPackageName: String): List = - getAbsolutePath(testPackageName) - .listDirectoryEntries() - .map { it.getName(it.nameCount.dec()).toString() } - .sorted() - - @JvmStatic - fun constantsTestCases(): List = listTestsToRunForPackage("constants") - - @JvmStatic - fun dataClassesTestCases(): List = listTestsToRunForPackage("dataclasses") - - @JvmStatic - fun enumsTestCases(): List = listTestsToRunForPackage("enums") - - @JvmStatic - fun inputsTestCases(): List = listTestsToRunForPackage("inputs") + private val sourceRoot = Path.of("src/integTest/java") + private val casesRoot = sourceRoot.resolve("com/netflix/graphql/dgs/codegen/java/testcases") @JvmStatic - fun interfacesTestCases(): List = listTestsToRunForPackage("interfaces") - - @JvmStatic - fun miscTestCases(): List = listTestsToRunForPackage("misc") - - @JvmStatic - fun projectionsTestCases(): List = listTestsToRunForPackage("projections") - - @JvmStatic - fun unionsTestCases(): List = listTestsToRunForPackage("unions") - - private fun getBaseCodeGenConfig( - testPackage: String, - testCaseName: String, - ): CodeGenConfig { - val schema = readFileContent("$testPackage/$testCaseName/schema.graphql") - return CodeGenConfig( - schemas = setOf(schema), - packageName = "com.netflix.graphql.dgs.codegen.java.testcases.$testPackage.$testCaseName.expected", - language = Language.JAVA, - generateClientApi = true, - ) - } - - private fun getAbsolutePath(suffix: String): Path { - val projectDirAbsolutePath = Paths.get("").toAbsolutePath().toString() - return Paths.get(projectDirAbsolutePath, "/src/integTest/java/com/netflix/graphql/dgs/codegen/java/testcases/$suffix") - } - - private fun getTestsSourceTreeAbsolutePath(): Path { - val projectDirAbsolutePath = Paths.get("").toAbsolutePath().toString() - return Paths.get(projectDirAbsolutePath, "/src/integTest/java") - } - - private fun listAllFiles(suffix: String): List { - val path = getAbsolutePath(suffix) - if (!path.exists()) return emptyList() - return Files - .walk(path) - .filter { Files.isRegularFile(it) } - .collect(Collectors.toList()) - } - - private fun readFileContent(fileName: String): String = getAbsolutePath(fileName).readText() - - private fun writeExpected( - fileName: String, - content: String, - ) { - val path = getTestsSourceTreeAbsolutePath().resolve(fileName) - - if (!path.exists()) { - path.parent.createDirectories() - } - - path.toFile().writeText(content) - } + fun listTestsToRun(): List = listSnapshotTestCases(casesRoot) } } diff --git a/graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/Kotlin2CodeGenTest.kt b/graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/Kotlin2CodeGenTest.kt index 4c5b85d09..147399f42 100644 --- a/graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/Kotlin2CodeGenTest.kt +++ b/graphql-dgs-codegen-core/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/Kotlin2CodeGenTest.kt @@ -20,18 +20,11 @@ package com.netflix.graphql.dgs.codegen import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import org.assertj.core.api.Assertions.assertThat -import org.assertj.core.api.Assertions.fail import org.junit.jupiter.api.Test import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.MethodSource import java.net.URLClassLoader -import java.nio.file.Files import java.nio.file.Path -import java.nio.file.Paths -import java.util.stream.Collectors -import kotlin.io.path.createDirectories -import kotlin.io.path.exists -import kotlin.io.path.listDirectoryEntries import kotlin.io.path.readText class Kotlin2CodeGenTest { @@ -42,7 +35,7 @@ class Kotlin2CodeGenTest { @ParameterizedTest @MethodSource("listTestsToRun") fun testCodeGen(testName: String) { - val schema = readResource("/$testName/schema.graphql") + val schema = casesRoot.resolve("$testName/schema.graphql").readText() val codeGenResult = CodeGen( @@ -80,39 +73,13 @@ class Kotlin2CodeGenTest { ), ).generate() - val fileNames = - codeGenResult - .kotlinSources() - .groupingBy { it.packageName.substringAfterLast('.') to it.name } - .eachCount() - - // fail if any file was defined twice - fileNames - .filterValues { it > 1 } - .keys - .forEach { fail("Duplicate file: ${it.first}.${it.second}") } - - // fail if any file was expected that's not generated - listAllFiles("/$testName/expected") - .map { - it.getName(it.nameCount - 2).toString() to it.getName(it.nameCount - 1).toString().removeSuffix(".kt") - }.toSet() - .subtract(fileNames.keys) - .forEach { fail("Missing expected file: ${it.first}.${it.second}") } - - codeGenResult.kotlinSources().forEach { spec -> - - val type = spec.packageName.substringAfterLast("expected").trimStart('.') - val fileName = "/$testName/expected/$type/${spec.name}.kt" - val actual = spec.toString() - - if (updateExpected) { - writeExpected(fileName, actual) - } else { - assertThat(actual).isEqualTo(readResource(fileName)) - } - } - + assertGeneratedSourcesMatchSnapshot( + casesRoot.resolve("$testName/expected"), + codeGenResult.kotlinSources().map { + sourceRoot.resolve(it.packageName.replace('.', '/')).resolve("${it.name}.kt") to it.toString() + }, + updateExpected, + ) assertCompilesKotlin(codeGenResult) } @@ -334,41 +301,11 @@ class Kotlin2CodeGenTest { } companion object { + private val sourceRoot = Path.of("src/integTest/kotlin") + private val casesRoot = sourceRoot.resolve("com/netflix/graphql/dgs/codegen/cases") + @Suppress("unused") @JvmStatic - fun listTestsToRun(): List = - getAbsolutePath("") - .listDirectoryEntries() - .map { it.getName(it.nameCount.dec()).toString() } - .sorted() - - private fun getAbsolutePath(suffix: String): Path { - val projectDirAbsolutePath = Paths.get("").toAbsolutePath().toString() - return Paths.get(projectDirAbsolutePath, "/src/integTest/kotlin/com/netflix/graphql/dgs/codegen/cases/$suffix") - } - - private fun listAllFiles(suffix: String): List { - val path = getAbsolutePath(suffix) - if (!path.exists()) return emptyList() - return Files - .walk(path) - .filter { Files.isRegularFile(it) } - .collect(Collectors.toList()) - } - - private fun readResource(fileName: String): String = getAbsolutePath(fileName).readText() - - private fun writeExpected( - fileName: String, - content: String, - ) { - val path = getAbsolutePath(fileName) - - if (!path.exists()) { - path.parent.createDirectories() - } - - path.toFile().writeText(content) - } + fun listTestsToRun(): List = listSnapshotTestCases(casesRoot) } }