22
33import static java .util .concurrent .CompletableFuture .supplyAsync ;
44
5- import graphql .kickstart .execution .context .DefaultGraphQLContext ;
6- import graphql .kickstart .execution .context .GraphQLContext ;
7- import graphql .kickstart .servlet .context .DefaultGraphQLServletContext ;
8- import graphql .kickstart .servlet .context .DefaultGraphQLWebSocketContext ;
5+ import graphql .kickstart .execution .context .GraphQLKickstartContext ;
96import graphql .kickstart .servlet .context .GraphQLServletContextBuilder ;
7+ import java .util .HashMap ;
8+ import java .util .Map ;
109import javax .servlet .http .HttpServletRequest ;
1110import javax .servlet .http .HttpServletResponse ;
1211import javax .websocket .Session ;
1312import javax .websocket .server .HandshakeRequest ;
1413import org .dataloader .DataLoader ;
14+ import org .dataloader .DataLoaderFactory ;
1515import org .dataloader .DataLoaderRegistry ;
1616import org .springframework .stereotype .Component ;
1717
@@ -25,30 +25,30 @@ public CustomGraphQLContextBuilder(CustomerRepository customerRepository) {
2525 }
2626
2727 @ Override
28- public GraphQLContext build (HttpServletRequest req , HttpServletResponse response ) {
29- return DefaultGraphQLServletContext . createServletContext ( buildDataLoaderRegistry (), null )
30- . with ( req )
31- . with ( response )
32- . build ( );
28+ public GraphQLKickstartContext build (HttpServletRequest request , HttpServletResponse response ) {
29+ Map < Object , Object > map = new HashMap <>();
30+ map . put ( HttpServletRequest . class , request );
31+ map . put ( HttpServletResponse . class , response );
32+ return GraphQLKickstartContext . of ( buildDataLoaderRegistry (), map );
3333 }
3434
3535 @ Override
36- public GraphQLContext build () {
37- return new DefaultGraphQLContext (buildDataLoaderRegistry (), null );
36+ public GraphQLKickstartContext build () {
37+ return GraphQLKickstartContext . of (buildDataLoaderRegistry ());
3838 }
3939
4040 @ Override
41- public GraphQLContext build (Session session , HandshakeRequest request ) {
42- return DefaultGraphQLWebSocketContext . createWebSocketContext ( buildDataLoaderRegistry (), null )
43- . with ( session )
44- . with ( request )
45- . build ( );
41+ public GraphQLKickstartContext build (Session session , HandshakeRequest handshakeRequest ) {
42+ Map < Object , Object > map = new HashMap <>();
43+ map . put ( Session . class , session );
44+ map . put ( HandshakeRequest . class , handshakeRequest );
45+ return GraphQLKickstartContext . of ( buildDataLoaderRegistry (), map );
4646 }
4747
4848 private DataLoaderRegistry buildDataLoaderRegistry () {
4949 DataLoaderRegistry dataLoaderRegistry = new DataLoaderRegistry ();
5050 DataLoader <Integer , String > customerLoader =
51- new DataLoader <> (
51+ DataLoaderFactory . newDataLoader (
5252 customerIds -> supplyAsync (() -> customerRepository .getUserNamesForIds (customerIds )));
5353 dataLoaderRegistry .register ("customerDataLoader" , customerLoader );
5454 return dataLoaderRegistry ;
0 commit comments