1414 */
1515package graphql .annotations .connection ;
1616
17- import graphql .annotations .ExtensionDataFetcherWrapper ;
1817import graphql .relay .Connection ;
1918import graphql .schema .DataFetcher ;
2019import graphql .schema .DataFetchingEnvironment ;
21- import graphql .schema .FieldDataFetcher ;
22- import graphql .schema .PropertyDataFetcher ;
2320
2421import java .lang .reflect .Constructor ;
2522import java .util .Arrays ;
26- import java .util .List ;
2723import java .util .Optional ;
2824
2925import static graphql .annotations .ReflectionKit .constructNewInstance ;
@@ -32,10 +28,8 @@ public class ConnectionDataFetcher<T> implements DataFetcher<Connection<T>> {
3228 private final Class <? extends ConnectionFetcher <T >> connection ;
3329 private final DataFetcher <PaginatedData <T >> actualDataFetcher ;
3430 private final Constructor <ConnectionFetcher <T >> constructor ;
35- private final List <Class <?>> blackListOfDataFetchers = Arrays .asList (PropertyDataFetcher .class , FieldDataFetcher .class );
3631
3732 public ConnectionDataFetcher (Class <? extends ConnectionFetcher <T >> connection , DataFetcher <T > actualDataFetcher ) {
38- validateDataFetcher (actualDataFetcher );
3933 this .connection = connection ;
4034 this .actualDataFetcher = (DataFetcher <PaginatedData <T >>) actualDataFetcher ;
4135 Optional <Constructor <ConnectionFetcher <T >>> constructor =
@@ -50,17 +44,6 @@ public ConnectionDataFetcher(Class<? extends ConnectionFetcher<T>> connection, D
5044 }
5145 }
5246
53- private void validateDataFetcher (DataFetcher <?> dataFetcher ) {
54- if ( dataFetcher instanceof ExtensionDataFetcherWrapper ) {
55- dataFetcher = ((ExtensionDataFetcherWrapper ) dataFetcher ).getUnwrappedDataFetcher ();
56- }
57- final DataFetcher <?> finalDataFetcher = dataFetcher ;
58- if (blackListOfDataFetchers .stream ().anyMatch (aClass -> aClass .isInstance (finalDataFetcher ))) {
59- throw new GraphQLConnectionException ("Please don't use @GraphQLConnection on a field without @GraphQLDataFetcher, because " +
60- "neither PropertyDataFetcher nor FieldDataFetcher know how to handle connection" );
61- }
62- }
63-
6447 @ Override
6548 public Connection <T > get (DataFetchingEnvironment environment ) {
6649 ConnectionFetcher <T > conn = constructNewInstance (constructor , actualDataFetcher );
0 commit comments