diff --git a/src/main/java/graphql/schema/GraphQLSchema.java b/src/main/java/graphql/schema/GraphQLSchema.java index e7026ad6c3..c36df39b36 100644 --- a/src/main/java/graphql/schema/GraphQLSchema.java +++ b/src/main/java/graphql/schema/GraphQLSchema.java @@ -18,7 +18,6 @@ import graphql.schema.validation.InvalidSchemaException; import graphql.schema.validation.SchemaValidationError; import graphql.schema.validation.SchemaValidator; -import graphql.schema.visibility.GraphqlFieldVisibility; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -412,16 +411,6 @@ public GraphQLObjectType getSubscriptionType() { return subscriptionType; } - /** - * @return the field visibility - * - * @deprecated use {@link GraphQLCodeRegistry#getFieldVisibility()} instead - */ - @Deprecated(since = "2018-12-03") - public GraphqlFieldVisibility getFieldVisibility() { - return codeRegistry.getFieldVisibility(); - } - /** * This returns the list of directives definitions that are associated with this schema object including * built in ones. @@ -451,7 +440,6 @@ public GraphQLDirective getDirective(String directiveName) { } - /** * This returns the list of directives that have been explicitly applied to the * schema object. Note that {@link #getDirectives()} will return @@ -729,19 +717,6 @@ public Builder subscription(GraphQLObjectType subscriptionType) { return this; } - /** - * @param fieldVisibility the field visibility - * - * @return this builder - * - * @deprecated use {@link graphql.schema.GraphQLCodeRegistry.Builder#fieldVisibility(graphql.schema.visibility.GraphqlFieldVisibility)} instead - */ - @Deprecated(since = "2018-12-03") - public Builder fieldVisibility(GraphqlFieldVisibility fieldVisibility) { - this.codeRegistry = this.codeRegistry.transform(builder -> builder.fieldVisibility(fieldVisibility)); - return this; - } - public Builder codeRegistry(GraphQLCodeRegistry codeRegistry) { this.codeRegistry = codeRegistry; return this; @@ -857,35 +832,6 @@ public Builder introspectionSchemaType(GraphQLObjectType introspectionSchemaType return this; } - /** - * Builds the schema - * - * @param additionalTypes - please don't use this anymore - * - * @return the built schema - * - * @deprecated - Use the {@link #additionalType(GraphQLType)} methods - */ - @Deprecated(since = "2018-07-30") - public GraphQLSchema build(Set additionalTypes) { - return additionalTypes(additionalTypes).build(); - } - - /** - * Builds the schema - * - * @param additionalTypes - please don't use this anymore - * @param additionalDirectives - please don't use this anymore - * - * @return the built schema - * - * @deprecated - Use the {@link #additionalType(GraphQLType)} and {@link #additionalDirective(GraphQLDirective)} methods - */ - @Deprecated(since = "2018-07-30") - public GraphQLSchema build(Set additionalTypes, Set additionalDirectives) { - return additionalTypes(additionalTypes).additionalDirectives(additionalDirectives).build(); - } - /** * Builds the schema * @@ -935,7 +881,7 @@ private GraphQLSchema buildImpl() { private GraphQLSchema validateSchema(GraphQLSchema graphQLSchema) { Collection errors = new SchemaValidator().validateSchema(graphQLSchema); - if (errors.size() > 0) { + if (!errors.isEmpty()) { throw new InvalidSchemaException(errors); } return graphQLSchema; diff --git a/src/main/java/graphql/validation/TraversalContext.java b/src/main/java/graphql/validation/TraversalContext.java index 93bbdb62e6..d9d93af7f1 100644 --- a/src/main/java/graphql/validation/TraversalContext.java +++ b/src/main/java/graphql/validation/TraversalContext.java @@ -178,7 +178,7 @@ private void enterImpl(ObjectField objectField) { GraphQLInputObjectField inputField = null; if (objectType instanceof GraphQLInputObjectType) { GraphQLInputObjectType inputObjectType = (GraphQLInputObjectType) objectType; - inputField = schema.getFieldVisibility().getFieldDefinition(inputObjectType, objectField.getName()); + inputField = schema.getCodeRegistry().getFieldVisibility().getFieldDefinition(inputObjectType, objectField.getName()); if (inputField != null) { inputType = inputField.getType(); } @@ -337,7 +337,7 @@ private GraphQLFieldDefinition getFieldDef(GraphQLSchema schema, GraphQLType par return schema.getIntrospectionTypenameFieldDefinition(); } if (parentType instanceof GraphQLFieldsContainer) { - return schema.getFieldVisibility().getFieldDefinition((GraphQLFieldsContainer) parentType, field.getName()); + return schema.getCodeRegistry().getFieldVisibility().getFieldDefinition((GraphQLFieldsContainer) parentType, field.getName()); } return null; } diff --git a/src/test/groovy/graphql/schema/visibility/GraphqlFieldVisibilityTest.groovy b/src/test/groovy/graphql/schema/visibility/GraphqlFieldVisibilityTest.groovy index 9f3e083977..e292cffb9a 100644 --- a/src/test/groovy/graphql/schema/visibility/GraphqlFieldVisibilityTest.groovy +++ b/src/test/groovy/graphql/schema/visibility/GraphqlFieldVisibilityTest.groovy @@ -26,37 +26,6 @@ import static graphql.schema.visibility.NoIntrospectionGraphqlFieldVisibility.NO class GraphqlFieldVisibilityTest extends Specification { - def "visibility is enforced"() { - GraphqlFieldVisibility banNameVisibility = newBlock().addPattern(".*\\.name").build() - def schema = GraphQLSchema.newSchema() - .query(StarWarsSchema.queryType) - .codeRegistry(StarWarsSchema.codeRegistry) - .fieldVisibility(banNameVisibility) // Retain deprecated builder for test coverage - .build() - - def graphQL = GraphQL.newGraphQL(schema).build() - - given: - def query = """ - { - hero { - id - name - friends { - aliasHandled: name - } - } - } - """ - - when: - def result = graphQL.execute(query) - - then: - result.errors[0].getMessage().contains("Field 'name' in type 'Character' is undefined") - result.errors[1].getMessage().contains("Field 'name' in type 'Character' is undefined") - } - def "introspection visibility is enforced"() { given: GraphQLCodeRegistry codeRegistry = StarWarsSchema.codeRegistry.transform(builder -> {