From 9a61207f2de033bd8cc7b0df5b54a9946309bad0 Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Wed, 2 Jun 2021 14:15:57 -0500 Subject: [PATCH] Remove DataFetchers Follow the conventions of the other sample projects. --- .../spring/sample/graphql/DataFetchers.java | 37 -------------- .../spring/sample/graphql/GraphQLWiring.java | 34 ------------- .../spring/sample/graphql/SampleWiring.java | 49 +++++++++++++++++++ 3 files changed, 49 insertions(+), 71 deletions(-) delete mode 100644 samples/webflux-security/src/main/java/io/spring/sample/graphql/DataFetchers.java delete mode 100644 samples/webflux-security/src/main/java/io/spring/sample/graphql/GraphQLWiring.java create mode 100644 samples/webflux-security/src/main/java/io/spring/sample/graphql/SampleWiring.java diff --git a/samples/webflux-security/src/main/java/io/spring/sample/graphql/DataFetchers.java b/samples/webflux-security/src/main/java/io/spring/sample/graphql/DataFetchers.java deleted file mode 100644 index 530cc9da..00000000 --- a/samples/webflux-security/src/main/java/io/spring/sample/graphql/DataFetchers.java +++ /dev/null @@ -1,37 +0,0 @@ -package io.spring.sample.graphql; - -import java.math.BigDecimal; -import java.util.Map; - -import graphql.schema.DataFetcher; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -@Component -public class DataFetchers { - - @Autowired - EmployeeService employeeService; - - public DataFetcher employeeDataFetcher = env -> { - return employeeService.getAllEmployees(); - }; - - @Autowired - SalaryService salaryService; - - public DataFetcher salaryDataFetcher = env -> { - Employee employee = env.getSource(); - return salaryService.getSalaryForEmployee(employee); - }; - - public DataFetcher updateSalaryFetcher = env -> { - Map input = env.getArgument("input"); - String employeeId = input.get("employeeId"); - BigDecimal newSalary = new BigDecimal(input.get("salary")); - salaryService.updateSalary(employeeId, newSalary); - return null; - }; - -} diff --git a/samples/webflux-security/src/main/java/io/spring/sample/graphql/GraphQLWiring.java b/samples/webflux-security/src/main/java/io/spring/sample/graphql/GraphQLWiring.java deleted file mode 100644 index c162c86f..00000000 --- a/samples/webflux-security/src/main/java/io/spring/sample/graphql/GraphQLWiring.java +++ /dev/null @@ -1,34 +0,0 @@ -package io.spring.sample.graphql; - -import graphql.schema.idl.RuntimeWiring; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.graphql.boot.RuntimeWiringCustomizer; -import org.springframework.stereotype.Component; - -@Component -public class GraphQLWiring implements RuntimeWiringCustomizer { - - @Autowired - DataFetchers dataFetchers; - - @Override - public void customize(RuntimeWiring.Builder builder) { - builder.type("Query", - wiringBuilder -> { - return wiringBuilder. - dataFetcher("employees", dataFetchers.employeeDataFetcher); - }); - builder.type("Employee", - wiringBuilder -> { - return wiringBuilder. - dataFetcher("salary", dataFetchers.salaryDataFetcher); - }); - builder.type("Mutation", - wiringBuilder -> { - return wiringBuilder. - dataFetcher("updateSalary", dataFetchers.updateSalaryFetcher); - }); - - } -} diff --git a/samples/webflux-security/src/main/java/io/spring/sample/graphql/SampleWiring.java b/samples/webflux-security/src/main/java/io/spring/sample/graphql/SampleWiring.java new file mode 100644 index 00000000..69fdf12d --- /dev/null +++ b/samples/webflux-security/src/main/java/io/spring/sample/graphql/SampleWiring.java @@ -0,0 +1,49 @@ +package io.spring.sample.graphql; + +import java.math.BigDecimal; +import java.util.Map; + +import graphql.schema.idl.RuntimeWiring; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.graphql.boot.RuntimeWiringCustomizer; +import org.springframework.stereotype.Component; + +@Component +public class SampleWiring implements RuntimeWiringCustomizer { + + final EmployeeService employeeService; + + final SalaryService salaryService; + + public SampleWiring(EmployeeService employeeService, SalaryService salaryService) { + this.employeeService = employeeService; + this.salaryService = salaryService; + } + + + @Override + public void customize(RuntimeWiring.Builder builder) { + builder.type("Query", wiringBuilder -> + wiringBuilder.dataFetcher("employees", env -> + employeeService.getAllEmployees() + ) + ); + builder.type("Employee", wiringBuilder -> + wiringBuilder.dataFetcher("salary", env -> { + Employee employee = env.getSource(); + return salaryService.getSalaryForEmployee(employee); + }) + ); + builder.type("Mutation", wiringBuilder -> + wiringBuilder.dataFetcher("updateSalary", env -> { + Map input = env.getArgument("input"); + String employeeId = input.get("employeeId"); + BigDecimal newSalary = new BigDecimal(input.get("salary")); + salaryService.updateSalary(employeeId, newSalary); + return null; + }) + ); + } + +}