Skip to content

Commit a23067a

Browse files
committed
Renamed some static methods, removed file parts from context builder
1 parent 0678722 commit a23067a

File tree

8 files changed

+54
-59
lines changed

8 files changed

+54
-59
lines changed

src/main/java/graphql/servlet/AbstractGraphQLHttpServlet.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ public void init() {
203203
graphQLObjectMapper.readBatchedGraphQLRequest(inputStream);
204204
variablesMap.ifPresent(map -> graphQLRequests.forEach(r -> mapMultipartVariables(r, map, fileItems)));
205205
GraphQLBatchedInvocationInput batchedInvocationInput = invocationInputFactory.create(configuration.getContextSetting(),
206-
graphQLRequests, request, response, fileItems);
206+
graphQLRequests, request, response);
207207
queryBatched(queryInvoker, batchedInvocationInput, request, response, configuration);
208208
return;
209209
} else {
@@ -216,7 +216,7 @@ public void init() {
216216

217217
variablesMap.ifPresent(m -> mapMultipartVariables(graphQLRequest, m, fileItems));
218218
GraphQLSingleInvocationInput invocationInput =
219-
invocationInputFactory.create(graphQLRequest, request, response, fileItems);
219+
invocationInputFactory.create(graphQLRequest, request, response);
220220
query(queryInvoker, graphQLObjectMapper, invocationInput, request, response);
221221
return;
222222
}

src/main/java/graphql/servlet/context/DefaultGraphQLContextBuilder.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@
1414
public class DefaultGraphQLContextBuilder implements GraphQLContextBuilder {
1515

1616
@Override
17-
public GraphQLContext build(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map<String, List<Part>> fileParts) {
18-
return DefaultGraphQLServletContext.createWebContext().with(httpServletRequest).with(httpServletResponse).with(fileParts).build();
17+
public GraphQLContext build(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
18+
return DefaultGraphQLServletContext.createServletContext().with(httpServletRequest).with(httpServletResponse).build();
1919
}
2020

2121
@Override
2222
public GraphQLContext build(Session session, HandshakeRequest handshakeRequest) {
23-
return DefaultGraphQLWebSocketContext.createWebContext().with(session).with(handshakeRequest).build();
23+
return DefaultGraphQLWebSocketContext.createWebSocketContext().with(session).with(handshakeRequest).build();
2424
}
2525

2626
@Override

src/main/java/graphql/servlet/context/DefaultGraphQLServletContext.java

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
import javax.servlet.http.HttpServletRequest;
77
import javax.servlet.http.HttpServletResponse;
88
import javax.servlet.http.Part;
9-
import java.util.Collection;
10-
import java.util.HashMap;
119
import java.util.List;
1210
import java.util.Map;
1311
import java.util.stream.Collectors;
@@ -16,15 +14,12 @@ class DefaultGraphQLServletContext extends DefaultGraphQLContext implements Grap
1614

1715
private final HttpServletRequest httpServletRequest;
1816
private final HttpServletResponse httpServletResponse;
19-
private final Map<String, List<Part>> parts;
2017

2118
private DefaultGraphQLServletContext(DataLoaderRegistry dataLoaderRegistry, Subject subject, HttpServletRequest httpServletRequest,
22-
HttpServletResponse httpServletResponse,
23-
Map<String, List<Part>> parts) {
19+
HttpServletResponse httpServletResponse) {
2420
super(dataLoaderRegistry, subject);
2521
this.httpServletRequest = httpServletRequest;
2622
this.httpServletResponse = httpServletResponse;
27-
this.parts = parts;
2823
}
2924

3025
@Override
@@ -39,30 +34,37 @@ public HttpServletResponse getHttpServletResponse() {
3934

4035
@Override
4136
public List<Part> getFileParts() {
42-
return parts.values()
43-
.stream()
44-
.flatMap(Collection::stream)
45-
.filter(part -> part.getContentType() != null)
46-
.collect(Collectors.toList());
37+
try {
38+
return httpServletRequest.getParts().stream()
39+
.filter(part -> part.getContentType() != null)
40+
.collect(Collectors.toList());
41+
} catch (Exception e) {
42+
throw new RuntimeException(e);
43+
}
4744
}
4845

4946
@Override
5047
public Map<String, List<Part>> getParts() {
51-
return parts;
48+
try {
49+
return httpServletRequest.getParts()
50+
.stream()
51+
.collect(Collectors.groupingBy(Part::getName));
52+
} catch (Exception e) {
53+
throw new RuntimeException(e);
54+
}
5255
}
5356

54-
public static Builder createWebContext(DataLoaderRegistry registry, Subject subject) {
57+
public static Builder createServletContext(DataLoaderRegistry registry, Subject subject) {
5558
return new Builder(registry, subject);
5659
}
5760

58-
public static Builder createWebContext() {
61+
public static Builder createServletContext() {
5962
return new Builder(null, null);
6063
}
6164

6265
public static class Builder {
6366
private HttpServletRequest httpServletRequest;
6467
private HttpServletResponse httpServletResponse;
65-
private Map<String, List<Part>> parts = new HashMap<>();
6668
private DataLoaderRegistry dataLoaderRegistry;
6769
private Subject subject;
6870

@@ -72,23 +74,26 @@ private Builder(DataLoaderRegistry dataLoaderRegistry, Subject subject) {
7274
}
7375

7476
public DefaultGraphQLServletContext build() {
75-
return new DefaultGraphQLServletContext(dataLoaderRegistry, subject, httpServletRequest, httpServletResponse, parts);
77+
return new DefaultGraphQLServletContext(dataLoaderRegistry, subject, httpServletRequest, httpServletResponse);
7678
}
7779

7880
public Builder with(HttpServletRequest httpServletRequest) {
7981
this.httpServletRequest = httpServletRequest;
8082
return this;
8183
}
8284

83-
public Builder with(HttpServletResponse httpServletResponse) {
84-
this.httpServletResponse = httpServletResponse;
85+
public Builder with(DataLoaderRegistry dataLoaderRegistry) {
86+
this.dataLoaderRegistry = dataLoaderRegistry;
8587
return this;
8688
}
8789

88-
public Builder with(Map<String, List<Part>> parts) {
89-
if (parts != null) {
90-
this.parts.putAll(parts);
91-
}
90+
public Builder with(Subject subject) {
91+
this.subject = subject;
92+
return this;
93+
}
94+
95+
public Builder with(HttpServletResponse httpServletResponse) {
96+
this.httpServletResponse = httpServletResponse;
9297
return this;
9398
}
9499
}

src/main/java/graphql/servlet/context/DefaultGraphQLWebSocketContext.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ public HandshakeRequest getHandshakeRequest() {
3535
return handshakeRequest;
3636
}
3737

38-
public static Builder createWebContext(DataLoaderRegistry registry, Subject subject) {
38+
public static Builder createWebSocketContext(DataLoaderRegistry registry, Subject subject) {
3939
return new Builder(registry, subject);
4040
}
4141

42-
public static Builder createWebContext() {
42+
public static Builder createWebSocketContext() {
4343
return new Builder(null, null);
4444
}
4545

@@ -68,5 +68,15 @@ public Builder with(HandshakeRequest handshakeRequest) {
6868
return this;
6969
}
7070

71+
public Builder with(DataLoaderRegistry dataLoaderRegistry) {
72+
this.dataLoaderRegistry = dataLoaderRegistry;
73+
return this;
74+
}
75+
76+
public Builder with(Subject subject) {
77+
this.subject = subject;
78+
return this;
79+
}
80+
7181
}
7282
}

src/main/java/graphql/servlet/context/GraphQLContextBuilder.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,12 @@
22

33
import javax.servlet.http.HttpServletRequest;
44
import javax.servlet.http.HttpServletResponse;
5-
import javax.servlet.http.Part;
65
import javax.websocket.Session;
76
import javax.websocket.server.HandshakeRequest;
8-
import java.util.List;
9-
import java.util.Map;
107

118
public interface GraphQLContextBuilder {
129

13-
GraphQLContext build(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map<String, List<Part>> fileParts);
10+
GraphQLContext build(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);
1411

1512
GraphQLContext build(Session session, HandshakeRequest handshakeRequest);
1613

src/main/java/graphql/servlet/input/GraphQLInvocationInputFactory.java

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -39,30 +39,21 @@ public GraphQLSchemaProvider getSchemaProvider() {
3939
}
4040

4141
public GraphQLSingleInvocationInput create(GraphQLRequest graphQLRequest, HttpServletRequest request, HttpServletResponse response) {
42-
return create(graphQLRequest, request, response, null);
43-
}
44-
45-
public GraphQLSingleInvocationInput create(GraphQLRequest graphQLRequest, HttpServletRequest request, HttpServletResponse response, Map<String,
46-
List<Part>> fileParts) {
47-
return create(graphQLRequest, request, response, false, fileParts);
42+
return create(graphQLRequest, request, response, false);
4843
}
4944

5045
public GraphQLBatchedInvocationInput create(ContextSetting contextSetting, List<GraphQLRequest> graphQLRequests, HttpServletRequest request,
5146
HttpServletResponse response) {
52-
return create(contextSetting, graphQLRequests, request, response, null);
47+
return create(contextSetting, graphQLRequests, request, response, false);
5348
}
5449

55-
public GraphQLBatchedInvocationInput create(ContextSetting contextSetting, List<GraphQLRequest> graphQLRequests, HttpServletRequest request,
56-
HttpServletResponse response, Map<String, List<Part>> fileParts) {
57-
return create(contextSetting, graphQLRequests, request, response, false, fileParts);
58-
}
5950

6051
public GraphQLSingleInvocationInput createReadOnly(GraphQLRequest graphQLRequest, HttpServletRequest request, HttpServletResponse response) {
61-
return create(graphQLRequest, request, response, true, null);
52+
return create(graphQLRequest, request, response, true);
6253
}
6354

6455
public GraphQLBatchedInvocationInput createReadOnly(ContextSetting contextSetting, List<GraphQLRequest> graphQLRequests, HttpServletRequest request, HttpServletResponse response) {
65-
return create(contextSetting, graphQLRequests, request, response, true, null);
56+
return create(contextSetting, graphQLRequests, request, response, true);
6657
}
6758

6859
public GraphQLSingleInvocationInput create(GraphQLRequest graphQLRequest) {
@@ -75,21 +66,21 @@ public GraphQLSingleInvocationInput create(GraphQLRequest graphQLRequest) {
7566
}
7667

7768
private GraphQLSingleInvocationInput create(GraphQLRequest graphQLRequest, HttpServletRequest request, HttpServletResponse response,
78-
boolean readOnly, Map<String, List<Part>> fileParts) {
69+
boolean readOnly) {
7970
return new GraphQLSingleInvocationInput(
8071
graphQLRequest,
8172
readOnly ? schemaProviderSupplier.get().getReadOnlySchema(request) : schemaProviderSupplier.get().getSchema(request),
82-
contextBuilderSupplier.get().build(request, response, fileParts),
73+
contextBuilderSupplier.get().build(request, response),
8374
rootObjectBuilderSupplier.get().build(request)
8475
);
8576
}
8677

8778
private GraphQLBatchedInvocationInput create(ContextSetting contextSetting, List<GraphQLRequest> graphQLRequests, HttpServletRequest request,
88-
HttpServletResponse response, boolean readOnly, Map<String, List<Part>> fileParts) {
79+
HttpServletResponse response, boolean readOnly) {
8980
return contextSetting.getBatch(
9081
graphQLRequests,
9182
readOnly ? schemaProviderSupplier.get().getReadOnlySchema(request) : schemaProviderSupplier.get().getSchema(request),
92-
() -> contextBuilderSupplier.get().build(request, response, fileParts),
83+
() -> contextBuilderSupplier.get().build(request, response),
9384
rootObjectBuilderSupplier.get().build(request)
9485
);
9586
}

src/main/java/graphql/servlet/instrumentation/RequestStack.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,14 @@
11
package graphql.servlet.instrumentation;
22

3-
import com.sun.org.apache.bcel.internal.generic.Select;
43
import graphql.Assert;
54
import graphql.execution.ExecutionId;
6-
import graphql.language.Selection;
7-
import graphql.language.SelectionSet;
8-
import graphql.schema.GraphQLOutputType;
95

106
import java.util.ArrayList;
117
import java.util.Collections;
12-
import java.util.Iterator;
138
import java.util.LinkedHashMap;
14-
import java.util.LinkedHashSet;
159
import java.util.List;
1610
import java.util.Map;
1711
import java.util.Objects;
18-
import java.util.Set;
19-
import java.util.stream.Collectors;
2012

2113
/**
2214
* Manages sets of call stack state for ongoing executions.

src/test/groovy/graphql/servlet/DataLoaderDispatchingSpec.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class DataLoaderDispatchingSpec extends Specification {
8181
def contextBuilder () {
8282
return new GraphQLContextBuilder() {
8383
@Override
84-
GraphQLContext build(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map<String, List<Part>> fileParts) {
84+
GraphQLContext build(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
8585
new DefaultGraphQLContext(registry(), null)
8686
}
8787

0 commit comments

Comments
 (0)