Skip to content

Commit cbd4505

Browse files
committed
rename DeferredCallContext.java
1 parent d9c3abd commit cbd4505

File tree

11 files changed

+66
-68
lines changed

11 files changed

+66
-68
lines changed

src/main/java/graphql/execution/DataLoaderDispatchStrategy.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package graphql.execution;
22

33
import graphql.Internal;
4-
import graphql.execution.incremental.DeferredCallContext;
4+
import graphql.execution.incremental.AlternativeCallContext;
55
import graphql.schema.DataFetcher;
66
import graphql.schema.DataFetchingEnvironment;
77

@@ -61,7 +61,7 @@ default DataFetcher<?> modifyDataFetcher(DataFetcher<?> dataFetcher) {
6161
return dataFetcher;
6262
}
6363

64-
default void newSubscriptionExecution(FieldValueInfo fieldValueInfo, DeferredCallContext deferredCallContext) {
64+
default void newSubscriptionExecution(FieldValueInfo fieldValueInfo, AlternativeCallContext alternativeCallContext) {
6565

6666
}
6767
}

src/main/java/graphql/execution/ExecutionStrategyParameters.java

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import graphql.Internal;
44
import graphql.PublicApi;
5-
import graphql.execution.incremental.DeferredCallContext;
5+
import graphql.execution.incremental.AlternativeCallContext;
66
import org.jspecify.annotations.Nullable;
77

88
import java.util.function.Consumer;
@@ -22,7 +22,7 @@ public class ExecutionStrategyParameters {
2222
private final ResultPath path;
2323
private final MergedField currentField;
2424
private final ExecutionStrategyParameters parent;
25-
private final DeferredCallContext deferredCallContext;
25+
private final AlternativeCallContext alternativeCallContext;
2626

2727
private ExecutionStrategyParameters(ExecutionStepInfo executionStepInfo,
2828
Object source,
@@ -32,7 +32,7 @@ private ExecutionStrategyParameters(ExecutionStepInfo executionStepInfo,
3232
ResultPath path,
3333
MergedField currentField,
3434
ExecutionStrategyParameters parent,
35-
DeferredCallContext deferredCallContext) {
35+
AlternativeCallContext alternativeCallContext) {
3636

3737
this.executionStepInfo = assertNotNull(executionStepInfo, () -> "executionStepInfo is null");
3838
this.localContext = localContext;
@@ -42,7 +42,7 @@ private ExecutionStrategyParameters(ExecutionStepInfo executionStepInfo,
4242
this.path = path;
4343
this.currentField = currentField;
4444
this.parent = parent;
45-
this.deferredCallContext = deferredCallContext;
45+
this.alternativeCallContext = alternativeCallContext;
4646
}
4747

4848
public ExecutionStepInfo getExecutionStepInfo() {
@@ -95,8 +95,8 @@ public ExecutionStrategyParameters getParent() {
9595
*/
9696
@Nullable
9797
@Internal
98-
public DeferredCallContext getDeferredCallContext() {
99-
return deferredCallContext;
98+
public AlternativeCallContext getDeferredCallContext() {
99+
return alternativeCallContext;
100100
}
101101

102102
/**
@@ -105,7 +105,7 @@ public DeferredCallContext getDeferredCallContext() {
105105
* @return true if we're in the scope of a deferred call
106106
*/
107107
public boolean isInDeferredContext() {
108-
return deferredCallContext != null;
108+
return alternativeCallContext != null;
109109
}
110110

111111
/**
@@ -128,7 +128,7 @@ ExecutionStrategyParameters transform(MergedField currentField,
128128
path,
129129
currentField,
130130
parent,
131-
deferredCallContext);
131+
alternativeCallContext);
132132
}
133133

134134
@Internal
@@ -143,7 +143,7 @@ ExecutionStrategyParameters transform(ExecutionStepInfo executionStepInfo,
143143
path,
144144
currentField,
145145
parent,
146-
deferredCallContext);
146+
alternativeCallContext);
147147
}
148148

149149
@Internal
@@ -159,7 +159,7 @@ ExecutionStrategyParameters transform(ExecutionStepInfo executionStepInfo,
159159
path,
160160
currentField,
161161
parent,
162-
deferredCallContext);
162+
alternativeCallContext);
163163
}
164164

165165
@Internal
@@ -174,7 +174,7 @@ ExecutionStrategyParameters transform(ExecutionStepInfo executionStepInfo,
174174
path,
175175
currentField,
176176
parent,
177-
deferredCallContext);
177+
alternativeCallContext);
178178
}
179179

180180
@Internal
@@ -189,7 +189,7 @@ ExecutionStrategyParameters transform(MergedField currentField,
189189
path,
190190
currentField,
191191
parent,
192-
deferredCallContext);
192+
alternativeCallContext);
193193
}
194194

195195
public ExecutionStrategyParameters transform(Consumer<Builder> builderConsumer) {
@@ -221,7 +221,7 @@ public static class Builder {
221221
ResultPath path = ResultPath.rootPath();
222222
MergedField currentField;
223223
ExecutionStrategyParameters parent;
224-
DeferredCallContext deferredCallContext;
224+
AlternativeCallContext alternativeCallContext;
225225

226226
/**
227227
* @see ExecutionStrategyParameters#newParameters()
@@ -239,7 +239,7 @@ private Builder(ExecutionStrategyParameters oldParameters) {
239239
this.fields = oldParameters.fields;
240240
this.nonNullableFieldValidator = oldParameters.nonNullableFieldValidator;
241241
this.currentField = oldParameters.currentField;
242-
this.deferredCallContext = oldParameters.deferredCallContext;
242+
this.alternativeCallContext = oldParameters.alternativeCallContext;
243243
this.path = oldParameters.path;
244244
this.parent = oldParameters.parent;
245245
}
@@ -289,13 +289,13 @@ public Builder parent(ExecutionStrategyParameters parent) {
289289
return this;
290290
}
291291

292-
public Builder deferredCallContext(DeferredCallContext deferredCallContext) {
293-
this.deferredCallContext = deferredCallContext;
292+
public Builder deferredCallContext(AlternativeCallContext alternativeCallContext) {
293+
this.alternativeCallContext = alternativeCallContext;
294294
return this;
295295
}
296296

297297
public ExecutionStrategyParameters build() {
298-
return new ExecutionStrategyParameters(executionStepInfo, source, localContext, fields, nonNullableFieldValidator, path, currentField, parent, deferredCallContext);
298+
return new ExecutionStrategyParameters(executionStepInfo, source, localContext, fields, nonNullableFieldValidator, path, currentField, parent, alternativeCallContext);
299299
}
300300
}
301301
}

src/main/java/graphql/execution/SubscriptionExecutionStrategy.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import graphql.ExecutionResultImpl;
55
import graphql.GraphQLContext;
66
import graphql.PublicApi;
7-
import graphql.execution.incremental.DeferredCallContext;
7+
import graphql.execution.incremental.AlternativeCallContext;
88
import graphql.execution.instrumentation.ExecutionStrategyInstrumentationContext;
99
import graphql.execution.instrumentation.Instrumentation;
1010
import graphql.execution.instrumentation.InstrumentationContext;
@@ -198,7 +198,7 @@ private ExecutionStrategyParameters firstFieldOfSubscriptionSelection(ExecutionC
198198
.path(fieldPath)
199199
.nonNullFieldValidator(nonNullableFieldValidator);
200200
if (newCallContext) {
201-
builder.deferredCallContext(new DeferredCallContext(1, 1));
201+
builder.deferredCallContext(new AlternativeCallContext(1, 1));
202202
}
203203
});
204204

src/main/java/graphql/execution/incremental/DeferredCallContext.java renamed to src/main/java/graphql/execution/incremental/AlternativeCallContext.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,31 +9,29 @@
99
import java.util.List;
1010

1111
/**
12-
* Contains data relevant to the execution of a {@link DeferredFragmentCall}.
12+
* Contains data relevant to the execution of a {@link DeferredFragmentCall} and Subscription events.
1313
* <p>
1414
* The responsibilities of this class are similar to {@link graphql.execution.ExecutionContext}, but restricted to the
1515
* execution of a deferred call (instead of the whole GraphQL execution like {@link graphql.execution.ExecutionContext}).
1616
* <p>
17-
* Some behaviours, like error capturing, need to be scoped to a single {@link DeferredFragmentCall}, because each defer payload
17+
* Some behaviours, like error capturing, need to be scoped to a single {@link DeferredFragmentCall} for deferred, because each defer payload
1818
* contains its own distinct list of errors.
19-
*
20-
* This class is used also by the Subscription execution strategy to maintain a DataLoader dispatching context per event
2119
*/
2220
@Internal
23-
public class DeferredCallContext {
21+
public class AlternativeCallContext {
2422

2523
private final int startLevel;
2624
private final int fields;
2725

2826
private final List<GraphQLError> errors = Collections.synchronizedList(new ArrayList<>());
2927

30-
public DeferredCallContext(int startLevel, int fields) {
28+
public AlternativeCallContext(int startLevel, int fields) {
3129
this.startLevel = startLevel;
3230
this.fields = fields;
3331
}
3432

3533
@VisibleForTesting
36-
public DeferredCallContext() {
34+
public AlternativeCallContext() {
3735
this.startLevel = 0;
3836
this.fields = 0;
3937
}

src/main/java/graphql/execution/incremental/DeferredExecutionSupport.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -117,26 +117,26 @@ public Set<IncrementalCall<? extends IncrementalPayload>> createCalls() {
117117

118118
private DeferredFragmentCall createDeferredFragmentCall(DeferredExecution deferredExecution) {
119119
int level = parameters.getPath().getLevel() + 1;
120-
DeferredCallContext deferredCallContext = new DeferredCallContext(level, deferredFields.size());
120+
AlternativeCallContext alternativeCallContext = new AlternativeCallContext(level, deferredFields.size());
121121

122122
List<MergedField> mergedFields = deferredExecutionToFields.get(deferredExecution);
123123

124124
List<Supplier<CompletableFuture<DeferredFragmentCall.FieldWithExecutionResult>>> calls = FpKit.arrayListSizedTo(mergedFields);
125125
for (MergedField currentField : mergedFields) {
126-
calls.add(this.createResultSupplier(currentField, deferredCallContext));
126+
calls.add(this.createResultSupplier(currentField, alternativeCallContext));
127127
}
128128

129129
return new DeferredFragmentCall(
130130
deferredExecution.getLabel(),
131131
this.parameters.getPath(),
132132
calls,
133-
deferredCallContext
133+
alternativeCallContext
134134
);
135135
}
136136

137137
private Supplier<CompletableFuture<DeferredFragmentCall.FieldWithExecutionResult>> createResultSupplier(
138138
MergedField currentField,
139-
DeferredCallContext deferredCallContext
139+
AlternativeCallContext alternativeCallContext
140140
) {
141141
Map<String, MergedField> fields = new LinkedHashMap<>();
142142
fields.put(currentField.getResultKey(), currentField);
@@ -145,7 +145,7 @@ private Supplier<CompletableFuture<DeferredFragmentCall.FieldWithExecutionResult
145145
{
146146
MergedSelectionSet mergedSelectionSet = MergedSelectionSet.newMergedSelectionSet().subFields(fields).build();
147147
ResultPath path = parameters.getPath().segment(currentField.getResultKey());
148-
builder.deferredCallContext(deferredCallContext)
148+
builder.deferredCallContext(alternativeCallContext)
149149
.field(currentField)
150150
.fields(mergedSelectionSet)
151151
.path(path)

src/main/java/graphql/execution/incremental/DeferredFragmentCall.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,18 +46,18 @@ public ResultPath getPath() {
4646

4747
private final ResultPath path;
4848
private final List<Supplier<CompletableFuture<FieldWithExecutionResult>>> calls;
49-
private final DeferredCallContext deferredCallContext;
49+
private final AlternativeCallContext alternativeCallContext;
5050

5151
public DeferredFragmentCall(
5252
String label,
5353
ResultPath path,
5454
List<Supplier<CompletableFuture<FieldWithExecutionResult>>> calls,
55-
DeferredCallContext deferredCallContext
55+
AlternativeCallContext alternativeCallContext
5656
) {
5757
this.label = label;
5858
this.path = path;
5959
this.calls = calls;
60-
this.deferredCallContext = deferredCallContext;
60+
this.alternativeCallContext = alternativeCallContext;
6161
}
6262

6363
@Override
@@ -100,7 +100,7 @@ private DeferPayload handleNonNullableFieldError(DeferPayload result, Throwable
100100
}
101101

102102
private DeferPayload transformToDeferredPayload(List<FieldWithExecutionResult> fieldWithExecutionResults) {
103-
List<GraphQLError> errorsEncountered = deferredCallContext.getErrors();
103+
List<GraphQLError> errorsEncountered = alternativeCallContext.getErrors();
104104

105105
Map<String, Object> dataMap = new HashMap<>();
106106

src/main/java/graphql/execution/instrumentation/dataloader/PerLevelDataLoaderDispatchStrategy.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import graphql.execution.ExecutionContext;
88
import graphql.execution.ExecutionStrategyParameters;
99
import graphql.execution.FieldValueInfo;
10-
import graphql.execution.incremental.DeferredCallContext;
10+
import graphql.execution.incremental.AlternativeCallContext;
1111
import graphql.schema.DataFetcher;
1212
import graphql.schema.DataFetchingEnvironment;
1313
import graphql.util.InterThreadMemoizedSupplier;
@@ -48,7 +48,7 @@ public class PerLevelDataLoaderDispatchStrategy implements DataLoaderDispatchStr
4848

4949
static final long DEFAULT_BATCH_WINDOW_NANO_SECONDS_DEFAULT = 500_000L;
5050

51-
private final Map<DeferredCallContext, CallStack> deferredCallStackMap = new ConcurrentHashMap<>();
51+
private final Map<AlternativeCallContext, CallStack> deferredCallStackMap = new ConcurrentHashMap<>();
5252

5353

5454
private static class CallStack {
@@ -253,14 +253,14 @@ private CallStack getCallStack(ExecutionStrategyParameters parameters) {
253253
return getCallStack(parameters.getDeferredCallContext());
254254
}
255255

256-
private CallStack getCallStack(@Nullable DeferredCallContext deferredCallContext) {
257-
if (deferredCallContext == null) {
256+
private CallStack getCallStack(@Nullable AlternativeCallContext alternativeCallContext) {
257+
if (alternativeCallContext == null) {
258258
return this.initialCallStack;
259259
} else {
260-
return deferredCallStackMap.computeIfAbsent(deferredCallContext, k -> {
260+
return deferredCallStackMap.computeIfAbsent(alternativeCallContext, k -> {
261261
CallStack callStack = new CallStack();
262-
int startLevel = deferredCallContext.getStartLevel();
263-
int fields = deferredCallContext.getFields();
262+
int startLevel = alternativeCallContext.getStartLevel();
263+
int fields = alternativeCallContext.getFields();
264264
callStack.lock.runLocked(() -> {
265265
// we make sure that startLevel-1 is considered done
266266
callStack.expectedExecuteObjectCallsPerLevel.set(0, 0); // set to 1 in the constructor of CallStack
@@ -292,8 +292,8 @@ public void executeObject(ExecutionContext executionContext, ExecutionStrategyPa
292292

293293

294294
@Override
295-
public void newSubscriptionExecution(FieldValueInfo fieldValueInfo, DeferredCallContext deferredCallContext) {
296-
CallStack callStack = getCallStack(deferredCallContext);
295+
public void newSubscriptionExecution(FieldValueInfo fieldValueInfo, AlternativeCallContext alternativeCallContext) {
296+
CallStack callStack = getCallStack(alternativeCallContext);
297297
callStack.increaseFetchCount(1);
298298
callStack.deferredFragmentRootFieldsFetched.add(fieldValueInfo);
299299
onFieldValuesInfoDispatchIfNeeded(callStack.deferredFragmentRootFieldsFetched, 1, callStack);
@@ -541,12 +541,12 @@ public void dispatchDLCFImpl(Set<String> resultPathsToDispatch, Integer level, C
541541

542542

543543
public void newDataLoaderLoadCall(String resultPath, int level, DataLoader dataLoader, String
544-
dataLoaderName, Object key, @Nullable DeferredCallContext deferredCallContext) {
544+
dataLoaderName, Object key, @Nullable AlternativeCallContext alternativeCallContext) {
545545
if (!enableDataLoaderChaining) {
546546
return;
547547
}
548548
ResultPathWithDataLoader resultPathWithDataLoader = new ResultPathWithDataLoader(resultPath, level, dataLoader, dataLoaderName, key);
549-
CallStack callStack = getCallStack(deferredCallContext);
549+
CallStack callStack = getCallStack(alternativeCallContext);
550550
boolean levelFinished = callStack.lock.callLocked(() -> {
551551
boolean finished = callStack.dispatchingFinishedPerLevel.contains(level);
552552
callStack.allResultPathWithDataLoader.add(resultPathWithDataLoader);

0 commit comments

Comments
 (0)