Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions src/main/java/graphql/GraphQL.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,7 @@ public class GraphQL {

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

private static final ExecutionIdProvider DEFAULT_EXECUTION_ID_PROVIDER = new ExecutionIdProvider() {
@Override
public ExecutionId provide(String query, String operationName, Object context) {
return ExecutionId.generate();
}
};
private static final ExecutionIdProvider DEFAULT_EXECUTION_ID_PROVIDER = (query, operationName, context) -> ExecutionId.generate();

private final GraphQLSchema graphQLSchema;
private final ExecutionStrategy queryStrategy;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,7 @@ public ExecutionResult execute(final ExecutionContext executionContext, final Ex
Map<String, Future<ExecutionResult>> futures = new LinkedHashMap<>();
for (String fieldName : fields.keySet()) {
final List<Field> fieldList = fields.get(fieldName);
Callable<ExecutionResult> resolveField = new Callable<ExecutionResult>() {
@Override
public ExecutionResult call() throws Exception {
return resolveField(executionContext, parameters, fieldList);

}
};
Callable<ExecutionResult> resolveField = () -> resolveField(executionContext, parameters, fieldList);
futures.put(fieldName, executorService.submit(resolveField));
}
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,7 @@ public BatchedDataFetcher create(final DataFetcher supplied) {
Method getMethod = supplied.getClass().getMethod("get", DataFetchingEnvironment.class);
Batched batched = getMethod.getAnnotation(Batched.class);
if (batched != null) {
return new BatchedDataFetcher() {
@Override
public Object get(DataFetchingEnvironment environment) {
return supplied.get(environment);
}
};
return (BatchedDataFetcher) supplied::get;
}
} catch (NoSuchMethodException e) {
throw new IllegalArgumentException(e);
Expand Down
322 changes: 122 additions & 200 deletions src/main/java/graphql/introspection/Introspection.java

Large diffs are not rendered by default.

22 changes: 8 additions & 14 deletions src/test/groovy/graphql/MutationSchema.java
Original file line number Diff line number Diff line change
Expand Up @@ -73,27 +73,21 @@ public NumberHolder failToChangeTheNumber(int newNumber) {
.argument(newArgument()
.name("newNumber")
.type(GraphQLInt))
.dataFetcher(new DataFetcher() {
@Override
public Object get(DataFetchingEnvironment environment) {
Integer newNumber = environment.getArgument("newNumber");
Root root = (Root) environment.getSource();
return root.changeNumber(newNumber);
}
.dataFetcher(environment -> {
Integer newNumber = environment.getArgument("newNumber");
Root root = (Root) environment.getSource();
return root.changeNumber(newNumber);
}))
.field(newFieldDefinition()
.name("failToChangeTheNumber")
.type(numberHolderType)
.argument(newArgument()
.name("newNumber")
.type(GraphQLInt))
.dataFetcher(new DataFetcher() {
@Override
public Object get(DataFetchingEnvironment environment) {
Integer newNumber = environment.getArgument("newNumber");
Root root = (Root) environment.getSource();
return root.failToChangeTheNumber(newNumber);
}
.dataFetcher(environment -> {
Integer newNumber = environment.getArgument("newNumber");
Root root = (Root) environment.getSource();
return root.failToChangeTheNumber(newNumber);
}))
.build();

Expand Down
40 changes: 19 additions & 21 deletions src/test/groovy/graphql/NestedInputSchema.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,30 +32,28 @@ public static GraphQLObjectType rootType() {
.field(GraphQLFieldDefinition.newFieldDefinition()
.name("value")
.type(GraphQLInt)
.dataFetcher(new DataFetcher() {
@Override
public Object get(DataFetchingEnvironment environment) {
Integer initialValue = environment.getArgument("initialValue");
Map<String, Object> filter = environment.getArgument("filter");
if (filter != null) {
if (filter.containsKey("even")) {
Boolean even = (Boolean) filter.get("even");
if (even && (initialValue%2 != 0)) {
return 0;
} else if (!even && (initialValue%2 == 0)) {
return 0;
}
.dataFetcher(environment -> {
Integer initialValue = environment.getArgument("initialValue");
Map<String, Object> filter = environment.getArgument("filter");
if (filter != null) {
if (filter.containsKey("even")) {
Boolean even = (Boolean) filter.get("even");
if (even && (initialValue%2 != 0)) {
return 0;
} else if (!even && (initialValue%2 == 0)) {
return 0;
}
if (filter.containsKey("range")) {
Map<String, Integer> range = (Map<String, Integer>) filter.get("range");
if (initialValue < range.get("lowerBound") ||
initialValue > range.get("upperBound")) {
return 0;
}
}
if (filter.containsKey("range")) {
Map<String, Integer> range = (Map<String, Integer>) filter.get("range");
if (initialValue < range.get("lowerBound") ||
initialValue > range.get("upperBound")) {
return 0;
}
}
return initialValue;
}})
}
return initialValue;
})
.argument(GraphQLArgument.newArgument()
.name("intialValue")
.type(GraphQLInt)
Expand Down
29 changes: 10 additions & 19 deletions src/test/groovy/graphql/RelaySchema.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,10 @@ public class RelaySchema {
.fetchField())
.build();

public static GraphQLInterfaceType NodeInterface = relay.nodeInterface(new TypeResolver() {
@Override
public GraphQLObjectType getType(Object object) {
Relay.ResolvedGlobalId resolvedGlobalId = relay.fromGlobalId((String) object);
//TODO: implement
return null;
}
public static GraphQLInterfaceType NodeInterface = relay.nodeInterface(object -> {
Relay.ResolvedGlobalId resolvedGlobalId = relay.fromGlobalId((String) object);
//TODO: implement
return null;
});

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

public static GraphQLObjectType RelayQueryType = newObject()
.name("RelayQuery")
.field(relay.nodeField(NodeInterface, new DataFetcher() {
@Override
public Object get(DataFetchingEnvironment environment) {
//TODO: implement
return null;
}
.field(relay.nodeField(NodeInterface, environment -> {
//TODO: implement
return null;
}))
.field(newFieldDefinition()
.name("thing")
Expand All @@ -62,12 +56,9 @@ public Object get(DataFetchingEnvironment environment) {
.name("id")
.description("id of the thing")
.type(new GraphQLNonNull(GraphQLString)))
.dataFetcher(new DataFetcher() {
@Override
public Object get(DataFetchingEnvironment environment) {
//TODO: implement
return null;
}
.dataFetcher(environment -> {
//TODO: implement
return null;
}))
.build();

Expand Down
7 changes: 1 addition & 6 deletions src/test/groovy/graphql/ScalarsQuerySchema.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,7 @@

public class ScalarsQuerySchema {

public static final DataFetcher inputDF = new DataFetcher() {
@Override
public Object get(DataFetchingEnvironment environment) {
return environment.getArgument("input");
}
};
public static final DataFetcher inputDF = environment -> environment.getArgument("input");

public static final GraphQLObjectType queryType = newObject()
.name("QueryType")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,70 +139,51 @@ public Object get(DataFetchingEnvironment environment) {
}


private DataFetcher stringObjectValueFetcher = new DataFetcher() {
@Override
public Object get(DataFetchingEnvironment e) {
return "null".equals(e.getSource()) ? null : e.getSource();
}
};
private DataFetcher stringObjectValueFetcher = e -> "null".equals(e.getSource()) ? null : e.getSource();

private DataFetcher shatterFetcher = new DataFetcher() {
@Override
public Object get(DataFetchingEnvironment e) {
String source = (String) e.getSource();
if(source.isEmpty()) {
return null; // trigger error
}
List<String> retVal = new ArrayList<String>();
for (char c: source.toCharArray()) {
retVal.add(Character.toString(c));
}
return retVal;
private DataFetcher shatterFetcher = e -> {
String source = (String) e.getSource();
if(source.isEmpty()) {
return null; // trigger error
}
List<String> retVal = new ArrayList<String>();
for (char c: source.toCharArray()) {
retVal.add(Character.toString(c));
}
return retVal;
};

public DataFetcher wordsAndLettersFetcher = new DataFetcher() {
@Override
public Object get(DataFetchingEnvironment e) {
String source = (String) e.getSource();
List<List<String>> retVal = new ArrayList<List<String>>();
for (String word: source.split(" ")) {
List<String> retItem = new ArrayList<String>();
for (char c: word.toCharArray()) {
retItem.add(Character.toString(c));
}
retVal.add(retItem);
public DataFetcher wordsAndLettersFetcher = e -> {
String source = (String) e.getSource();
List<List<String>> retVal = new ArrayList<List<String>>();
for (String word: source.split(" ")) {
List<String> retItem = new ArrayList<String>();
for (char c: word.toCharArray()) {
retItem.add(Character.toString(c));
}
return retVal;
retVal.add(retItem);
}
return retVal;
};

public DataFetcher splitFetcher = new DataFetcher() {
@Override
public Object get(DataFetchingEnvironment e) {
String regex = e.getArgument("regex");
if (regex == null ) {
return null;
}
String source = (String) e.getSource();
List<String> retVal = new ArrayList<String>();
for (String str: source.split(regex)) {
if (str.isEmpty()) {
retVal.add(null);
} else {
retVal.add(str);
}
public DataFetcher splitFetcher = e -> {
String regex = e.getArgument("regex");
if (regex == null ) {
return null;
}
String source = (String) e.getSource();
List<String> retVal = new ArrayList<String>();
for (String str: source.split(regex)) {
if (str.isEmpty()) {
retVal.add(null);
} else {
retVal.add(str);
}
return retVal;
}
return retVal;
};

public DataFetcher appendFetcher = new DataFetcher() {
@Override
public Object get(DataFetchingEnvironment e) {
return ((String)e.getSource()) + e.getArgument("text");
}
};
public DataFetcher appendFetcher = e -> ((String)e.getSource()) + e.getArgument("text");

public void setWordsAndLettersFetcher(DataFetcher fetcher) {
this.wordsAndLettersFetcher = fetcher;
Expand Down Expand Up @@ -296,18 +277,12 @@ GraphQLSchema createSchema() {
.argument(GraphQLArgument.newArgument()
.name("value")
.type(Scalars.GraphQLString))
.dataFetcher(new DataFetcher() {
@Override
public Object get(DataFetchingEnvironment env) {return env.getArgument("value");}
}))
.dataFetcher(env -> env.getArgument("value")))
.name("EnumQuery")
.field(GraphQLFieldDefinition.newFieldDefinition()
.name("nullEnum")
.type(enumDayType)
.dataFetcher(new DataFetcher() {
@Override
public Object get(DataFetchingEnvironment env) {return null;}
}))
.dataFetcher(env -> null))
.build();
return GraphQLSchema.newSchema()
.query(queryType)
Expand Down
18 changes: 6 additions & 12 deletions src/test/groovy/graphql/validation/SpecValidationSchema.java
Original file line number Diff line number Diff line change
Expand Up @@ -134,37 +134,31 @@ public GraphQLObjectType getType(Object object) {
public static final GraphQLUnionType catOrDog = GraphQLUnionType.newUnionType()
.name("CatOrDog")
.possibleTypes(cat, dog)
.typeResolver(new TypeResolver() {
@Override
public GraphQLObjectType getType(Object object) {
.typeResolver(object -> {
if (object instanceof Cat) return cat;
if (object instanceof Dog) return dog;
return null;
}})
})
.build();

public static final GraphQLUnionType dogOrHuman = GraphQLUnionType.newUnionType()
.name("DogOrHuman")
.possibleTypes(dog, human)
.typeResolver(new TypeResolver() {
@Override
public GraphQLObjectType getType(Object object) {
.typeResolver(object -> {
if (object instanceof Human) return human;
if (object instanceof Dog) return dog;
return null;
}})
})
.build();

public static final GraphQLUnionType humanOrAlien = GraphQLUnionType.newUnionType()
.name("HumanOrAlien")
.possibleTypes(human, alien)
.typeResolver(new TypeResolver() {
@Override
public GraphQLObjectType getType(Object object) {
.typeResolver(object -> {
if (object instanceof Human) return human;
if (object instanceof Alien) return alien;
return null;
}})
})
.build();

public static final GraphQLObjectType queryRoot = GraphQLObjectType.newObject()
Expand Down
14 changes: 2 additions & 12 deletions src/test/groovy/graphql/validation/rules/Harness.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,7 @@

public class Harness {

private static TypeResolver dummyTypeResolve = new TypeResolver() {
@Override
public GraphQLObjectType getType(Object object) {
return null;
}
};
private static TypeResolver dummyTypeResolve = object -> null;


public static GraphQLInterfaceType Being = newInterface()
Expand Down Expand Up @@ -117,12 +112,7 @@ public GraphQLObjectType getType(Object object) {
public static GraphQLUnionType CatOrDog = newUnionType()
.name("CatOrDog")
.possibleTypes(Dog, Cat)
.typeResolver(new TypeResolver() {
@Override
public GraphQLObjectType getType(Object object) {
return null;
}
})
.typeResolver(object -> null)
.build();

public static GraphQLInterfaceType Intelligent = newInterface()
Expand Down