Skip to content

Commit 6d9a8a2

Browse files
committed
Forward compatibility with GraphQL Java 21
Closes gh-974
1 parent 33bdea9 commit 6d9a8a2

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ description = "Spring for GraphQL"
33
ext {
44
moduleProjects = [project(":spring-graphql"), project(":spring-graphql-test")]
55
springFrameworkVersion = "6.0.18"
6-
graphQlJavaVersion = "20.9"
6+
graphQlJavaVersion = "21.5"
77
springBootVersion = "3.1.5"
88
}
99

spring-graphql/src/main/java/org/springframework/graphql/data/pagination/ConnectionFieldTypeVisitor.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import graphql.relay.Edge;
3333
import graphql.schema.DataFetcher;
3434
import graphql.schema.DataFetchingEnvironment;
35+
import graphql.schema.FieldCoordinates;
3536
import graphql.schema.GraphQLCodeRegistry;
3637
import graphql.schema.GraphQLFieldDefinition;
3738
import graphql.schema.GraphQLFieldsContainer;
@@ -85,7 +86,8 @@ public TraversalControl visitGraphQLFieldDefinition(
8586
GraphQLCodeRegistry.Builder codeRegistry = context.getVarFromParents(GraphQLCodeRegistry.Builder.class);
8687

8788
GraphQLFieldsContainer parent = (GraphQLFieldsContainer) context.getParentNode();
88-
DataFetcher<?> dataFetcher = codeRegistry.getDataFetcher(parent, fieldDefinition);
89+
FieldCoordinates fieldCoordinates = FieldCoordinates.coordinates(parent, fieldDefinition);
90+
DataFetcher<?> dataFetcher = codeRegistry.getDataFetcher(fieldCoordinates, fieldDefinition);
8991

9092
if (visitorHelper != null && isUnderSubscriptionOperation(visitorHelper, context)) {
9193
return TraversalControl.CONTINUE;
@@ -101,7 +103,7 @@ public TraversalControl visitGraphQLFieldDefinition(
101103
}
102104
else {
103105
dataFetcher = new ConnectionDataFetcher(dataFetcher, this.adapter);
104-
codeRegistry.dataFetcher(parent, fieldDefinition, dataFetcher);
106+
codeRegistry.dataFetcher(fieldCoordinates, dataFetcher);
105107
}
106108
}
107109

spring-graphql/src/main/java/org/springframework/graphql/execution/ContextDataFetcherDecorator.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import graphql.GraphQLContext;
2323
import graphql.schema.DataFetcher;
2424
import graphql.schema.DataFetchingEnvironment;
25+
import graphql.schema.FieldCoordinates;
2526
import graphql.schema.GraphQLCodeRegistry;
2627
import graphql.schema.GraphQLFieldDefinition;
2728
import graphql.schema.GraphQLFieldsContainer;
@@ -139,12 +140,13 @@ public TraversalControl visitGraphQLFieldDefinition(
139140
GraphQLCodeRegistry.Builder codeRegistry = context.getVarFromParents(GraphQLCodeRegistry.Builder.class);
140141

141142
GraphQLFieldsContainer parent = (GraphQLFieldsContainer) context.getParentNode();
142-
DataFetcher<?> dataFetcher = codeRegistry.getDataFetcher(parent, fieldDefinition);
143+
FieldCoordinates fieldCoordinates = FieldCoordinates.coordinates(parent, fieldDefinition);
144+
DataFetcher<?> dataFetcher = codeRegistry.getDataFetcher(fieldCoordinates, fieldDefinition);
143145

144146
if (applyDecorator(dataFetcher)) {
145147
boolean handlesSubscription = visitorHelper.isSubscriptionType(parent);
146148
dataFetcher = new ContextDataFetcherDecorator(dataFetcher, handlesSubscription, this.exceptionResolver);
147-
codeRegistry.dataFetcher(parent, fieldDefinition, dataFetcher);
149+
codeRegistry.dataFetcher(fieldCoordinates, dataFetcher);
148150
}
149151

150152
return TraversalControl.CONTINUE;

0 commit comments

Comments
 (0)