@@ -32,7 +32,6 @@ public class ExecutionHelper {
3232
3333 public static class ExecutionData {
3434 public ExecutionContext executionContext ;
35- public FieldSubSelection fieldSubSelection ;
3635 }
3736
3837 public ExecutionData createExecutionData (Document document ,
@@ -64,28 +63,33 @@ public ExecutionData createExecutionData(Document document,
6463 .operationDefinition (operationDefinition )
6564 .build ();
6665
67- GraphQLObjectType operationRootType ;
68- operationRootType = Common .getOperationRootType (executionContext .getGraphQLSchema (), operationDefinition );
66+ ExecutionData executionData = new ExecutionData ();
67+ executionData .executionContext = executionContext ;
68+ return executionData ;
69+
70+ }
71+
72+ public FieldSubSelection getFieldSubSelection (ExecutionContext executionContext ) {
73+ OperationDefinition operationDefinition = executionContext .getOperationDefinition ();
74+ GraphQLObjectType operationRootType = Common .getOperationRootType (executionContext .getGraphQLSchema (), operationDefinition );
75+
6976 FieldCollectorParameters collectorParameters = FieldCollectorParameters .newParameters ()
7077 .schema (executionContext .getGraphQLSchema ())
7178 .objectType (operationRootType )
7279 .fragments (executionContext .getFragmentsByName ())
7380 .variables (executionContext .getVariables ())
7481 .build ();
82+
7583 MergedSelectionSet mergedSelectionSet = fieldCollector .collectFields (collectorParameters , operationDefinition .getSelectionSet ());
7684 ExecutionStepInfo executionInfo = newExecutionStepInfo ().type (operationRootType ).path (ExecutionPath .rootPath ()).build ();
7785
7886 FieldSubSelection fieldSubSelection = FieldSubSelection .newFieldSubSelection ()
79- .source (executionInput .getRoot ())
80- .localContext (executionInput . getContext ())
87+ .source (executionContext .getRoot ())
88+ .localContext (executionContext . getLocalContext ())
8189 .mergedSelectionSet (mergedSelectionSet )
8290 .executionInfo (executionInfo )
8391 .build ();
84-
85- ExecutionData executionData = new ExecutionData ();
86- executionData .executionContext = executionContext ;
87- executionData .fieldSubSelection = fieldSubSelection ;
88- return executionData ;
92+ return fieldSubSelection ;
8993
9094 }
9195}
0 commit comments