Skip to content

Commit be15168

Browse files
authored
Merge pull request #383 from Jimexist/feature/use-lambda
use lambda where possible
2 parents f203c6e + a7cc129 commit be15168

File tree

11 files changed

+206
-363
lines changed

11 files changed

+206
-363
lines changed

src/main/java/graphql/GraphQL.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,7 @@ public class GraphQL {
3232

3333
private static final Logger log = LoggerFactory.getLogger(GraphQL.class);
3434

35-
private static final ExecutionIdProvider DEFAULT_EXECUTION_ID_PROVIDER = new ExecutionIdProvider() {
36-
@Override
37-
public ExecutionId provide(String query, String operationName, Object context) {
38-
return ExecutionId.generate();
39-
}
40-
};
35+
private static final ExecutionIdProvider DEFAULT_EXECUTION_ID_PROVIDER = (query, operationName, context) -> ExecutionId.generate();
4136

4237
private final GraphQLSchema graphQLSchema;
4338
private final ExecutionStrategy queryStrategy;

src/main/java/graphql/execution/ExecutorServiceExecutionStrategy.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,7 @@ public ExecutionResult execute(final ExecutionContext executionContext, final Ex
4545
Map<String, Future<ExecutionResult>> futures = new LinkedHashMap<>();
4646
for (String fieldName : fields.keySet()) {
4747
final List<Field> fieldList = fields.get(fieldName);
48-
Callable<ExecutionResult> resolveField = new Callable<ExecutionResult>() {
49-
@Override
50-
public ExecutionResult call() throws Exception {
51-
return resolveField(executionContext, parameters, fieldList);
52-
53-
}
54-
};
48+
Callable<ExecutionResult> resolveField = () -> resolveField(executionContext, parameters, fieldList);
5549
futures.put(fieldName, executorService.submit(resolveField));
5650
}
5751
try {

src/main/java/graphql/execution/batched/BatchedDataFetcherFactory.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,7 @@ public BatchedDataFetcher create(final DataFetcher supplied) {
2323
Method getMethod = supplied.getClass().getMethod("get", DataFetchingEnvironment.class);
2424
Batched batched = getMethod.getAnnotation(Batched.class);
2525
if (batched != null) {
26-
return new BatchedDataFetcher() {
27-
@Override
28-
public Object get(DataFetchingEnvironment environment) {
29-
return supplied.get(environment);
30-
}
31-
};
26+
return (BatchedDataFetcher) supplied::get;
3227
}
3328
} catch (NoSuchMethodException e) {
3429
throw new IllegalArgumentException(e);

src/main/java/graphql/introspection/Introspection.java

Lines changed: 122 additions & 200 deletions
Large diffs are not rendered by default.

src/test/groovy/graphql/MutationSchema.java

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -73,27 +73,21 @@ public NumberHolder failToChangeTheNumber(int newNumber) {
7373
.argument(newArgument()
7474
.name("newNumber")
7575
.type(GraphQLInt))
76-
.dataFetcher(new DataFetcher() {
77-
@Override
78-
public Object get(DataFetchingEnvironment environment) {
79-
Integer newNumber = environment.getArgument("newNumber");
80-
Root root = (Root) environment.getSource();
81-
return root.changeNumber(newNumber);
82-
}
76+
.dataFetcher(environment -> {
77+
Integer newNumber = environment.getArgument("newNumber");
78+
Root root = (Root) environment.getSource();
79+
return root.changeNumber(newNumber);
8380
}))
8481
.field(newFieldDefinition()
8582
.name("failToChangeTheNumber")
8683
.type(numberHolderType)
8784
.argument(newArgument()
8885
.name("newNumber")
8986
.type(GraphQLInt))
90-
.dataFetcher(new DataFetcher() {
91-
@Override
92-
public Object get(DataFetchingEnvironment environment) {
93-
Integer newNumber = environment.getArgument("newNumber");
94-
Root root = (Root) environment.getSource();
95-
return root.failToChangeTheNumber(newNumber);
96-
}
87+
.dataFetcher(environment -> {
88+
Integer newNumber = environment.getArgument("newNumber");
89+
Root root = (Root) environment.getSource();
90+
return root.failToChangeTheNumber(newNumber);
9791
}))
9892
.build();
9993

src/test/groovy/graphql/NestedInputSchema.java

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -32,30 +32,28 @@ public static GraphQLObjectType rootType() {
3232
.field(GraphQLFieldDefinition.newFieldDefinition()
3333
.name("value")
3434
.type(GraphQLInt)
35-
.dataFetcher(new DataFetcher() {
36-
@Override
37-
public Object get(DataFetchingEnvironment environment) {
38-
Integer initialValue = environment.getArgument("initialValue");
39-
Map<String, Object> filter = environment.getArgument("filter");
40-
if (filter != null) {
41-
if (filter.containsKey("even")) {
42-
Boolean even = (Boolean) filter.get("even");
43-
if (even && (initialValue%2 != 0)) {
44-
return 0;
45-
} else if (!even && (initialValue%2 == 0)) {
46-
return 0;
47-
}
35+
.dataFetcher(environment -> {
36+
Integer initialValue = environment.getArgument("initialValue");
37+
Map<String, Object> filter = environment.getArgument("filter");
38+
if (filter != null) {
39+
if (filter.containsKey("even")) {
40+
Boolean even = (Boolean) filter.get("even");
41+
if (even && (initialValue%2 != 0)) {
42+
return 0;
43+
} else if (!even && (initialValue%2 == 0)) {
44+
return 0;
4845
}
49-
if (filter.containsKey("range")) {
50-
Map<String, Integer> range = (Map<String, Integer>) filter.get("range");
51-
if (initialValue < range.get("lowerBound") ||
52-
initialValue > range.get("upperBound")) {
53-
return 0;
54-
}
46+
}
47+
if (filter.containsKey("range")) {
48+
Map<String, Integer> range = (Map<String, Integer>) filter.get("range");
49+
if (initialValue < range.get("lowerBound") ||
50+
initialValue > range.get("upperBound")) {
51+
return 0;
5552
}
5653
}
57-
return initialValue;
58-
}})
54+
}
55+
return initialValue;
56+
})
5957
.argument(GraphQLArgument.newArgument()
6058
.name("intialValue")
6159
.type(GraphQLInt)

src/test/groovy/graphql/RelaySchema.java

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,10 @@ public class RelaySchema {
2121
.fetchField())
2222
.build();
2323

24-
public static GraphQLInterfaceType NodeInterface = relay.nodeInterface(new TypeResolver() {
25-
@Override
26-
public GraphQLObjectType getType(Object object) {
27-
Relay.ResolvedGlobalId resolvedGlobalId = relay.fromGlobalId((String) object);
28-
//TODO: implement
29-
return null;
30-
}
24+
public static GraphQLInterfaceType NodeInterface = relay.nodeInterface(object -> {
25+
Relay.ResolvedGlobalId resolvedGlobalId = relay.fromGlobalId((String) object);
26+
//TODO: implement
27+
return null;
3128
});
3229

3330
public static GraphQLObjectType StuffEdgeType = relay.edgeType("Stuff", StuffType, NodeInterface, new ArrayList<GraphQLFieldDefinition>());
@@ -48,12 +45,9 @@ public GraphQLObjectType getType(Object object) {
4845

4946
public static GraphQLObjectType RelayQueryType = newObject()
5047
.name("RelayQuery")
51-
.field(relay.nodeField(NodeInterface, new DataFetcher() {
52-
@Override
53-
public Object get(DataFetchingEnvironment environment) {
54-
//TODO: implement
55-
return null;
56-
}
48+
.field(relay.nodeField(NodeInterface, environment -> {
49+
//TODO: implement
50+
return null;
5751
}))
5852
.field(newFieldDefinition()
5953
.name("thing")
@@ -62,12 +56,9 @@ public Object get(DataFetchingEnvironment environment) {
6256
.name("id")
6357
.description("id of the thing")
6458
.type(new GraphQLNonNull(GraphQLString)))
65-
.dataFetcher(new DataFetcher() {
66-
@Override
67-
public Object get(DataFetchingEnvironment environment) {
68-
//TODO: implement
69-
return null;
70-
}
59+
.dataFetcher(environment -> {
60+
//TODO: implement
61+
return null;
7162
}))
7263
.build();
7364

src/test/groovy/graphql/ScalarsQuerySchema.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,7 @@
1212

1313
public class ScalarsQuerySchema {
1414

15-
public static final DataFetcher inputDF = new DataFetcher() {
16-
@Override
17-
public Object get(DataFetchingEnvironment environment) {
18-
return environment.getArgument("input");
19-
}
20-
};
15+
public static final DataFetcher inputDF = environment -> environment.getArgument("input");
2116

2217
public static final GraphQLObjectType queryType = newObject()
2318
.name("QueryType")

src/test/groovy/graphql/execution/batched/FunWithStringsSchemaFactory.java

Lines changed: 35 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -139,70 +139,51 @@ public Object get(DataFetchingEnvironment environment) {
139139
}
140140

141141

142-
private DataFetcher stringObjectValueFetcher = new DataFetcher() {
143-
@Override
144-
public Object get(DataFetchingEnvironment e) {
145-
return "null".equals(e.getSource()) ? null : e.getSource();
146-
}
147-
};
142+
private DataFetcher stringObjectValueFetcher = e -> "null".equals(e.getSource()) ? null : e.getSource();
148143

149-
private DataFetcher shatterFetcher = new DataFetcher() {
150-
@Override
151-
public Object get(DataFetchingEnvironment e) {
152-
String source = (String) e.getSource();
153-
if(source.isEmpty()) {
154-
return null; // trigger error
155-
}
156-
List<String> retVal = new ArrayList<String>();
157-
for (char c: source.toCharArray()) {
158-
retVal.add(Character.toString(c));
159-
}
160-
return retVal;
144+
private DataFetcher shatterFetcher = e -> {
145+
String source = (String) e.getSource();
146+
if(source.isEmpty()) {
147+
return null; // trigger error
148+
}
149+
List<String> retVal = new ArrayList<String>();
150+
for (char c: source.toCharArray()) {
151+
retVal.add(Character.toString(c));
161152
}
153+
return retVal;
162154
};
163155

164-
public DataFetcher wordsAndLettersFetcher = new DataFetcher() {
165-
@Override
166-
public Object get(DataFetchingEnvironment e) {
167-
String source = (String) e.getSource();
168-
List<List<String>> retVal = new ArrayList<List<String>>();
169-
for (String word: source.split(" ")) {
170-
List<String> retItem = new ArrayList<String>();
171-
for (char c: word.toCharArray()) {
172-
retItem.add(Character.toString(c));
173-
}
174-
retVal.add(retItem);
156+
public DataFetcher wordsAndLettersFetcher = e -> {
157+
String source = (String) e.getSource();
158+
List<List<String>> retVal = new ArrayList<List<String>>();
159+
for (String word: source.split(" ")) {
160+
List<String> retItem = new ArrayList<String>();
161+
for (char c: word.toCharArray()) {
162+
retItem.add(Character.toString(c));
175163
}
176-
return retVal;
164+
retVal.add(retItem);
177165
}
166+
return retVal;
178167
};
179168

180-
public DataFetcher splitFetcher = new DataFetcher() {
181-
@Override
182-
public Object get(DataFetchingEnvironment e) {
183-
String regex = e.getArgument("regex");
184-
if (regex == null ) {
185-
return null;
186-
}
187-
String source = (String) e.getSource();
188-
List<String> retVal = new ArrayList<String>();
189-
for (String str: source.split(regex)) {
190-
if (str.isEmpty()) {
191-
retVal.add(null);
192-
} else {
193-
retVal.add(str);
194-
}
169+
public DataFetcher splitFetcher = e -> {
170+
String regex = e.getArgument("regex");
171+
if (regex == null ) {
172+
return null;
173+
}
174+
String source = (String) e.getSource();
175+
List<String> retVal = new ArrayList<String>();
176+
for (String str: source.split(regex)) {
177+
if (str.isEmpty()) {
178+
retVal.add(null);
179+
} else {
180+
retVal.add(str);
195181
}
196-
return retVal;
197182
}
183+
return retVal;
198184
};
199185

200-
public DataFetcher appendFetcher = new DataFetcher() {
201-
@Override
202-
public Object get(DataFetchingEnvironment e) {
203-
return ((String)e.getSource()) + e.getArgument("text");
204-
}
205-
};
186+
public DataFetcher appendFetcher = e -> ((String)e.getSource()) + e.getArgument("text");
206187

207188
public void setWordsAndLettersFetcher(DataFetcher fetcher) {
208189
this.wordsAndLettersFetcher = fetcher;
@@ -296,18 +277,12 @@ GraphQLSchema createSchema() {
296277
.argument(GraphQLArgument.newArgument()
297278
.name("value")
298279
.type(Scalars.GraphQLString))
299-
.dataFetcher(new DataFetcher() {
300-
@Override
301-
public Object get(DataFetchingEnvironment env) {return env.getArgument("value");}
302-
}))
280+
.dataFetcher(env -> env.getArgument("value")))
303281
.name("EnumQuery")
304282
.field(GraphQLFieldDefinition.newFieldDefinition()
305283
.name("nullEnum")
306284
.type(enumDayType)
307-
.dataFetcher(new DataFetcher() {
308-
@Override
309-
public Object get(DataFetchingEnvironment env) {return null;}
310-
}))
285+
.dataFetcher(env -> null))
311286
.build();
312287
return GraphQLSchema.newSchema()
313288
.query(queryType)

src/test/groovy/graphql/validation/SpecValidationSchema.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -134,37 +134,31 @@ public GraphQLObjectType getType(Object object) {
134134
public static final GraphQLUnionType catOrDog = GraphQLUnionType.newUnionType()
135135
.name("CatOrDog")
136136
.possibleTypes(cat, dog)
137-
.typeResolver(new TypeResolver() {
138-
@Override
139-
public GraphQLObjectType getType(Object object) {
137+
.typeResolver(object -> {
140138
if (object instanceof Cat) return cat;
141139
if (object instanceof Dog) return dog;
142140
return null;
143-
}})
141+
})
144142
.build();
145143

146144
public static final GraphQLUnionType dogOrHuman = GraphQLUnionType.newUnionType()
147145
.name("DogOrHuman")
148146
.possibleTypes(dog, human)
149-
.typeResolver(new TypeResolver() {
150-
@Override
151-
public GraphQLObjectType getType(Object object) {
147+
.typeResolver(object -> {
152148
if (object instanceof Human) return human;
153149
if (object instanceof Dog) return dog;
154150
return null;
155-
}})
151+
})
156152
.build();
157153

158154
public static final GraphQLUnionType humanOrAlien = GraphQLUnionType.newUnionType()
159155
.name("HumanOrAlien")
160156
.possibleTypes(human, alien)
161-
.typeResolver(new TypeResolver() {
162-
@Override
163-
public GraphQLObjectType getType(Object object) {
157+
.typeResolver(object -> {
164158
if (object instanceof Human) return human;
165159
if (object instanceof Alien) return alien;
166160
return null;
167-
}})
161+
})
168162
.build();
169163

170164
public static final GraphQLObjectType queryRoot = GraphQLObjectType.newObject()

0 commit comments

Comments
 (0)