Removed more .streams with our filterAndMap code · graphql-java/graphql-java@b0e520b

@@ -4,6 +4,7 @@

44

import graphql.DirectivesUtil;

55

import graphql.PublicApi;

66

import graphql.PublicSpi;

7+

import graphql.collect.ImmutableKit;

78

import graphql.execution.ValuesResolver;

89

import graphql.language.AstPrinter;

910

import graphql.language.Node;

4142

import static graphql.schema.GraphQLNonNull.nonNull;

4243

import static graphql.schema.GraphQLObjectType.newObject;

4344

import static graphql.util.TraversalControl.CONTINUE;

44-

import static java.util.stream.Collectors.toList;

45454646

/**

4747

* The graphql specification does not allow you to retrieve the directives and their argument values that

@@ -171,9 +171,9 @@ private GraphQLObjectType mkAppliedDirectiveType(String name, GraphQLType direct

171171

}

172172173173

private GraphQLSchema addDirectiveDefinitionFilter(GraphQLSchema schema) {

174-

DataFetcher<?> df = env -> {

174+

DataFetcher<?> df = env -> {

175175

List<GraphQLDirective> definedDirectives = env.getGraphQLSchema().getDirectives();

176-

return filterDirectives(schema,true, null, definedDirectives);

176+

return filterDirectives(schema, true, null, definedDirectives);

177177

};

178178

GraphQLCodeRegistry codeRegistry = schema.getCodeRegistry().transform(bld ->

179179

bld.dataFetcher(coordinates(__Schema, "directives"), df));

@@ -199,8 +199,8 @@ private GraphQLObjectType addAppliedDirectives(GraphQLObjectType originalType, G

199199

DataFetcher<?> argsDF = env -> {

200200

final GraphQLAppliedDirective directive = env.getSource();

201201

// we only show directive arguments that have values set on them

202-

return directive.getArguments().stream()

203-

.filter(arg -> arg.getArgumentValue().isSet());

202+

return ImmutableKit.filter(directive.getArguments(),

203+

arg -> arg.getArgumentValue().isSet());

204204

};

205205

DataFetcher<?> argValueDF = env -> {

206206

final GraphQLAppliedDirectiveArgument argument = env.getSource();

@@ -225,17 +225,19 @@ private GraphQLObjectType addAppliedDirectives(GraphQLObjectType originalType, G

225225

}

226226227227

private List<GraphQLDirective> filterDirectives(GraphQLSchema schema, boolean isDefinedDirective, GraphQLDirectiveContainer container, List<GraphQLDirective> directives) {

228-

return directives.stream().filter(directive -> {

229-

DirectivePredicateEnvironment env = buildDirectivePredicateEnv(schema, isDefinedDirective, container, directive.getName());

230-

return directivePredicate.isDirectiveIncluded(env);

231-

}).collect(toList());

228+

return ImmutableKit.filter(directives,

229+

directive -> {

230+

DirectivePredicateEnvironment env = buildDirectivePredicateEnv(schema, isDefinedDirective, container, directive.getName());

231+

return directivePredicate.isDirectiveIncluded(env);

232+

});

232233

}

233234234235

private List<GraphQLAppliedDirective> filterAppliedDirectives(GraphQLSchema schema, boolean isDefinedDirective, GraphQLDirectiveContainer container, List<GraphQLAppliedDirective> directives) {

235-

return directives.stream().filter(directive -> {

236-

DirectivePredicateEnvironment env = buildDirectivePredicateEnv(schema, isDefinedDirective, container, directive.getName());

237-

return directivePredicate.isDirectiveIncluded(env);

238-

}).collect(toList());

236+

return ImmutableKit.filter(directives,

237+

directive -> {

238+

DirectivePredicateEnvironment env = buildDirectivePredicateEnv(schema, isDefinedDirective, container, directive.getName());

239+

return directivePredicate.isDirectiveIncluded(env);

240+

});

239241

}

240242241243

@NonNull