Skip to content

Commit f701364

Browse files
authored
Revert "feat: Support custom field sorter generated by ServiceSDLPrinter service SDL" (#447)
Unfortunately `RuntimeWiring` specifies different default comparator than the default one used by the `SchemaPrinter`. Reverts #445
1 parent 051937e commit f701364

File tree

3 files changed

+11
-38
lines changed

3 files changed

+11
-38
lines changed

graphql-java-support/src/main/java/com/apollographql/federation/graphqljava/Federation.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,7 @@ public static SchemaTransformer transform(
8888
final GraphQLSchema schema =
8989
new SchemaGenerator()
9090
.makeExecutableSchema(generatorOptions, typeRegistry, federatedRuntimeWiring);
91-
return transform(schema, queryTypeShouldBeEmpty)
92-
.setFederation2(importedDefinitions != null)
93-
.setSchemaPrinterComparatorRegistry(federatedRuntimeWiring.getComparatorRegistry());
91+
return transform(schema, queryTypeShouldBeEmpty).setFederation2(importedDefinitions != null);
9492
}
9593

9694
public static SchemaTransformer transform(final TypeDefinitionRegistry typeRegistry) {

graphql-java-support/src/main/java/com/apollographql/federation/graphqljava/SchemaTransformer.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,12 @@
2020
import graphql.schema.GraphQLObjectType;
2121
import graphql.schema.GraphQLSchema;
2222
import graphql.schema.GraphQLType;
23-
import graphql.schema.GraphqlTypeComparatorRegistry;
2423
import graphql.schema.TypeResolver;
2524
import graphql.schema.idl.errors.SchemaProblem;
2625
import java.util.ArrayList;
2726
import java.util.HashSet;
2827
import java.util.List;
2928
import java.util.Set;
30-
import java.util.Optional;
3129
import java.util.function.Predicate;
3230
import java.util.stream.Collectors;
3331
import org.jetbrains.annotations.NotNull;
@@ -41,7 +39,6 @@ public final class SchemaTransformer {
4139
private DataFetcherFactory entitiesDataFetcherFactory = null;
4240
private Coercing coercingForAny = _Any.type.getCoercing();
4341
private boolean isFederation2 = false;
44-
private GraphqlTypeComparatorRegistry comparatorRegistry;
4542

4643
SchemaTransformer(GraphQLSchema originalSchema, boolean queryTypeShouldBeEmpty) {
4744
this.originalSchema = originalSchema;
@@ -78,11 +75,6 @@ public SchemaTransformer setFederation2(boolean isFederation2) {
7875
return this;
7976
}
8077

81-
public SchemaTransformer setSchemaPrinterComparatorRegistry(GraphqlTypeComparatorRegistry comparatorRegistry) {
82-
this.comparatorRegistry = comparatorRegistry;
83-
return this;
84-
}
85-
8678
@NotNull
8779
public GraphQLSchema build() throws SchemaProblem {
8880
// Make new Schema
@@ -115,10 +107,7 @@ public GraphQLSchema build() throws SchemaProblem {
115107
(DataFetcher<Object>) environment -> serviceObject);
116108
final String sdl;
117109
if (isFederation2) {
118-
GraphQLSchema generatingSource = newSchema.codeRegistry(newCodeRegistry.build( )).build( );
119-
sdl = Optional.ofNullable(this.comparatorRegistry)
120-
.map(customizer -> generateServiceSDLV2(generatingSource, customizer))
121-
.orElse(generateServiceSDLV2(generatingSource));
110+
sdl = generateServiceSDLV2(newSchema.codeRegistry(newCodeRegistry.build()).build());
122111
} else {
123112
// For Federation1, we filter out the federation definitions
124113
sdl = sdl(originalSchema, queryTypeShouldBeEmpty);

graphql-java-support/src/main/java/com/apollographql/federation/graphqljava/printer/ServiceSDLPrinter.java

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
import graphql.schema.GraphQLNamedSchemaElement;
1313
import graphql.schema.GraphQLSchema;
1414
import graphql.schema.GraphQLSchemaElement;
15-
import graphql.schema.GraphqlTypeComparatorRegistry;
16-
import graphql.schema.DefaultGraphqlTypeComparatorRegistry;
1715
import graphql.schema.idl.DirectiveInfo;
1816
import graphql.schema.idl.SchemaPrinter;
1917
import graphql.schema.visibility.GraphqlFieldVisibility;
@@ -125,29 +123,17 @@ public GraphQLFieldDefinition getFieldDefinition(
125123
* @return SDL compatible with Federation v2
126124
*/
127125
public static String generateServiceSDLV2(GraphQLSchema schema) {
128-
return generateServiceSDLV2(schema, DefaultGraphqlTypeComparatorRegistry.defaultComparators());
129-
}
130-
131-
/**
132-
* Generate service SDL compatible with Federation v2 specification.
133-
*
134-
* @param schema target schema
135-
* @param comparatorRegistry custom schema element comparator for controlling print order
136-
* @return SDL compatible with Federation v2
137-
*/
138-
public static String generateServiceSDLV2(GraphQLSchema schema, GraphqlTypeComparatorRegistry comparatorRegistry) {
139126
// federation v2 SDL does not need to filter federation directive definitions
140127
final Predicate<GraphQLSchemaElement> excludeBuiltInDirectiveDefinitions =
141-
element ->
142-
!(element instanceof GraphQLDirective
143-
&& DirectiveInfo.isGraphqlSpecifiedDirective((GraphQLDirective) element));
128+
element ->
129+
!(element instanceof GraphQLDirective
130+
&& DirectiveInfo.isGraphqlSpecifiedDirective((GraphQLDirective) element));
144131
return new SchemaPrinter(
145-
SchemaPrinter.Options.defaultOptions()
146-
.includeSchemaDefinition(true)
147-
.includeScalarTypes(true)
148-
.includeSchemaElement(excludeBuiltInDirectiveDefinitions)
149-
.setComparators(comparatorRegistry))
150-
.print(schema)
151-
.trim();
132+
SchemaPrinter.Options.defaultOptions()
133+
.includeSchemaDefinition(true)
134+
.includeScalarTypes(true)
135+
.includeSchemaElement(excludeBuiltInDirectiveDefinitions))
136+
.print(schema)
137+
.trim();
152138
}
153139
}

0 commit comments

Comments
 (0)