Skip to content

Commit c62092e

Browse files
authored
Merge pull request #132 from graphql-java/fix-extension-bug
no need in fielddatafetcher, using property only
2 parents ac526d8 + e7e3d2e commit c62092e

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

src/main/java/graphql/annotations/processor/retrievers/fieldBuilders/field/FieldDataFetcherBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ private DataFetcher handleNullCase(DataFetcher actualDataFetcher) {
8080
}
8181

8282
if (actualDataFetcher == null) {
83-
actualDataFetcher = wrapExtension(new FieldDataFetcher(field.getName()), field);
83+
actualDataFetcher = wrapExtension(new PropertyDataFetcher(field.getName()), field);
8484
}
8585
return actualDataFetcher;
8686
}

src/test/java/graphql/annotations/GraphQLObjectTest.java

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -136,13 +136,22 @@ public String fieldWithNamedArgs(@GraphQLName("namedArg") String firstArgument)
136136
public static class TestMappedObject {
137137
@GraphQLField
138138
public String name;
139+
140+
@GraphQLField
141+
public String aaa;
139142
}
140143

141144
public static class TestObjectDB{
142-
public String name;
145+
public String aaa;
146+
147+
private String name;
148+
149+
public String getName() {
150+
return name;
151+
}
143152

144-
public TestObjectDB(String name) {
145-
this.name = name;
153+
public TestObjectDB(String name, String aaa) {
154+
this.name = name; this.aaa=aaa;
146155
}
147156
}
148157

@@ -156,7 +165,7 @@ public static class ObjectFetcher implements DataFetcher<TestObjectDB> {
156165

157166
@Override
158167
public TestObjectDB get(DataFetchingEnvironment environment) {
159-
return new TestObjectDB("test");
168+
return new TestObjectDB("test", "test");
160169
}
161170
}
162171

@@ -165,9 +174,10 @@ public void fetchTestMappedObject_assertNameIsMappedFromDBObject(){
165174
GraphQLObjectType object = GraphQLAnnotations.object(TestQuery.class);
166175
GraphQLSchema schema = newSchema().query(object).build();
167176

168-
ExecutionResult result = GraphQL.newGraphQL(schema).build().execute("{object {name}}");
177+
ExecutionResult result = GraphQL.newGraphQL(schema).build().execute("{object {name aaa}}");
169178
assertTrue(result.getErrors().isEmpty());
170179
assertEquals(((LinkedHashMap)(((LinkedHashMap)result.getData()).get("object"))).get("name"), "test");
180+
assertEquals(((LinkedHashMap)(((LinkedHashMap)result.getData()).get("object"))).get("aaa"), "test");
171181
}
172182

173183
@Test
@@ -244,7 +254,7 @@ public void fields() {
244254
assertEquals(fields.get(6).getName(), "publicTest");
245255

246256
assertEquals(fields.get(5).getDataFetcher().getClass(), PropertyDataFetcher.class);
247-
assertEquals(fields.get(6).getDataFetcher().getClass(), FieldDataFetcher.class);
257+
assertEquals(fields.get(6).getDataFetcher().getClass(), PropertyDataFetcher.class);
248258

249259
assertEquals(fields.get(7).getName(), "z_nonOptionalString");
250260
assertTrue(fields.get(7).getType() instanceof graphql.schema.GraphQLNonNull);

0 commit comments

Comments
 (0)