@@ -116,22 +116,23 @@ public TraversalControl visitGraphQLFieldDefinition(
116116 GraphQLFieldsContainer parent = (GraphQLFieldsContainer ) context .getParentNode ();
117117 DataFetcher <?> dataFetcher = codeRegistry .getDataFetcher (parent , fieldDefinition );
118118
119- if (skipDataFetcher (dataFetcher )) {
120- return TraversalControl .CONTINUE ;
119+ if (applyDecorator (dataFetcher )) {
120+ boolean handlesSubscription = parent .getName ().equals ("Subscription" );
121+ dataFetcher = new ContextDataFetcherDecorator (dataFetcher , handlesSubscription , compositeResolver );
122+ codeRegistry .dataFetcher (parent , fieldDefinition , dataFetcher );
121123 }
122124
123- boolean handlesSubscription = parent .getName ().equals ("Subscription" );
124- dataFetcher = new ContextDataFetcherDecorator (dataFetcher , handlesSubscription , compositeResolver );
125- codeRegistry .dataFetcher (parent , fieldDefinition , dataFetcher );
126125 return TraversalControl .CONTINUE ;
127126 }
128127
129- private boolean skipDataFetcher (DataFetcher <?> dataFetcher ) {
128+ private boolean applyDecorator (DataFetcher <?> dataFetcher ) {
130129 Class <?> type = dataFetcher .getClass ();
131- if (type .getPackage ().getName ().startsWith ("graphql." )) {
132- return !type .getSimpleName ().startsWith ("DataFetcherFactories" );
130+ String packageName = type .getPackage ().getName ();
131+ if (packageName .startsWith ("graphql." )) {
132+ return (type .getSimpleName ().startsWith ("DataFetcherFactories" ) ||
133+ packageName .startsWith ("graphql.validation" ));
133134 }
134- return false ;
135+ return true ;
135136 }
136137 };
137138 }
0 commit comments