From f44ecf30693cdeb076cdd424693d5a3ee32954e1 Mon Sep 17 00:00:00 2001 From: Jonathan D'Orleans Date: Sat, 16 Sep 2017 02:25:39 -0400 Subject: [PATCH 1/2] - Improving exception for duplicated field definition --- src/main/java/graphql/schema/GraphQLInterfaceType.java | 3 ++- src/main/java/graphql/schema/GraphQLObjectType.java | 5 ++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/graphql/schema/GraphQLInterfaceType.java b/src/main/java/graphql/schema/GraphQLInterfaceType.java index df4ab08764..8eebd378e9 100644 --- a/src/main/java/graphql/schema/GraphQLInterfaceType.java +++ b/src/main/java/graphql/schema/GraphQLInterfaceType.java @@ -13,6 +13,7 @@ import static graphql.Assert.assertNotNull; import static graphql.Assert.assertValidName; +import static java.lang.String.format; @PublicApi public class GraphQLInterfaceType implements GraphQLType, GraphQLOutputType, GraphQLFieldsContainer, GraphQLCompositeType, GraphQLUnmodifiedType, GraphQLNullableType { @@ -44,7 +45,7 @@ private void buildDefinitionMap(List fieldDefinitions) { for (GraphQLFieldDefinition fieldDefinition : fieldDefinitions) { String name = fieldDefinition.getName(); if (fieldDefinitionsByName.containsKey(name)) - throw new AssertException("field " + name + " redefined"); + throw new AssertException(format("Duplicated definition for field '%s' in interface '%s'", name, this.name)); fieldDefinitionsByName.put(name, fieldDefinition); } } diff --git a/src/main/java/graphql/schema/GraphQLObjectType.java b/src/main/java/graphql/schema/GraphQLObjectType.java index 17139e9172..f8a79f5074 100644 --- a/src/main/java/graphql/schema/GraphQLObjectType.java +++ b/src/main/java/graphql/schema/GraphQLObjectType.java @@ -14,6 +14,7 @@ import static graphql.Assert.assertNotNull; import static graphql.Assert.assertValidName; +import static java.lang.String.format; @PublicApi @@ -55,7 +56,7 @@ private void buildDefinitionMap(List fieldDefinitions) { for (GraphQLFieldDefinition fieldDefinition : fieldDefinitions) { String name = fieldDefinition.getName(); if (fieldDefinitionsByName.containsKey(name)) - throw new AssertException("field " + name + " redefined"); + throw new AssertException(format("Duplicated definition for field '%s' in type '%s'", name, this.name)); fieldDefinitionsByName.put(name, fieldDefinition); } } @@ -145,7 +146,6 @@ public Builder field(GraphQLFieldDefinition fieldDefinition) { * * * @param builderFunction a supplier for the builder impl - * * @return this */ public Builder field(UnaryOperator builderFunction) { @@ -160,7 +160,6 @@ public Builder field(UnaryOperator builderFuncti * from within * * @param builder an un-built/incomplete GraphQLFieldDefinition - * * @return this */ public Builder field(GraphQLFieldDefinition.Builder builder) { From 3261b8cc81f25a47abd8965f6f5cc62bab3eadd9 Mon Sep 17 00:00:00 2001 From: Jonathan D'Orleans Date: Sat, 16 Sep 2017 12:39:56 -0400 Subject: [PATCH 2/2] #714 - Improving exception for duplicated field definition - Adding javadoc empty line back --- src/main/java/graphql/schema/GraphQLObjectType.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/graphql/schema/GraphQLObjectType.java b/src/main/java/graphql/schema/GraphQLObjectType.java index f8a79f5074..d203150321 100644 --- a/src/main/java/graphql/schema/GraphQLObjectType.java +++ b/src/main/java/graphql/schema/GraphQLObjectType.java @@ -146,6 +146,7 @@ public Builder field(GraphQLFieldDefinition fieldDefinition) { * * * @param builderFunction a supplier for the builder impl + * * @return this */ public Builder field(UnaryOperator builderFunction) { @@ -160,6 +161,7 @@ public Builder field(UnaryOperator builderFuncti * from within * * @param builder an un-built/incomplete GraphQLFieldDefinition + * * @return this */ public Builder field(GraphQLFieldDefinition.Builder builder) {