From cc65f39088a8b23e3afe0b0cc9f51601a52206de Mon Sep 17 00:00:00 2001 From: Chris Richardson Date: Tue, 10 Jan 2017 17:17:10 -0800 Subject: [PATCH 1/3] Fixed buildscript issues --- _build-and-test-all.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_build-and-test-all.sh b/_build-and-test-all.sh index 7120f90..b5187d5 100755 --- a/_build-and-test-all.sh +++ b/_build-and-test-all.sh @@ -47,7 +47,7 @@ fi export SERVICE_HOST=$DOCKER_HOST_IP -./gradlew $* build -x :e2e-test:test +./gradlew $BUILD_AND_TEST_ALL_EXTRA_GRADLE_ARGS $* build -x :e2e-test:test if [ -z "$EVENTUATE_LOCAL" ] && [ -z "$EVENTUATE_API_KEY_ID" -o -z "$EVENTUATE_API_KEY_SECRET" ] ; then echo You must set EVENTUATE_API_KEY_ID and EVENTUATE_API_KEY_SECRET @@ -58,11 +58,11 @@ ${DOCKER_COMPOSE?} build ${DOCKER_COMPOSE?} up -d -$DIR/wait-for-services.sh $DOCKER_HOST_IP 8080 8081 8082 +$DIR/wait-for-services.sh $DOCKER_HOST_IP 8080 8081 8082 8083 8084 set -e -./gradlew -a $* :e2e-test:cleanTest :e2e-test:test -P ignoreE2EFailures=false +./gradlew $BUILD_AND_TEST_ALL_EXTRA_GRADLE_ARGS -a $* :e2e-test:cleanTest :e2e-test:test -P ignoreE2EFailures=false if [ $NO_RM = false ] ; then ${DOCKER_COMPOSE?} stop From 6c841000bb289e17eae1326dea01354f1cd2c118 Mon Sep 17 00:00:00 2001 From: Chris Richardson Date: Tue, 10 Jan 2017 17:55:05 -0800 Subject: [PATCH 2/3] Simplified project structure --- .../build.gradle | 14 ------ .../commandside/accounts/AccountCommand.java | 7 --- .../accounts/DeleteAccountCommand.java | 4 -- .../accounts-command-side-service/Dockerfile | 4 -- .../build.gradle | 20 --------- .../main/AccountsCommandSideServiceMain.java | 11 ----- .../accounts-command-side-web/build.gradle | 12 ----- .../CommandSideWebAccountsConfiguration.java | 16 ------- ...ontrollerIntegrationTestConfiguration.java | 11 ----- .../src/test/resources/logback.xml | 19 -------- .../accounts-query-side-service/Dockerfile | 4 -- .../main/AccountsQuerySideServiceMain.java | 11 ----- .../accounts-query-side-web/build.gradle | 10 ----- .../queryside/QuerySideWebConfiguration.java | 14 ------ java-spring/accounts-service/Dockerfile | 4 ++ .../build.gradle | 6 +-- .../accountsservice/AccountsServiceMain.java | 21 +++++++++ .../accountsservice/backend}/Account.java | 3 +- .../backend/AccountCommand.java | 7 +++ .../backend}/AccountService.java | 2 +- .../backend}/AccountWorkflow.java | 3 +- .../AccountsBackendConfiguration.java} | 4 +- .../backend}/CreditAccountCommand.java | 5 +-- .../backend}/DebitAccountCommand.java | 2 +- .../backend/DeleteAccountCommand.java | 4 ++ .../backend}/OpenAccountCommand.java | 2 +- .../web}/AccountController.java | 4 +- .../web/AccountsWebConfiguration.java | 15 +++++++ ...untsCommandSideServiceIntegrationTest.java | 7 +-- ...tsCommandSideServiceTestConfiguration.java | 8 +++- .../backend}/AccountEventTest.java | 2 +- .../accountsservice/backend}/AccountTest.java | 2 +- .../AccountControllerIntegrationTest.java | 2 +- ...ontrollerIntegrationTestConfiguration.java | 13 ++++++ java-spring/accounts-view-service/Dockerfile | 4 ++ .../build.gradle | 15 +++++-- .../AccountsViewServiceMain.java | 21 +++++++++ .../backend}/AccountInfo.java | 3 +- .../backend}/AccountInfoRepository.java | 2 +- .../backend}/AccountInfoUpdateService.java | 4 +- .../backend}/AccountNotFoundException.java | 2 +- .../backend}/AccountQueryService.java | 2 +- .../backend}/AccountQueryWorkflow.java | 14 +++--- .../AccountViewBackendConfiguration.java} | 4 +- .../backend}/MoneyUtil.java | 2 +- .../backend}/QuerySideDependencyChecker.java | 3 +- .../web}/AccountQueryController.java | 11 +++-- .../web/AccountViewWebConfiguration.java} | 13 ++---- .../web}/AccountInfoUpdateServiceTest.java | 8 +++- ...countsQuerySideServiceIntegrationTest.java | 0 ...untsQuerySideServiceTestConfiguration.java | 9 +++- .../backend-integration-tests/build.gradle | 10 ++--- .../backend/BankingTestConfiguration.java | 9 ++-- .../backend/MoneyTransferIntegrationTest.java | 8 ++-- .../AccountQuerySideIntegrationTest.java | 9 ++-- .../AccountQuerySideTestConfiguration.java | 11 ++--- .../CustomerQuerySideIntegrationTest.java | 5 ++- .../CustomerQuerySideTestConfiguration.java | 8 ++-- .../banking/commonauth/AuthConfiguration.java | 15 ++++--- .../backend/common/accounts/AccountEvent.java | 2 +- .../common/customers/CustomerEvent.java | 2 +- .../transactions/MoneyTransferEvent.java | 2 +- .../build.gradle | 12 ----- .../customers/CustomerCommand.java | 6 --- .../customers-command-side-service/Dockerfile | 4 -- ...tomersCommandSideServiceConfiguration.java | 25 ----------- .../main/CustomersCommandSideServiceMain.java | 11 ----- .../customers-command-side-web/build.gradle | 11 ----- .../CustomersCommandSideWebConfiguration.java | 14 ------ .../customers-query-side-service/Dockerfile | 4 -- ...ustomersQuerySideServiceConfiguration.java | 26 ----------- .../main/CustomersQuerySideServiceMain.java | 11 ----- .../customers-query-side-web/build.gradle | 8 ---- .../CustomersQuerySideWebConfiguration.java | 13 ------ java-spring/customers-service/Dockerfile | 4 ++ .../build.gradle | 6 ++- .../CustomersServiceMain.java | 23 ++++++++++ .../backend}/AddToAccountCommand.java | 2 +- .../backend}/CreateCustomerCommand.java | 2 +- .../customersservice/backend}/Customer.java | 4 +- .../CustomerBackendConfiguration.java} | 4 +- .../backend/CustomerCommand.java | 6 +++ .../backend}/CustomerService.java | 2 +- .../backend}/DeleteToAccountCommand.java | 2 +- .../web}/CustomerController.java | 5 +-- .../web/CustomersWebConfiguration.java | 24 ++++++++++ ...mersCommandSideServiceIntegrationTest.java | 2 +- ...rsCommandSideServiceTestConfiguration.java | 11 ++--- .../backend}/CustomerEventTest.java | 2 +- .../backend}/CustomerTest.java | 2 +- java-spring/customers-view-service/Dockerfile | 4 ++ .../build.gradle | 19 ++++++-- .../CustomersViewServiceMain.java | 25 +++++++++++ .../backend}/CustomerInfoUpdateService.java | 8 ++-- .../backend}/CustomerQueryService.java | 6 +-- .../backend}/CustomerQueryWorkflow.java | 4 +- .../CustomerViewBackendConfiguration.java} | 12 ++--- .../backend/CustomerViewRepository.java} | 4 +- .../backend/ViewDependencyChecker.java} | 14 +++--- .../web}/CustomerQueryController.java | 4 +- .../web}/CustomersQueryResponse.java | 2 +- .../web/CustomersViewWebConfiguration.java} | 16 +++---- ...tomersQuerySideServiceIntegrationTest.java | 2 +- ...mersQuerySideServiceTestConfiguration.java | 10 ++--- .../CustomerInfoUpdateServiceTest.java | 12 +++-- java-spring/docker-compose-common.yml | 30 ++++++------- .../docker-compose-eventuate-local.yml | 30 ++++++------- java-spring/docker-compose.yml | 30 ++++++------- java-spring/e2e-test/build.gradle | 4 -- java-spring/monolithic-service/build.gradle | 31 ------------- .../banking/web/BankingWebConfiguration.java | 45 ------------------- .../banking/web/main/BankingMain.java | 11 ----- .../rest-api-integration-tests/build.gradle | 14 ++++++ .../banking/web/BankingAuthTest.java | 0 .../web/BankingWebIntegrationTest.java | 1 - .../web/BankingWebTestConfiguration.java | 23 +++++----- java-spring/settings.gradle | 29 +++--------- .../build.gradle | 14 ------ .../transactions/MoneyTransferCommand.java | 6 --- .../transactions/RecordCreditCommand.java | 4 -- .../transactions/RecordDebitCommand.java | 4 -- .../RecordDebitFailedCommand.java | 4 -- .../Dockerfile | 4 -- .../build.gradle | 20 --------- .../TransactionsCommandSideServiceMain.java | 11 ----- .../build.gradle | 12 ----- ...mmandSideWebTransactionsConfiguration.java | 13 ------ java-spring/transactions-service/Dockerfile | 4 ++ .../build.gradle | 17 +++---- .../TransactionsServiceMain.java | 23 ++++++++++ .../backend}/CreateMoneyTransferCommand.java | 2 +- .../backend}/MoneyTransfer.java | 2 +- .../MoneyTransferBackendConfiguration.java} | 5 +-- .../backend/MoneyTransferCommand.java | 6 +++ .../backend}/MoneyTransferService.java | 2 +- .../backend}/MoneyTransferWorkflow.java | 2 +- .../backend/RecordCreditCommand.java | 4 ++ .../backend/RecordDebitCommand.java | 4 ++ .../backend/RecordDebitFailedCommand.java | 4 ++ .../web}/MoneyTransferController.java | 4 +- .../web/MoneyTransferWebConfiguration.java} | 15 +++---- ...ionsCommandSideServiceIntegrationTest.java | 2 +- ...nsCommandSideServiceTestConfiguration.java | 7 ++- .../backend}/MoneyTransferEventTest.java | 3 +- ...oneyTransferControllerIntegrationTest.java | 2 +- ...ontrollerIntegrationTestConfiguration.java | 6 +-- 146 files changed, 530 insertions(+), 783 deletions(-) delete mode 100644 java-spring/accounts-command-side-backend/build.gradle delete mode 100644 java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountCommand.java delete mode 100644 java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/DeleteAccountCommand.java delete mode 100644 java-spring/accounts-command-side-service/Dockerfile delete mode 100644 java-spring/accounts-command-side-service/build.gradle delete mode 100644 java-spring/accounts-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/AccountsCommandSideServiceMain.java delete mode 100644 java-spring/accounts-command-side-web/build.gradle delete mode 100644 java-spring/accounts-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/accounts/CommandSideWebAccountsConfiguration.java delete mode 100644 java-spring/accounts-command-side-web/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/accounts/AccountControllerIntegrationTestConfiguration.java delete mode 100644 java-spring/accounts-command-side-web/src/test/resources/logback.xml delete mode 100644 java-spring/accounts-query-side-service/Dockerfile delete mode 100644 java-spring/accounts-query-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/AccountsQuerySideServiceMain.java delete mode 100644 java-spring/accounts-query-side-web/build.gradle delete mode 100644 java-spring/accounts-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/queryside/QuerySideWebConfiguration.java create mode 100644 java-spring/accounts-service/Dockerfile rename java-spring/{customers-query-side-service => accounts-service}/build.gradle (78%) create mode 100644 java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/AccountsServiceMain.java rename java-spring/{accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts => accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend}/Account.java (94%) create mode 100644 java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountCommand.java rename java-spring/{accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts => accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend}/AccountService.java (90%) rename java-spring/{accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts => accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend}/AccountWorkflow.java (87%) rename java-spring/{accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountConfiguration.java => accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountsBackendConfiguration.java} (85%) rename java-spring/{accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts => accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend}/CreditAccountCommand.java (78%) rename java-spring/{accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts => accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend}/DebitAccountCommand.java (82%) create mode 100644 java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/DeleteAccountCommand.java rename java-spring/{accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts => accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend}/OpenAccountCommand.java (88%) rename java-spring/{accounts-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/accounts => accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/web}/AccountController.java (88%) create mode 100644 java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/web/AccountsWebConfiguration.java rename java-spring/{accounts-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web => accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice}/AccountsCommandSideServiceIntegrationTest.java (92%) rename java-spring/{accounts-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web => accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice}/AccountsCommandSideServiceTestConfiguration.java (70%) rename java-spring/{accounts-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts => accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend}/AccountEventTest.java (73%) rename java-spring/{accounts-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts => accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend}/AccountTest.java (89%) rename java-spring/{accounts-command-side-web/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/accounts => accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/web}/AccountControllerIntegrationTest.java (95%) create mode 100644 java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/web/AccountControllerIntegrationTestConfiguration.java create mode 100644 java-spring/accounts-view-service/Dockerfile rename java-spring/{accounts-query-side-backend => accounts-view-service}/build.gradle (52%) create mode 100644 java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/AccountsViewServiceMain.java rename java-spring/{accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts => accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend}/AccountInfo.java (92%) rename java-spring/{accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts => accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend}/AccountInfoRepository.java (72%) rename java-spring/{accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts => accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend}/AccountInfoUpdateService.java (95%) rename java-spring/{accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts => accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend}/AccountNotFoundException.java (65%) rename java-spring/{accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts => accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend}/AccountQueryService.java (87%) rename java-spring/{accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts => accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend}/AccountQueryWorkflow.java (91%) rename java-spring/{accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/QuerySideAccountConfiguration.java => accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountViewBackendConfiguration.java} (89%) rename java-spring/{accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts => accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend}/MoneyUtil.java (66%) rename java-spring/{accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts => accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend}/QuerySideDependencyChecker.java (86%) rename java-spring/{accounts-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/queryside/accounts => accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/web}/AccountQueryController.java (84%) rename java-spring/{accounts-query-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsQuerySideServiceConfiguration.java => accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/web/AccountViewWebConfiguration.java} (52%) rename java-spring/{accounts-query-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts => accounts-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web}/AccountInfoUpdateServiceTest.java (90%) rename java-spring/{accounts-query-side-service => accounts-view-service}/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsQuerySideServiceIntegrationTest.java (100%) rename java-spring/{accounts-query-side-service => accounts-view-service}/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsQuerySideServiceTestConfiguration.java (64%) delete mode 100644 java-spring/customers-command-side-backend/build.gradle delete mode 100644 java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CustomerCommand.java delete mode 100644 java-spring/customers-command-side-service/Dockerfile delete mode 100644 java-spring/customers-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersCommandSideServiceConfiguration.java delete mode 100644 java-spring/customers-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/CustomersCommandSideServiceMain.java delete mode 100644 java-spring/customers-command-side-web/build.gradle delete mode 100644 java-spring/customers-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/customers/CustomersCommandSideWebConfiguration.java delete mode 100644 java-spring/customers-query-side-service/Dockerfile delete mode 100644 java-spring/customers-query-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersQuerySideServiceConfiguration.java delete mode 100644 java-spring/customers-query-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/CustomersQuerySideServiceMain.java delete mode 100644 java-spring/customers-query-side-web/build.gradle delete mode 100644 java-spring/customers-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/customers/queryside/CustomersQuerySideWebConfiguration.java create mode 100644 java-spring/customers-service/Dockerfile rename java-spring/{customers-command-side-service => customers-service}/build.gradle (81%) create mode 100644 java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/CustomersServiceMain.java rename java-spring/{customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers => customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend}/AddToAccountCommand.java (82%) rename java-spring/{customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers => customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend}/CreateCustomerCommand.java (80%) rename java-spring/{customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers => customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend}/Customer.java (93%) rename java-spring/{customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CustomerConfiguration.java => customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CustomerBackendConfiguration.java} (85%) create mode 100644 java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CustomerCommand.java rename java-spring/{customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers => customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend}/CustomerService.java (92%) rename java-spring/{customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers => customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend}/DeleteToAccountCommand.java (80%) rename java-spring/{customers-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/customers => customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/web}/CustomerController.java (87%) create mode 100644 java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/web/CustomersWebConfiguration.java rename java-spring/{customers-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web => customers-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice}/CustomersCommandSideServiceIntegrationTest.java (95%) rename java-spring/{customers-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web => customers-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice}/CustomersCommandSideServiceTestConfiguration.java (72%) rename java-spring/{customers-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers => customers-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend}/CustomerEventTest.java (73%) rename java-spring/{customers-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers => customers-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend}/CustomerTest.java (90%) create mode 100644 java-spring/customers-view-service/Dockerfile rename java-spring/{customers-query-side-backend => customers-view-service}/build.gradle (56%) create mode 100644 java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/CustomersViewServiceMain.java rename java-spring/{customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers => customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend}/CustomerInfoUpdateService.java (89%) rename java-spring/{customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers => customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend}/CustomerQueryService.java (81%) rename java-spring/{customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers => customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend}/CustomerQueryWorkflow.java (96%) rename java-spring/{customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/QuerySideCustomerConfiguration.java => customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerViewBackendConfiguration.java} (61%) rename java-spring/{customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/QuerySideCustomerRepository.java => customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerViewRepository.java} (59%) rename java-spring/{customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/QuerySideDependencyChecker.java => customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/ViewDependencyChecker.java} (58%) rename java-spring/{customers-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/customers/queryside => customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/web}/CustomerQueryController.java (89%) rename java-spring/{customers-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/customers/queryside => customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/web}/CustomersQueryResponse.java (87%) rename java-spring/{accounts-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsCommandSideServiceConfiguration.java => customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/web/CustomersViewWebConfiguration.java} (50%) rename java-spring/{customers-query-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web => customers-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice}/CustomersQuerySideServiceIntegrationTest.java (95%) rename java-spring/{customers-query-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web => customers-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice}/CustomersQuerySideServiceTestConfiguration.java (68%) rename java-spring/{customers-query-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers => customers-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend}/CustomerInfoUpdateServiceTest.java (89%) delete mode 100644 java-spring/monolithic-service/build.gradle delete mode 100644 java-spring/monolithic-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingWebConfiguration.java delete mode 100644 java-spring/monolithic-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/BankingMain.java create mode 100644 java-spring/rest-api-integration-tests/build.gradle rename java-spring/{monolithic-service => rest-api-integration-tests}/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingAuthTest.java (100%) rename java-spring/{monolithic-service => rest-api-integration-tests}/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingWebIntegrationTest.java (94%) rename java-spring/{monolithic-service => rest-api-integration-tests}/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingWebTestConfiguration.java (60%) delete mode 100644 java-spring/transactions-command-side-backend/build.gradle delete mode 100644 java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransferCommand.java delete mode 100644 java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/RecordCreditCommand.java delete mode 100644 java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/RecordDebitCommand.java delete mode 100644 java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/RecordDebitFailedCommand.java delete mode 100644 java-spring/transactions-command-side-service/Dockerfile delete mode 100644 java-spring/transactions-command-side-service/build.gradle delete mode 100644 java-spring/transactions-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/TransactionsCommandSideServiceMain.java delete mode 100644 java-spring/transactions-command-side-web/build.gradle delete mode 100644 java-spring/transactions-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/transactions/CommandSideWebTransactionsConfiguration.java create mode 100644 java-spring/transactions-service/Dockerfile rename java-spring/{accounts-query-side-service => transactions-service}/build.gradle (58%) create mode 100644 java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/TransactionsServiceMain.java rename java-spring/{transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions => transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend}/CreateMoneyTransferCommand.java (80%) rename java-spring/{transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions => transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend}/MoneyTransfer.java (94%) rename java-spring/{transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransferConfiguration.java => transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransferBackendConfiguration.java} (82%) create mode 100644 java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransferCommand.java rename java-spring/{transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions => transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend}/MoneyTransferService.java (88%) rename java-spring/{transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions => transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend}/MoneyTransferWorkflow.java (93%) create mode 100644 java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/RecordCreditCommand.java create mode 100644 java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/RecordDebitCommand.java create mode 100644 java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/RecordDebitFailedCommand.java rename java-spring/{transactions-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/transactions => transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/web}/MoneyTransferController.java (89%) rename java-spring/{transactions-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/TransactionsCommandSideServiceConfiguration.java => transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/web/MoneyTransferWebConfiguration.java} (50%) rename java-spring/{transactions-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web => transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice}/TransactionsCommandSideServiceIntegrationTest.java (92%) rename java-spring/{transactions-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web => transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice}/TransactionsCommandSideServiceTestConfiguration.java (75%) rename java-spring/{transactions-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions => transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend}/MoneyTransferEventTest.java (72%) rename java-spring/{transactions-command-side-web/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/transactions => transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/web}/MoneyTransferControllerIntegrationTest.java (95%) rename java-spring/{transactions-command-side-web/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/transactions => transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/web}/MoneyTransferControllerIntegrationTestConfiguration.java (52%) diff --git a/java-spring/accounts-command-side-backend/build.gradle b/java-spring/accounts-command-side-backend/build.gradle deleted file mode 100644 index 075d8fa..0000000 --- a/java-spring/accounts-command-side-backend/build.gradle +++ /dev/null @@ -1,14 +0,0 @@ -apply plugin: 'java' - -dependencies { - - compile project(":common-backend") - compile "io.eventuate.client.java:eventuate-client-java-spring:$eventuateClientVersion" - - testCompile project(":testutil") - testCompile "junit:junit:4.11" - testCompile "org.springframework.boot:spring-boot-starter-test:$springBootVersion" - testCompile "io.eventuate.client.java:eventuate-client-java-jdbc:$eventuateClientVersion" - - -} diff --git a/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountCommand.java b/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountCommand.java deleted file mode 100644 index 09e40a8..0000000 --- a/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountCommand.java +++ /dev/null @@ -1,7 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts; - - -import io.eventuate.Command; - -interface AccountCommand extends Command { -} diff --git a/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/DeleteAccountCommand.java b/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/DeleteAccountCommand.java deleted file mode 100644 index b96c6b3..0000000 --- a/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/DeleteAccountCommand.java +++ /dev/null @@ -1,4 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts; - -public class DeleteAccountCommand implements AccountCommand { -} diff --git a/java-spring/accounts-command-side-service/Dockerfile b/java-spring/accounts-command-side-service/Dockerfile deleted file mode 100644 index 89c87f9..0000000 --- a/java-spring/accounts-command-side-service/Dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM java:openjdk-8u91-jdk -CMD java ${JAVA_OPTS} -jar accounts-command-side-service.jar -EXPOSE 8080 -COPY build/libs/accounts-command-side-service.jar . \ No newline at end of file diff --git a/java-spring/accounts-command-side-service/build.gradle b/java-spring/accounts-command-side-service/build.gradle deleted file mode 100644 index 19b152b..0000000 --- a/java-spring/accounts-command-side-service/build.gradle +++ /dev/null @@ -1,20 +0,0 @@ -apply plugin: VerifyMongoDBConfigurationPlugin -apply plugin: VerifyEventStoreEnvironmentPlugin -apply plugin: EventuateDependencyPlugin - -apply plugin: 'spring-boot' - -dependencies { - compile project(":accounts-command-side-web") - compile project(":common-swagger") - - compile "org.springframework.boot:spring-boot-starter-web" - compile "org.springframework.boot:spring-boot-starter-actuator" - - testCompile "org.springframework.boot:spring-boot-starter-test" - -} - -test { - ignoreFailures System.getenv("EVENTUATE_API_KEY_ID") == null -} diff --git a/java-spring/accounts-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/AccountsCommandSideServiceMain.java b/java-spring/accounts-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/AccountsCommandSideServiceMain.java deleted file mode 100644 index 4ecadc8..0000000 --- a/java-spring/accounts-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/AccountsCommandSideServiceMain.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.main; - -import net.chrisrichardson.eventstore.javaexamples.banking.web.AccountsCommandSideServiceConfiguration; -import org.springframework.boot.SpringApplication; - -public class AccountsCommandSideServiceMain { - - public static void main(String[] args) { - SpringApplication.run(AccountsCommandSideServiceConfiguration.class, args); - } -} diff --git a/java-spring/accounts-command-side-web/build.gradle b/java-spring/accounts-command-side-web/build.gradle deleted file mode 100644 index 4ab9880..0000000 --- a/java-spring/accounts-command-side-web/build.gradle +++ /dev/null @@ -1,12 +0,0 @@ - -dependencies { - compile project(":accounts-command-side-backend") - - compile "org.springframework.boot:spring-boot-starter-web:$springBootVersion" - - testCompile "org.springframework.boot:spring-boot-starter-test:$springBootVersion" - testCompile "io.eventuate.client.java:eventuate-client-java-jdbc:$eventuateClientVersion" -} - - - diff --git a/java-spring/accounts-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/accounts/CommandSideWebAccountsConfiguration.java b/java-spring/accounts-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/accounts/CommandSideWebAccountsConfiguration.java deleted file mode 100644 index e492d7b..0000000 --- a/java-spring/accounts-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/accounts/CommandSideWebAccountsConfiguration.java +++ /dev/null @@ -1,16 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.accounts; - -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts.AccountConfiguration; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; - -@Configuration -@Import({AccountConfiguration.class}) -@ComponentScan -@EnableAutoConfiguration -public class CommandSideWebAccountsConfiguration { - - -} diff --git a/java-spring/accounts-command-side-web/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/accounts/AccountControllerIntegrationTestConfiguration.java b/java-spring/accounts-command-side-web/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/accounts/AccountControllerIntegrationTestConfiguration.java deleted file mode 100644 index fbd5cff..0000000 --- a/java-spring/accounts-command-side-web/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/accounts/AccountControllerIntegrationTestConfiguration.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.accounts; - -import io.eventuate.javaclient.spring.jdbc.EventuateJdbcEventStoreConfiguration; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; - -@Configuration -@Import({CommandSideWebAccountsConfiguration.class, EventuateJdbcEventStoreConfiguration.class}) -public class AccountControllerIntegrationTestConfiguration { - -} diff --git a/java-spring/accounts-command-side-web/src/test/resources/logback.xml b/java-spring/accounts-command-side-web/src/test/resources/logback.xml deleted file mode 100644 index b487881..0000000 --- a/java-spring/accounts-command-side-web/src/test/resources/logback.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - %d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n - - - - - - - - - - - diff --git a/java-spring/accounts-query-side-service/Dockerfile b/java-spring/accounts-query-side-service/Dockerfile deleted file mode 100644 index d6db46b..0000000 --- a/java-spring/accounts-query-side-service/Dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM java:openjdk-8u91-jdk -CMD java ${JAVA_OPTS} -jar accounts-query-side-service.jar -EXPOSE 8080 -COPY build/libs/accounts-query-side-service.jar . diff --git a/java-spring/accounts-query-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/AccountsQuerySideServiceMain.java b/java-spring/accounts-query-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/AccountsQuerySideServiceMain.java deleted file mode 100644 index 0450a28..0000000 --- a/java-spring/accounts-query-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/AccountsQuerySideServiceMain.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.main; - -import net.chrisrichardson.eventstore.javaexamples.banking.web.AccountsQuerySideServiceConfiguration; -import org.springframework.boot.SpringApplication; - -public class AccountsQuerySideServiceMain { - - public static void main(String[] args) { - SpringApplication.run(AccountsQuerySideServiceConfiguration.class, args); - } -} diff --git a/java-spring/accounts-query-side-web/build.gradle b/java-spring/accounts-query-side-web/build.gradle deleted file mode 100644 index 7f0c693..0000000 --- a/java-spring/accounts-query-side-web/build.gradle +++ /dev/null @@ -1,10 +0,0 @@ - -dependencies { - compile project(":accounts-query-side-backend") - - compile "org.springframework.boot:spring-boot-starter-web:$springBootVersion" - compile "org.springframework.boot:spring-boot-starter-actuator:$springBootVersion" -} - - - diff --git a/java-spring/accounts-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/queryside/QuerySideWebConfiguration.java b/java-spring/accounts-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/queryside/QuerySideWebConfiguration.java deleted file mode 100644 index 884a176..0000000 --- a/java-spring/accounts-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/queryside/QuerySideWebConfiguration.java +++ /dev/null @@ -1,14 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.queryside; - -import net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts.QuerySideAccountConfiguration; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; - -@Configuration -@Import({QuerySideAccountConfiguration.class}) -@ComponentScan -public class QuerySideWebConfiguration { - - -} diff --git a/java-spring/accounts-service/Dockerfile b/java-spring/accounts-service/Dockerfile new file mode 100644 index 0000000..cfc6b09 --- /dev/null +++ b/java-spring/accounts-service/Dockerfile @@ -0,0 +1,4 @@ +FROM java:openjdk-8u91-jdk +CMD java ${JAVA_OPTS} -jar accounts-service.jar +EXPOSE 8080 +COPY build/libs/accounts-service.jar . \ No newline at end of file diff --git a/java-spring/customers-query-side-service/build.gradle b/java-spring/accounts-service/build.gradle similarity index 78% rename from java-spring/customers-query-side-service/build.gradle rename to java-spring/accounts-service/build.gradle index 5f536f1..a4f394d 100644 --- a/java-spring/customers-query-side-service/build.gradle +++ b/java-spring/accounts-service/build.gradle @@ -1,18 +1,17 @@ -apply plugin: VerifyMongoDBConfigurationPlugin apply plugin: VerifyEventStoreEnvironmentPlugin apply plugin: EventuateDependencyPlugin apply plugin: 'spring-boot' dependencies { - compile project(":customers-query-side-web") + compile project(":common-backend") compile project(":common-swagger") compile "org.springframework.boot:spring-boot-starter-web" compile "org.springframework.boot:spring-boot-starter-actuator" testCompile project(":testutil") - testCompile project(":customers-command-side-service") + testCompile "junit:junit:4.11" testCompile "org.springframework.boot:spring-boot-starter-test" testCompile "io.eventuate.client.java:eventuate-client-java-jdbc:$eventuateClientVersion" } @@ -20,4 +19,3 @@ dependencies { test { ignoreFailures System.getenv("EVENTUATE_API_KEY_ID") == null } - diff --git a/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/AccountsServiceMain.java b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/AccountsServiceMain.java new file mode 100644 index 0000000..f076881 --- /dev/null +++ b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/AccountsServiceMain.java @@ -0,0 +1,21 @@ +package net.chrisrichardson.eventstore.javaexamples.banking.accountsservice; + +import io.eventuate.javaclient.driver.EventuateDriverConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.web.AccountsWebConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.commonswagger.CommonSwaggerConfiguration; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; + +@Configuration +@Import({AccountsWebConfiguration.class, EventuateDriverConfiguration.class, CommonSwaggerConfiguration.class}) +@EnableAutoConfiguration +@ComponentScan +public class AccountsServiceMain { + + public static void main(String[] args) { + SpringApplication.run(AccountsServiceMain.class, args); + } +} diff --git a/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/Account.java b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/Account.java similarity index 94% rename from java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/Account.java rename to java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/Account.java index 0a4fc1f..a1d7941 100644 --- a/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/Account.java +++ b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/Account.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend; import io.eventuate.Event; import io.eventuate.EventUtil; @@ -7,7 +7,6 @@ import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.accoun import java.math.BigDecimal; import java.util.ArrayList; -import java.util.Date; import java.util.List; public class Account extends ReflectiveMutableCommandProcessingAggregate { diff --git a/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountCommand.java b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountCommand.java new file mode 100644 index 0000000..e746430 --- /dev/null +++ b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountCommand.java @@ -0,0 +1,7 @@ +package net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend; + + +import io.eventuate.Command; + +interface AccountCommand extends Command { +} diff --git a/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountService.java b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountService.java similarity index 90% rename from java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountService.java rename to java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountService.java index 19ded7b..dcbf178 100644 --- a/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountService.java +++ b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountService.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend; import io.eventuate.AggregateRepository; diff --git a/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountWorkflow.java b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountWorkflow.java similarity index 87% rename from java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountWorkflow.java rename to java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountWorkflow.java index cdc3fb8..8a8006d 100644 --- a/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountWorkflow.java +++ b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountWorkflow.java @@ -1,11 +1,10 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend; import io.eventuate.EntityWithIdAndVersion; import io.eventuate.EventHandlerContext; import io.eventuate.EventHandlerMethod; import io.eventuate.EventSubscriber; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.customers.CustomerToAccountDeleted; import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.transactions.DebitRecordedEvent; import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.transactions.MoneyTransferCreatedEvent; diff --git a/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountConfiguration.java b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountsBackendConfiguration.java similarity index 85% rename from java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountConfiguration.java rename to java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountsBackendConfiguration.java index f58b0bd..fd64afb 100644 --- a/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountConfiguration.java +++ b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountsBackendConfiguration.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend; import io.eventuate.AggregateRepository; import io.eventuate.EventuateAggregateStore; @@ -8,7 +8,7 @@ import org.springframework.context.annotation.Configuration; @Configuration @EnableEventHandlers -public class AccountConfiguration { +public class AccountsBackendConfiguration { @Bean public AccountWorkflow accountWorkflow() { diff --git a/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/CreditAccountCommand.java b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/CreditAccountCommand.java similarity index 78% rename from java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/CreditAccountCommand.java rename to java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/CreditAccountCommand.java index a00bd17..7b166d0 100644 --- a/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/CreditAccountCommand.java +++ b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/CreditAccountCommand.java @@ -1,7 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts; - -import io.eventuate.Aggregate; - +package net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend; import java.math.BigDecimal; diff --git a/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/DebitAccountCommand.java b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/DebitAccountCommand.java similarity index 82% rename from java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/DebitAccountCommand.java rename to java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/DebitAccountCommand.java index 6953124..f15a366 100644 --- a/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/DebitAccountCommand.java +++ b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/DebitAccountCommand.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend; import java.math.BigDecimal; diff --git a/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/DeleteAccountCommand.java b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/DeleteAccountCommand.java new file mode 100644 index 0000000..29cc315 --- /dev/null +++ b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/DeleteAccountCommand.java @@ -0,0 +1,4 @@ +package net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend; + +public class DeleteAccountCommand implements AccountCommand { +} diff --git a/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/OpenAccountCommand.java b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/OpenAccountCommand.java similarity index 88% rename from java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/OpenAccountCommand.java rename to java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/OpenAccountCommand.java index 02485a4..5d58a3c 100644 --- a/java-spring/accounts-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/OpenAccountCommand.java +++ b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/OpenAccountCommand.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend; import java.math.BigDecimal; diff --git a/java-spring/accounts-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/accounts/AccountController.java b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/web/AccountController.java similarity index 88% rename from java-spring/accounts-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/accounts/AccountController.java rename to java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/web/AccountController.java index f6f4301..206eb5e 100644 --- a/java-spring/accounts-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/accounts/AccountController.java +++ b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/web/AccountController.java @@ -1,6 +1,6 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.web; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts.AccountService; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend.AccountService; import net.chrisrichardson.eventstore.javaexamples.banking.common.accounts.CreateAccountRequest; import net.chrisrichardson.eventstore.javaexamples.banking.common.accounts.CreateAccountResponse; import net.chrisrichardson.eventstore.javaexamples.banking.common.accounts.DeleteAccountResponse; diff --git a/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/web/AccountsWebConfiguration.java b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/web/AccountsWebConfiguration.java new file mode 100644 index 0000000..92e764b --- /dev/null +++ b/java-spring/accounts-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/web/AccountsWebConfiguration.java @@ -0,0 +1,15 @@ +package net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.web; + +import net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend.AccountsBackendConfiguration; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; + +@Configuration +@Import({AccountsBackendConfiguration.class}) +@ComponentScan +public class AccountsWebConfiguration { + + +} diff --git a/java-spring/accounts-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsCommandSideServiceIntegrationTest.java b/java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/AccountsCommandSideServiceIntegrationTest.java similarity index 92% rename from java-spring/accounts-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsCommandSideServiceIntegrationTest.java rename to java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/AccountsCommandSideServiceIntegrationTest.java index c015229..894d17c 100644 --- a/java-spring/accounts-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsCommandSideServiceIntegrationTest.java +++ b/java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/AccountsCommandSideServiceIntegrationTest.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsservice; import net.chrisrichardson.eventstore.javaexamples.banking.common.accounts.CreateAccountRequest; import net.chrisrichardson.eventstore.javaexamples.banking.common.accounts.CreateAccountResponse; @@ -33,10 +33,9 @@ public class AccountsCommandSideServiceIntegrationTest { @Test - public void shouldCreateAccountsAndTransferMoney() { + public void shouldCreateAccounts() { BigDecimal initialFromAccountBalance = new BigDecimal(500); BigDecimal initialToAccountBalance = new BigDecimal(100); - BigDecimal amountToTransfer = new BigDecimal(150); String customerId = "00000000-00000000"; String title = "My Account"; @@ -48,8 +47,6 @@ public class AccountsCommandSideServiceIntegrationTest { Assert.assertNotNull(fromAccountId); Assert.assertNotNull(toAccountId); - - } diff --git a/java-spring/accounts-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsCommandSideServiceTestConfiguration.java b/java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/AccountsCommandSideServiceTestConfiguration.java similarity index 70% rename from java-spring/accounts-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsCommandSideServiceTestConfiguration.java rename to java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/AccountsCommandSideServiceTestConfiguration.java index 4276e00..9701a55 100644 --- a/java-spring/accounts-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsCommandSideServiceTestConfiguration.java +++ b/java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/AccountsCommandSideServiceTestConfiguration.java @@ -1,5 +1,8 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsservice; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.web.AccountsWebConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.commonauth.AuthConfiguration; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.web.HttpMessageConverters; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -12,7 +15,8 @@ import java.util.Arrays; import java.util.List; @Configuration -@Import(AccountsCommandSideServiceConfiguration.class) +@Import({AccountsWebConfiguration.class, AuthConfiguration.class}) +@EnableAutoConfiguration public class AccountsCommandSideServiceTestConfiguration { @Bean diff --git a/java-spring/accounts-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountEventTest.java b/java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountEventTest.java similarity index 73% rename from java-spring/accounts-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountEventTest.java rename to java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountEventTest.java index b4cb632..bd8d205 100644 --- a/java-spring/accounts-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountEventTest.java +++ b/java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountEventTest.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend; import net.chrisrichardson.eventstorestore.javaexamples.testutil.AbstractEntityEventTest; diff --git a/java-spring/accounts-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountTest.java b/java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountTest.java similarity index 89% rename from java-spring/accounts-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountTest.java rename to java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountTest.java index 7939e59..77be8d4 100644 --- a/java-spring/accounts-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/accounts/AccountTest.java +++ b/java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/backend/AccountTest.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend; import io.eventuate.Event; import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.accounts.AccountOpenedEvent; diff --git a/java-spring/accounts-command-side-web/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/accounts/AccountControllerIntegrationTest.java b/java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/web/AccountControllerIntegrationTest.java similarity index 95% rename from java-spring/accounts-command-side-web/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/accounts/AccountControllerIntegrationTest.java rename to java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/web/AccountControllerIntegrationTest.java index e1be1e1..8739c69 100644 --- a/java-spring/accounts-command-side-web/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/accounts/AccountControllerIntegrationTest.java +++ b/java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/web/AccountControllerIntegrationTest.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.web; import org.junit.Before; import org.junit.Test; diff --git a/java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/web/AccountControllerIntegrationTestConfiguration.java b/java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/web/AccountControllerIntegrationTestConfiguration.java new file mode 100644 index 0000000..4a9a313 --- /dev/null +++ b/java-spring/accounts-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsservice/web/AccountControllerIntegrationTestConfiguration.java @@ -0,0 +1,13 @@ +package net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.web; + +import io.eventuate.javaclient.spring.jdbc.EmbeddedTestAggregateStoreConfiguration; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; + +@Configuration +@Import({AccountsWebConfiguration.class, EmbeddedTestAggregateStoreConfiguration.class}) +@EnableAutoConfiguration +public class AccountControllerIntegrationTestConfiguration { + +} diff --git a/java-spring/accounts-view-service/Dockerfile b/java-spring/accounts-view-service/Dockerfile new file mode 100644 index 0000000..30b248a --- /dev/null +++ b/java-spring/accounts-view-service/Dockerfile @@ -0,0 +1,4 @@ +FROM java:openjdk-8u91-jdk +CMD java ${JAVA_OPTS} -jar accounts-view-service.jar +EXPOSE 8080 +COPY build/libs/accounts-view-service.jar . diff --git a/java-spring/accounts-query-side-backend/build.gradle b/java-spring/accounts-view-service/build.gradle similarity index 52% rename from java-spring/accounts-query-side-backend/build.gradle rename to java-spring/accounts-view-service/build.gradle index 0fe1071..5e51216 100644 --- a/java-spring/accounts-query-side-backend/build.gradle +++ b/java-spring/accounts-view-service/build.gradle @@ -1,8 +1,15 @@ -apply plugin: 'java' +apply plugin: VerifyMongoDBConfigurationPlugin +apply plugin: VerifyEventStoreEnvironmentPlugin +apply plugin: EventuateDependencyPlugin + +apply plugin: 'spring-boot' dependencies { + compile project(":common-swagger") compile project(":common-backend") + compile "org.springframework.boot:spring-boot-starter-web:$springBootVersion" + compile "org.springframework.boot:spring-boot-starter-actuator:$springBootVersion" compile "io.eventuate.client.java:eventuate-client-java-spring:$eventuateClientVersion" compile "org.springframework.boot:spring-boot-starter-data-mongodb:$springBootVersion" @@ -10,6 +17,8 @@ dependencies { testCompile "junit:junit:4.11" testCompile "org.springframework.boot:spring-boot-starter-test:$springBootVersion" testCompile "io.eventuate.client.java:eventuate-client-java-jdbc:$eventuateClientVersion" - - +} + +test { + ignoreFailures System.getenv("EVENTUATE_API_KEY_ID") == null } diff --git a/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/AccountsViewServiceMain.java b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/AccountsViewServiceMain.java new file mode 100644 index 0000000..2913e76 --- /dev/null +++ b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/AccountsViewServiceMain.java @@ -0,0 +1,21 @@ +package net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice; + +import io.eventuate.javaclient.driver.EventuateDriverConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.web.AccountViewWebConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.commonswagger.CommonSwaggerConfiguration; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; + +@Configuration +@Import({AccountViewWebConfiguration.class, EventuateDriverConfiguration.class, CommonSwaggerConfiguration.class}) +@EnableAutoConfiguration +@ComponentScan +public class AccountsViewServiceMain { + + public static void main(String[] args) { + SpringApplication.run(AccountsViewServiceMain.class, args); + } +} diff --git a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfo.java b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountInfo.java similarity index 92% rename from java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfo.java rename to java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountInfo.java index 8574f66..6c71642 100644 --- a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfo.java +++ b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountInfo.java @@ -1,9 +1,8 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend; import com.fasterxml.jackson.annotation.JsonProperty; import net.chrisrichardson.eventstore.javaexamples.banking.common.accounts.AccountChangeInfo; import net.chrisrichardson.eventstore.javaexamples.banking.common.accounts.AccountTransactionInfo; -import net.chrisrichardson.eventstore.javaexamples.banking.common.transactions.TransferState; import java.util.*; diff --git a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfoRepository.java b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountInfoRepository.java similarity index 72% rename from java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfoRepository.java rename to java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountInfoRepository.java index ec27c6b..7df97af 100644 --- a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfoRepository.java +++ b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountInfoRepository.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend; import org.springframework.data.mongodb.repository.MongoRepository; diff --git a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfoUpdateService.java b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountInfoUpdateService.java similarity index 95% rename from java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfoUpdateService.java rename to java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountInfoUpdateService.java index e86d57c..21a91df 100644 --- a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfoUpdateService.java +++ b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountInfoUpdateService.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend; import com.mongodb.WriteResult; import io.eventuate.Int128; @@ -15,7 +15,7 @@ import org.springframework.data.mongodb.core.query.Update; import java.math.BigDecimal; import java.util.Date; -import static net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts.MoneyUtil.toIntegerRepr; +import static net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend.MoneyUtil.toIntegerRepr; import static org.springframework.data.mongodb.core.query.Criteria.where; public class AccountInfoUpdateService { diff --git a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountNotFoundException.java b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountNotFoundException.java similarity index 65% rename from java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountNotFoundException.java rename to java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountNotFoundException.java index f06838c..7d6115b 100644 --- a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountNotFoundException.java +++ b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountNotFoundException.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend; public class AccountNotFoundException extends RuntimeException { diff --git a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountQueryService.java b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountQueryService.java similarity index 87% rename from java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountQueryService.java rename to java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountQueryService.java index 3dfa68b..277ca8c 100644 --- a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountQueryService.java +++ b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountQueryService.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend; import java.util.List; diff --git a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountQueryWorkflow.java b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountQueryWorkflow.java similarity index 91% rename from java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountQueryWorkflow.java rename to java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountQueryWorkflow.java index 5437c8e..5fc76de 100644 --- a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountQueryWorkflow.java +++ b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountQueryWorkflow.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend; import io.eventuate.DispatchedEvent; import io.eventuate.EventHandlerMethod; @@ -16,10 +16,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.math.BigDecimal; -import java.util.Date; - -import static net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts.MoneyUtil.toIntegerRepr; +import static net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend.MoneyUtil.toIntegerRepr; @EventSubscriber(id="querySideEventHandlers") public class AccountQueryWorkflow { @@ -36,7 +34,7 @@ public class AccountQueryWorkflow { AccountOpenedEvent event = de.getEvent(); String id = de.getEntityId(); Int128 eventId = de.getEventId(); - logger.info("**************** account version=" + id + ", " + eventId); + logger.info("**************** account version={}, {}", id, eventId); BigDecimal initialBalance = event.getInitialBalance(); String customerId = event.getCustomerId(); @@ -58,8 +56,8 @@ public class AccountQueryWorkflow { String moneyTransferId = de.getEntityId(); String fromAccountId = de.getEvent().getDetails().getFromAccountId(); String toAccountId = de.getEvent().getDetails().getToAccountId(); - logger.info("**************** account version=" + fromAccountId + ", " + eventId); - logger.info("**************** account version=" + toAccountId + ", " + eventId); + logger.info("**************** account version={}, {}", fromAccountId, eventId); + logger.info("**************** account version={}, {}", toAccountId, eventId); AccountTransactionInfo ti = new AccountTransactionInfo(moneyTransferId, fromAccountId, @@ -120,7 +118,7 @@ public class AccountQueryWorkflow { long balanceDelta = amount * delta; AccountChangeInfo ci = new AccountChangeInfo(changeId, transactionId, de.getEvent().getClass().getSimpleName(), amount, balanceDelta); String accountId = de.getEntityId(); - logger.info("**************** account version=" + accountId + ", " + de.getEventId().asString()); + logger.info("**************** account version={}, {}", accountId, de.getEventId().asString()); accountInfoUpdateService.updateBalance(accountId, changeId, balanceDelta, ci); } diff --git a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/QuerySideAccountConfiguration.java b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountViewBackendConfiguration.java similarity index 89% rename from java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/QuerySideAccountConfiguration.java rename to java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountViewBackendConfiguration.java index 43104bb..d6e7d32 100644 --- a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/QuerySideAccountConfiguration.java +++ b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/AccountViewBackendConfiguration.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend; import io.eventuate.javaclient.spring.EnableEventHandlers; @@ -10,7 +10,7 @@ import org.springframework.data.mongodb.repository.config.EnableMongoRepositorie @Configuration @EnableMongoRepositories @EnableEventHandlers -public class QuerySideAccountConfiguration { +public class AccountViewBackendConfiguration { @Bean public AccountQueryWorkflow accountQueryWorkflow(AccountInfoUpdateService accountInfoUpdateService) { diff --git a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/MoneyUtil.java b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/MoneyUtil.java similarity index 66% rename from java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/MoneyUtil.java rename to java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/MoneyUtil.java index 49d74be..740aa76 100644 --- a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/MoneyUtil.java +++ b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/MoneyUtil.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend; import java.math.BigDecimal; diff --git a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/QuerySideDependencyChecker.java b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/QuerySideDependencyChecker.java similarity index 86% rename from java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/QuerySideDependencyChecker.java rename to java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/QuerySideDependencyChecker.java index 80c7ea3..16c353b 100644 --- a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/QuerySideDependencyChecker.java +++ b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/backend/QuerySideDependencyChecker.java @@ -1,11 +1,10 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.mongodb.core.MongoTemplate; import javax.annotation.PostConstruct; -import java.util.concurrent.TimeUnit; public class QuerySideDependencyChecker { private Logger logger = LoggerFactory.getLogger(getClass()); diff --git a/java-spring/accounts-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/queryside/accounts/AccountQueryController.java b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/web/AccountQueryController.java similarity index 84% rename from java-spring/accounts-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/queryside/accounts/AccountQueryController.java rename to java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/web/AccountQueryController.java index fd31810..ef73230 100644 --- a/java-spring/accounts-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/queryside/accounts/AccountQueryController.java +++ b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/web/AccountQueryController.java @@ -1,9 +1,8 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.queryside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.web; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts.AccountInfo; - -import net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts.AccountNotFoundException; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts.AccountQueryService; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend.AccountInfo; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend.AccountNotFoundException; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend.AccountQueryService; import net.chrisrichardson.eventstore.javaexamples.banking.common.accounts.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; @@ -58,7 +57,7 @@ public class AccountQueryController { return ResponseEntity.ok().body(new AccountHistoryResponse(historyEntries)); } - @ResponseStatus(value= HttpStatus.NOT_FOUND, reason="account not found") + @ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "account not found") @ExceptionHandler(AccountNotFoundException.class) public void accountNotFound() { } diff --git a/java-spring/accounts-query-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsQuerySideServiceConfiguration.java b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/web/AccountViewWebConfiguration.java similarity index 52% rename from java-spring/accounts-query-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsQuerySideServiceConfiguration.java rename to java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/web/AccountViewWebConfiguration.java index 8c04d40..798e0e8 100644 --- a/java-spring/accounts-query-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsQuerySideServiceConfiguration.java +++ b/java-spring/accounts-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/accountsviewservice/web/AccountViewWebConfiguration.java @@ -1,9 +1,6 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web; +package net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.web; -import io.eventuate.javaclient.spring.httpstomp.EventuateHttpStompClientConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.commonswagger.CommonSwaggerConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.web.queryside.QuerySideWebConfiguration; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend.AccountViewBackendConfiguration; import org.springframework.boot.autoconfigure.web.HttpMessageConverters; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; @@ -13,11 +10,9 @@ import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; @Configuration -@Import({QuerySideWebConfiguration.class, EventuateHttpStompClientConfiguration.class, CommonSwaggerConfiguration.class}) -@EnableAutoConfiguration +@Import({AccountViewBackendConfiguration.class}) @ComponentScan -public class AccountsQuerySideServiceConfiguration { - +public class AccountViewWebConfiguration { @Bean public HttpMessageConverters customConverters() { diff --git a/java-spring/accounts-query-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfoUpdateServiceTest.java b/java-spring/accounts-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountInfoUpdateServiceTest.java similarity index 90% rename from java-spring/accounts-query-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfoUpdateServiceTest.java rename to java-spring/accounts-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountInfoUpdateServiceTest.java index 220b97f..bca5a6d 100644 --- a/java-spring/accounts-query-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfoUpdateServiceTest.java +++ b/java-spring/accounts-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountInfoUpdateServiceTest.java @@ -1,9 +1,13 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts; +package net.chrisrichardson.eventstore.javaexamples.banking.web; import io.eventuate.Int128; import io.eventuate.javaclient.spring.jdbc.EventuateJdbcEventStoreConfiguration; import io.eventuate.javaclient.spring.jdbc.IdGenerator; import io.eventuate.javaclient.spring.jdbc.IdGeneratorImpl; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend.AccountInfo; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend.AccountInfoUpdateService; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend.AccountQueryService; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend.AccountViewBackendConfiguration; import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.accounts.AccountCreditedEvent; import net.chrisrichardson.eventstore.javaexamples.banking.common.accounts.AccountChangeInfo; import net.chrisrichardson.eventstore.javaexamples.banking.common.accounts.AccountTransactionInfo; @@ -31,7 +35,7 @@ public class AccountInfoUpdateServiceTest { @Configuration @EnableAutoConfiguration - @Import({QuerySideAccountConfiguration.class, EventuateJdbcEventStoreConfiguration.class}) + @Import({AccountViewBackendConfiguration.class, EventuateJdbcEventStoreConfiguration.class}) public static class AccountInfoUpdateServiceTestConfiguration { } diff --git a/java-spring/accounts-query-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsQuerySideServiceIntegrationTest.java b/java-spring/accounts-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsQuerySideServiceIntegrationTest.java similarity index 100% rename from java-spring/accounts-query-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsQuerySideServiceIntegrationTest.java rename to java-spring/accounts-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsQuerySideServiceIntegrationTest.java diff --git a/java-spring/accounts-query-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsQuerySideServiceTestConfiguration.java b/java-spring/accounts-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsQuerySideServiceTestConfiguration.java similarity index 64% rename from java-spring/accounts-query-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsQuerySideServiceTestConfiguration.java rename to java-spring/accounts-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsQuerySideServiceTestConfiguration.java index 7a9d20b..b8a99e4 100644 --- a/java-spring/accounts-query-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsQuerySideServiceTestConfiguration.java +++ b/java-spring/accounts-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsQuerySideServiceTestConfiguration.java @@ -1,7 +1,12 @@ package net.chrisrichardson.eventstore.javaexamples.banking.web; +import io.eventuate.javaclient.spring.jdbc.EmbeddedTestAggregateStoreConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.web.AccountViewWebConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.commonswagger.CommonSwaggerConfiguration; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.web.HttpMessageConverters; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.http.converter.HttpMessageConverter; @@ -12,7 +17,9 @@ import java.util.Arrays; import java.util.List; @Configuration -@Import(AccountsQuerySideServiceConfiguration.class) +@Import({AccountViewWebConfiguration.class, EmbeddedTestAggregateStoreConfiguration.class, CommonSwaggerConfiguration.class}) +@EnableAutoConfiguration +@ComponentScan public class AccountsQuerySideServiceTestConfiguration { @Bean diff --git a/java-spring/backend-integration-tests/build.gradle b/java-spring/backend-integration-tests/build.gradle index 794cdbf..6cc950a 100644 --- a/java-spring/backend-integration-tests/build.gradle +++ b/java-spring/backend-integration-tests/build.gradle @@ -2,11 +2,11 @@ apply plugin: VerifyMongoDBConfigurationPlugin dependencies { - testCompile project(":accounts-command-side-backend") - testCompile project(":transactions-command-side-backend") - testCompile project(":accounts-query-side-backend") - testCompile project(":customers-command-side-backend") - testCompile project(":customers-query-side-backend") + testCompile project(":transactions-service") + testCompile project(":accounts-service") + testCompile project(":accounts-view-service") + testCompile project(":customers-service") + testCompile project(":customers-view-service") testCompile project(":testutil") testCompile "junit:junit:4.11" testCompile "org.springframework.boot:spring-boot-starter-test:$springBootVersion" diff --git a/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/BankingTestConfiguration.java b/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/BankingTestConfiguration.java index 0884986..3267ff2 100644 --- a/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/BankingTestConfiguration.java +++ b/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/BankingTestConfiguration.java @@ -1,15 +1,14 @@ package net.chrisrichardson.eventstore.javaexamples.banking.backend; -import io.eventuate.javaclient.spring.jdbc.EventuateJdbcEventStoreConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts.AccountConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions.MoneyTransferConfiguration; +import io.eventuate.javaclient.spring.jdbc.EmbeddedTestAggregateStoreConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend.AccountsBackendConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend.MoneyTransferBackendConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @Configuration -@Import({AccountConfiguration.class, MoneyTransferConfiguration.class, EventuateJdbcEventStoreConfiguration.class}) +@Import({AccountsBackendConfiguration.class, MoneyTransferBackendConfiguration.class, EmbeddedTestAggregateStoreConfiguration.class}) @EnableAutoConfiguration public class BankingTestConfiguration { diff --git a/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/MoneyTransferIntegrationTest.java b/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/MoneyTransferIntegrationTest.java index 0f7df9c..515a394 100644 --- a/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/MoneyTransferIntegrationTest.java +++ b/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/MoneyTransferIntegrationTest.java @@ -2,12 +2,12 @@ package net.chrisrichardson.eventstore.javaexamples.banking.backend; import io.eventuate.EntityWithIdAndVersion; import io.eventuate.EventuateAggregateStore; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts.Account; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts.AccountService; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions.MoneyTransfer; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions.MoneyTransferService; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend.Account; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend.AccountService; import net.chrisrichardson.eventstore.javaexamples.banking.common.transactions.TransferState; import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.transactions.TransferDetails; +import net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend.MoneyTransfer; +import net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend.MoneyTransferService; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountQuerySideIntegrationTest.java b/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountQuerySideIntegrationTest.java index 46cba9b..00ac5d8 100644 --- a/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountQuerySideIntegrationTest.java +++ b/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountQuerySideIntegrationTest.java @@ -2,12 +2,13 @@ package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.ac import io.eventuate.EntityWithIdAndVersion; import io.eventuate.EventuateAggregateStore; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts.Account; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts.AccountService; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions.MoneyTransfer; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions.MoneyTransferService; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend.Account; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend.AccountService; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend.AccountQueryService; import net.chrisrichardson.eventstore.javaexamples.banking.common.transactions.TransferState; import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.transactions.TransferDetails; +import net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend.MoneyTransfer; +import net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend.MoneyTransferService; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountQuerySideTestConfiguration.java b/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountQuerySideTestConfiguration.java index 8ea9454..5e57b90 100644 --- a/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountQuerySideTestConfiguration.java +++ b/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountQuerySideTestConfiguration.java @@ -1,15 +1,16 @@ package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts; -import io.eventuate.javaclient.spring.jdbc.EventuateJdbcEventStoreConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts.AccountConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions.MoneyTransferConfiguration; +import io.eventuate.javaclient.spring.jdbc.EmbeddedTestAggregateStoreConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend.AccountsBackendConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.backend.AccountViewBackendConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend.MoneyTransferBackendConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @Configuration -@Import({AccountConfiguration.class, MoneyTransferConfiguration.class, EventuateJdbcEventStoreConfiguration.class, - QuerySideAccountConfiguration.class}) +@Import({AccountsBackendConfiguration.class, MoneyTransferBackendConfiguration.class, EmbeddedTestAggregateStoreConfiguration.class, + AccountViewBackendConfiguration.class}) @EnableAutoConfiguration public class AccountQuerySideTestConfiguration { } diff --git a/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerQuerySideIntegrationTest.java b/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerQuerySideIntegrationTest.java index 127b02d..33477a1 100644 --- a/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerQuerySideIntegrationTest.java +++ b/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerQuerySideIntegrationTest.java @@ -2,9 +2,10 @@ package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.cu import io.eventuate.EntityWithIdAndVersion; import io.eventuate.EventuateAggregateStore; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.customers.Customer; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.customers.CustomerService; import net.chrisrichardson.eventstore.javaexamples.banking.common.customers.CustomerInfo; +import net.chrisrichardson.eventstore.javaexamples.banking.customersservice.backend.Customer; +import net.chrisrichardson.eventstore.javaexamples.banking.customersservice.backend.CustomerService; +import net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice.backend.CustomerQueryService; import net.chrisrichardson.eventstore.javaexamples.banking.web.customers.queryside.common.QuerySideCustomer; import net.chrisrichardson.eventstore.javaexamples.banking.common.customers.ToAccountInfo; import net.chrisrichardson.eventstorestore.javaexamples.testutil.Producer; diff --git a/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerQuerySideTestConfiguration.java b/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerQuerySideTestConfiguration.java index 2da970b..dbe31ce 100644 --- a/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerQuerySideTestConfiguration.java +++ b/java-spring/backend-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerQuerySideTestConfiguration.java @@ -1,14 +1,14 @@ package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.customers; -import io.eventuate.javaclient.spring.jdbc.EventuateJdbcEventStoreConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.customers.CustomerConfiguration; - +import io.eventuate.javaclient.spring.jdbc.EmbeddedTestAggregateStoreConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.customersservice.backend.CustomerBackendConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice.backend.CustomerViewBackendConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @Configuration -@Import({CustomerConfiguration.class, EventuateJdbcEventStoreConfiguration.class, QuerySideCustomerConfiguration.class}) +@Import({CustomerBackendConfiguration.class, EmbeddedTestAggregateStoreConfiguration.class, CustomerViewBackendConfiguration.class}) @EnableAutoConfiguration public class CustomerQuerySideTestConfiguration { } diff --git a/java-spring/common-auth/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/commonauth/AuthConfiguration.java b/java-spring/common-auth/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/commonauth/AuthConfiguration.java index 70448c2..737bd46 100755 --- a/java-spring/common-auth/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/commonauth/AuthConfiguration.java +++ b/java-spring/common-auth/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/commonauth/AuthConfiguration.java @@ -66,13 +66,16 @@ public class AuthConfiguration extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { - http.csrf().disable() - .httpBasic().and() + http + .csrf() + .disable() + .httpBasic() + .and() .authorizeRequests() - .antMatchers("/index.html", "/", "/**.js", "/**.css").permitAll() - .antMatchers("/swagger-ui.html", "/v2/api-docs").permitAll() - .antMatchers(HttpMethod.POST, "/api/customers", "/api/login").permitAll() - .anyRequest().authenticated().and() + .antMatchers(HttpMethod.POST, "/api/customers", "/api/login").permitAll() + .antMatchers("/api/**").permitAll() + .anyRequest().permitAll() + .and() .addFilterAfter(new StatelessAuthenticationFilter(tokenAuthenticationService), BasicAuthenticationFilter.class); } diff --git a/java-spring/common-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/common/accounts/AccountEvent.java b/java-spring/common-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/common/accounts/AccountEvent.java index f3bd3d4..5175669 100644 --- a/java-spring/common-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/common/accounts/AccountEvent.java +++ b/java-spring/common-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/common/accounts/AccountEvent.java @@ -3,6 +3,6 @@ package net.chrisrichardson.eventstore.javaexamples.banking.backend.common.accou import io.eventuate.Event; import io.eventuate.EventEntity; -@EventEntity(entity="net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.accounts.Account") +@EventEntity(entity="net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.backend.Account") public abstract class AccountEvent implements Event{ } diff --git a/java-spring/common-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/common/customers/CustomerEvent.java b/java-spring/common-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/common/customers/CustomerEvent.java index 8cb1c9d..70633b3 100644 --- a/java-spring/common-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/common/customers/CustomerEvent.java +++ b/java-spring/common-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/common/customers/CustomerEvent.java @@ -7,6 +7,6 @@ import io.eventuate.EventEntity; /** * Created by Main on 11.02.2016. */ -@EventEntity(entity = "net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.customers.Customer") +@EventEntity(entity = "net.chrisrichardson.eventstore.javaexamples.banking.customersservice.backend.Customer") public abstract class CustomerEvent implements Event { } \ No newline at end of file diff --git a/java-spring/common-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/common/transactions/MoneyTransferEvent.java b/java-spring/common-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/common/transactions/MoneyTransferEvent.java index 2b001cb..244166b 100644 --- a/java-spring/common-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/common/transactions/MoneyTransferEvent.java +++ b/java-spring/common-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/common/transactions/MoneyTransferEvent.java @@ -3,6 +3,6 @@ package net.chrisrichardson.eventstore.javaexamples.banking.backend.common.trans import io.eventuate.Event; import io.eventuate.EventEntity; -@EventEntity(entity="net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions.MoneyTransfer") +@EventEntity(entity="net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend.MoneyTransfer") public abstract class MoneyTransferEvent implements Event { } diff --git a/java-spring/customers-command-side-backend/build.gradle b/java-spring/customers-command-side-backend/build.gradle deleted file mode 100644 index f633d0e..0000000 --- a/java-spring/customers-command-side-backend/build.gradle +++ /dev/null @@ -1,12 +0,0 @@ -apply plugin: 'java' - -dependencies { - compile project(":common") - compile project(":common-backend") - compile "io.eventuate.client.java:eventuate-client-java-spring:$eventuateClientVersion" - - testCompile project(":testutil") - testCompile "junit:junit:4.11" - testCompile "org.springframework.boot:spring-boot-starter-test:$springBootVersion" - testCompile "io.eventuate.client.java:eventuate-client-java-jdbc:$eventuateClientVersion" -} \ No newline at end of file diff --git a/java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CustomerCommand.java b/java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CustomerCommand.java deleted file mode 100644 index 9eca460..0000000 --- a/java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CustomerCommand.java +++ /dev/null @@ -1,6 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.customers; - -import io.eventuate.Command; - -interface CustomerCommand extends Command { -} diff --git a/java-spring/customers-command-side-service/Dockerfile b/java-spring/customers-command-side-service/Dockerfile deleted file mode 100644 index ec276ae..0000000 --- a/java-spring/customers-command-side-service/Dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM java:openjdk-8u91-jdk -CMD java ${JAVA_OPTS} -jar customers-command-side-service.jar -EXPOSE 8080 -COPY build/libs/customers-command-side-service.jar . diff --git a/java-spring/customers-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersCommandSideServiceConfiguration.java b/java-spring/customers-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersCommandSideServiceConfiguration.java deleted file mode 100644 index f6d3897..0000000 --- a/java-spring/customers-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersCommandSideServiceConfiguration.java +++ /dev/null @@ -1,25 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web; - -import io.eventuate.javaclient.spring.httpstomp.EventuateHttpStompClientConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.commonswagger.CommonSwaggerConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.customers.CustomersCommandSideWebConfiguration; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.web.HttpMessageConverters; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; -import org.springframework.http.converter.HttpMessageConverter; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; - -@Configuration -@Import({CustomersCommandSideWebConfiguration.class, EventuateHttpStompClientConfiguration.class, CommonSwaggerConfiguration.class}) -@EnableAutoConfiguration -public class CustomersCommandSideServiceConfiguration { - - - @Bean - public HttpMessageConverters customConverters() { - HttpMessageConverter additional = new MappingJackson2HttpMessageConverter(); - return new HttpMessageConverters(additional); - } -} diff --git a/java-spring/customers-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/CustomersCommandSideServiceMain.java b/java-spring/customers-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/CustomersCommandSideServiceMain.java deleted file mode 100644 index 77353d9..0000000 --- a/java-spring/customers-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/CustomersCommandSideServiceMain.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.main; - -import net.chrisrichardson.eventstore.javaexamples.banking.web.CustomersCommandSideServiceConfiguration; -import org.springframework.boot.SpringApplication; - -public class CustomersCommandSideServiceMain { - - public static void main(String[] args) { - SpringApplication.run(CustomersCommandSideServiceConfiguration.class, args); - } -} diff --git a/java-spring/customers-command-side-web/build.gradle b/java-spring/customers-command-side-web/build.gradle deleted file mode 100644 index 18ce48b..0000000 --- a/java-spring/customers-command-side-web/build.gradle +++ /dev/null @@ -1,11 +0,0 @@ -apply plugin: 'java' - -dependencies { - compile project(":common") - compile project(":customers-command-side-backend") - - compile "org.springframework.boot:spring-boot-starter-web:$springBootVersion" - - testCompile "org.springframework.boot:spring-boot-starter-test:$springBootVersion" - testCompile "io.eventuate.client.java:eventuate-client-java-jdbc:$eventuateClientVersion" -} diff --git a/java-spring/customers-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/customers/CustomersCommandSideWebConfiguration.java b/java-spring/customers-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/customers/CustomersCommandSideWebConfiguration.java deleted file mode 100644 index 20addb1..0000000 --- a/java-spring/customers-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/customers/CustomersCommandSideWebConfiguration.java +++ /dev/null @@ -1,14 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.customers; - -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.customers.CustomerConfiguration; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; - -@Configuration -@Import({CustomerConfiguration.class}) -@ComponentScan -public class CustomersCommandSideWebConfiguration extends WebMvcConfigurerAdapter { - -} \ No newline at end of file diff --git a/java-spring/customers-query-side-service/Dockerfile b/java-spring/customers-query-side-service/Dockerfile deleted file mode 100644 index 11abbc1..0000000 --- a/java-spring/customers-query-side-service/Dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM java:openjdk-8u91-jdk -CMD java ${JAVA_OPTS} -jar customers-query-side-service.jar -EXPOSE 8080 -COPY build/libs/customers-query-side-service.jar . \ No newline at end of file diff --git a/java-spring/customers-query-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersQuerySideServiceConfiguration.java b/java-spring/customers-query-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersQuerySideServiceConfiguration.java deleted file mode 100644 index eee2af9..0000000 --- a/java-spring/customers-query-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersQuerySideServiceConfiguration.java +++ /dev/null @@ -1,26 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web; - -import io.eventuate.javaclient.spring.httpstomp.EventuateHttpStompClientConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.commonswagger.CommonSwaggerConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.web.customers.queryside.CustomersQuerySideWebConfiguration; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.web.HttpMessageConverters; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; -import org.springframework.http.converter.HttpMessageConverter; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; - -@Configuration -@Import({CustomersQuerySideWebConfiguration.class, EventuateHttpStompClientConfiguration.class, CommonSwaggerConfiguration.class}) -@EnableAutoConfiguration -public class CustomersQuerySideServiceConfiguration { - - - @Bean - public HttpMessageConverters customConverters() { - HttpMessageConverter additional = new MappingJackson2HttpMessageConverter(); - return new HttpMessageConverters(additional); - } - -} diff --git a/java-spring/customers-query-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/CustomersQuerySideServiceMain.java b/java-spring/customers-query-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/CustomersQuerySideServiceMain.java deleted file mode 100644 index 759d0f3..0000000 --- a/java-spring/customers-query-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/CustomersQuerySideServiceMain.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.main; - -import net.chrisrichardson.eventstore.javaexamples.banking.web.CustomersQuerySideServiceConfiguration; -import org.springframework.boot.SpringApplication; - -public class CustomersQuerySideServiceMain { - - public static void main(String[] args) { - SpringApplication.run(CustomersQuerySideServiceConfiguration.class, args); - } -} diff --git a/java-spring/customers-query-side-web/build.gradle b/java-spring/customers-query-side-web/build.gradle deleted file mode 100644 index b7c90cf..0000000 --- a/java-spring/customers-query-side-web/build.gradle +++ /dev/null @@ -1,8 +0,0 @@ -apply plugin: 'java' - -dependencies { - compile project(":customers-query-side-backend") - - compile "org.springframework.boot:spring-boot-starter-web:$springBootVersion" - compile "org.springframework.boot:spring-boot-starter-actuator:$springBootVersion" -} diff --git a/java-spring/customers-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/customers/queryside/CustomersQuerySideWebConfiguration.java b/java-spring/customers-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/customers/queryside/CustomersQuerySideWebConfiguration.java deleted file mode 100644 index 6b9d3c4..0000000 --- a/java-spring/customers-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/customers/queryside/CustomersQuerySideWebConfiguration.java +++ /dev/null @@ -1,13 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.customers.queryside; - -import net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.customers.QuerySideCustomerConfiguration; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; - -@Configuration -@Import({QuerySideCustomerConfiguration.class}) -@ComponentScan -public class CustomersQuerySideWebConfiguration extends WebMvcConfigurerAdapter { -} diff --git a/java-spring/customers-service/Dockerfile b/java-spring/customers-service/Dockerfile new file mode 100644 index 0000000..0adc92d --- /dev/null +++ b/java-spring/customers-service/Dockerfile @@ -0,0 +1,4 @@ +FROM java:openjdk-8u91-jdk +CMD java ${JAVA_OPTS} -jar customers-service.jar +EXPOSE 8080 +COPY build/libs/customers-service.jar . diff --git a/java-spring/customers-command-side-service/build.gradle b/java-spring/customers-service/build.gradle similarity index 81% rename from java-spring/customers-command-side-service/build.gradle rename to java-spring/customers-service/build.gradle index 8fd432f..047df3c 100644 --- a/java-spring/customers-command-side-service/build.gradle +++ b/java-spring/customers-service/build.gradle @@ -5,13 +5,15 @@ apply plugin: 'spring-boot' apply plugin: EventuateDependencyPlugin dependencies { - compile project(":customers-command-side-web") + compile project(":common") + compile project(":common-backend") compile project(":common-swagger") compile "org.springframework.boot:spring-boot-starter-web" compile "org.springframework.boot:spring-boot-starter-actuator" testCompile project(":testutil") - testCompile "org.springframework.boot:spring-boot-starter-test" + testCompile "junit:junit:4.11" + testCompile "org.springframework.boot:spring-boot-starter-test:$springBootVersion" testCompile "io.eventuate.client.java:eventuate-client-java-jdbc:$eventuateClientVersion" } \ No newline at end of file diff --git a/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/CustomersServiceMain.java b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/CustomersServiceMain.java new file mode 100644 index 0000000..64815e7 --- /dev/null +++ b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/CustomersServiceMain.java @@ -0,0 +1,23 @@ +package net.chrisrichardson.eventstore.javaexamples.banking.customersservice; + +import io.eventuate.javaclient.driver.EventuateDriverConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.commonswagger.CommonSwaggerConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.customersservice.web.CustomersWebConfiguration; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.web.HttpMessageConverters; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; + +@Configuration +@Import({CustomersWebConfiguration.class, EventuateDriverConfiguration.class, CommonSwaggerConfiguration.class}) +@EnableAutoConfiguration +public class CustomersServiceMain { + + public static void main(String[] args) { + SpringApplication.run(CustomersServiceMain.class, args); + } +} diff --git a/java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/AddToAccountCommand.java b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/AddToAccountCommand.java similarity index 82% rename from java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/AddToAccountCommand.java rename to java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/AddToAccountCommand.java index 2de4a38..b685ffc 100644 --- a/java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/AddToAccountCommand.java +++ b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/AddToAccountCommand.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.customers; +package net.chrisrichardson.eventstore.javaexamples.banking.customersservice.backend; import net.chrisrichardson.eventstore.javaexamples.banking.common.customers.ToAccountInfo; diff --git a/java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CreateCustomerCommand.java b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CreateCustomerCommand.java similarity index 80% rename from java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CreateCustomerCommand.java rename to java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CreateCustomerCommand.java index ef3cc95..a34c7c1 100644 --- a/java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CreateCustomerCommand.java +++ b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CreateCustomerCommand.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.customers; +package net.chrisrichardson.eventstore.javaexamples.banking.customersservice.backend; import net.chrisrichardson.eventstore.javaexamples.banking.common.customers.CustomerInfo; diff --git a/java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/Customer.java b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/Customer.java similarity index 93% rename from java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/Customer.java rename to java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/Customer.java index 40db795..d97d104 100644 --- a/java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/Customer.java +++ b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/Customer.java @@ -1,11 +1,11 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.customers; +package net.chrisrichardson.eventstore.javaexamples.banking.customersservice.backend; import io.eventuate.Event; import io.eventuate.EventUtil; import io.eventuate.ReflectiveMutableCommandProcessingAggregate; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.customers.CustomerToAccountDeleted; import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.customers.CustomerAddedToAccount; import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.customers.CustomerCreatedEvent; +import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.customers.CustomerToAccountDeleted; import net.chrisrichardson.eventstore.javaexamples.banking.common.customers.CustomerInfo; import java.util.List; diff --git a/java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CustomerConfiguration.java b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CustomerBackendConfiguration.java similarity index 85% rename from java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CustomerConfiguration.java rename to java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CustomerBackendConfiguration.java index 2e8a30c..77fd7f0 100644 --- a/java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CustomerConfiguration.java +++ b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CustomerBackendConfiguration.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.customers; +package net.chrisrichardson.eventstore.javaexamples.banking.customersservice.backend; import io.eventuate.AggregateRepository; import io.eventuate.EventuateAggregateStore; @@ -10,7 +10,7 @@ import org.springframework.context.annotation.Configuration; @Configuration @EnableEventHandlers @ComponentScan -public class CustomerConfiguration { +public class CustomerBackendConfiguration { @Bean public CustomerService customerService(AggregateRepository customerRepository) { diff --git a/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CustomerCommand.java b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CustomerCommand.java new file mode 100644 index 0000000..da3c411 --- /dev/null +++ b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CustomerCommand.java @@ -0,0 +1,6 @@ +package net.chrisrichardson.eventstore.javaexamples.banking.customersservice.backend; + +import io.eventuate.Command; + +interface CustomerCommand extends Command { +} diff --git a/java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CustomerService.java b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CustomerService.java similarity index 92% rename from java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CustomerService.java rename to java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CustomerService.java index 0347622..71619ba 100644 --- a/java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CustomerService.java +++ b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CustomerService.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.customers; +package net.chrisrichardson.eventstore.javaexamples.banking.customersservice.backend; import io.eventuate.AggregateRepository; diff --git a/java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/DeleteToAccountCommand.java b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/DeleteToAccountCommand.java similarity index 80% rename from java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/DeleteToAccountCommand.java rename to java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/DeleteToAccountCommand.java index f133568..bb1aaa4 100644 --- a/java-spring/customers-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/DeleteToAccountCommand.java +++ b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/DeleteToAccountCommand.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.customers; +package net.chrisrichardson.eventstore.javaexamples.banking.customersservice.backend; public class DeleteToAccountCommand implements CustomerCommand { diff --git a/java-spring/customers-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/customers/CustomerController.java b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/web/CustomerController.java similarity index 87% rename from java-spring/customers-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/customers/CustomerController.java rename to java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/web/CustomerController.java index 52e930c..fa6f570 100644 --- a/java-spring/customers-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/customers/CustomerController.java +++ b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/web/CustomerController.java @@ -1,12 +1,11 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.customers; +package net.chrisrichardson.eventstore.javaexamples.banking.customersservice.web; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.customers.CustomerService; -import net.chrisrichardson.eventstore.javaexamples.banking.common.accounts.CreateAccountResponse; import net.chrisrichardson.eventstore.javaexamples.banking.common.accounts.DeleteAccountResponse; import net.chrisrichardson.eventstore.javaexamples.banking.common.customers.AddToAccountResponse; import net.chrisrichardson.eventstore.javaexamples.banking.common.customers.CustomerInfo; import net.chrisrichardson.eventstore.javaexamples.banking.common.customers.CustomerResponse; import net.chrisrichardson.eventstore.javaexamples.banking.common.customers.ToAccountInfo; +import net.chrisrichardson.eventstore.javaexamples.banking.customersservice.backend.CustomerService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; diff --git a/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/web/CustomersWebConfiguration.java b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/web/CustomersWebConfiguration.java new file mode 100644 index 0000000..1567586 --- /dev/null +++ b/java-spring/customers-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/web/CustomersWebConfiguration.java @@ -0,0 +1,24 @@ +package net.chrisrichardson.eventstore.javaexamples.banking.customersservice.web; + +import net.chrisrichardson.eventstore.javaexamples.banking.customersservice.backend.CustomerBackendConfiguration; +import org.springframework.boot.autoconfigure.web.HttpMessageConverters; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; + +@Configuration +@Import({CustomerBackendConfiguration.class}) +@ComponentScan +public class CustomersWebConfiguration extends WebMvcConfigurerAdapter { + + @Bean + public HttpMessageConverters customConverters() { + HttpMessageConverter additional = new MappingJackson2HttpMessageConverter(); + return new HttpMessageConverters(additional); + } + +} \ No newline at end of file diff --git a/java-spring/customers-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersCommandSideServiceIntegrationTest.java b/java-spring/customers-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/CustomersCommandSideServiceIntegrationTest.java similarity index 95% rename from java-spring/customers-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersCommandSideServiceIntegrationTest.java rename to java-spring/customers-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/CustomersCommandSideServiceIntegrationTest.java index 670462f..bd88150 100644 --- a/java-spring/customers-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersCommandSideServiceIntegrationTest.java +++ b/java-spring/customers-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/CustomersCommandSideServiceIntegrationTest.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web; +package net.chrisrichardson.eventstore.javaexamples.banking.customersservice; import net.chrisrichardson.eventstore.javaexamples.banking.common.customers.CustomerInfo; import net.chrisrichardson.eventstore.javaexamples.banking.common.customers.CustomerResponse; diff --git a/java-spring/customers-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersCommandSideServiceTestConfiguration.java b/java-spring/customers-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/CustomersCommandSideServiceTestConfiguration.java similarity index 72% rename from java-spring/customers-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersCommandSideServiceTestConfiguration.java rename to java-spring/customers-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/CustomersCommandSideServiceTestConfiguration.java index 0fa58b0..baf0dd9 100644 --- a/java-spring/customers-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersCommandSideServiceTestConfiguration.java +++ b/java-spring/customers-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/CustomersCommandSideServiceTestConfiguration.java @@ -1,9 +1,8 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web; +package net.chrisrichardson.eventstore.javaexamples.banking.customersservice; -import io.eventuate.javaclient.spring.jdbc.EventuateJdbcEventStoreConfiguration; +import io.eventuate.javaclient.spring.jdbc.EmbeddedTestAggregateStoreConfiguration; import net.chrisrichardson.eventstore.javaexamples.banking.commonauth.AuthConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.commonswagger.CommonSwaggerConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.customers.CustomersCommandSideWebConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.customersservice.web.CustomersWebConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.web.HttpMessageConverters; import org.springframework.context.annotation.Bean; @@ -17,7 +16,9 @@ import java.util.Arrays; import java.util.List; @Configuration -@Import({CustomersCommandSideWebConfiguration.class, EventuateJdbcEventStoreConfiguration.class, CommonSwaggerConfiguration.class, AuthConfiguration.class}) +@Import({CustomersWebConfiguration.class, + EmbeddedTestAggregateStoreConfiguration.class, + AuthConfiguration.class}) @EnableAutoConfiguration public class CustomersCommandSideServiceTestConfiguration { diff --git a/java-spring/customers-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CustomerEventTest.java b/java-spring/customers-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CustomerEventTest.java similarity index 73% rename from java-spring/customers-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CustomerEventTest.java rename to java-spring/customers-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CustomerEventTest.java index 9ddceee..731eea6 100644 --- a/java-spring/customers-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CustomerEventTest.java +++ b/java-spring/customers-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CustomerEventTest.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.customers; +package net.chrisrichardson.eventstore.javaexamples.banking.customersservice.backend; import net.chrisrichardson.eventstorestore.javaexamples.testutil.AbstractEntityEventTest; diff --git a/java-spring/customers-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CustomerTest.java b/java-spring/customers-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CustomerTest.java similarity index 90% rename from java-spring/customers-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CustomerTest.java rename to java-spring/customers-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CustomerTest.java index 43d71fe..7d2a23f 100644 --- a/java-spring/customers-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/customers/CustomerTest.java +++ b/java-spring/customers-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersservice/backend/CustomerTest.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.customers; +package net.chrisrichardson.eventstore.javaexamples.banking.customersservice.backend; import io.eventuate.Event; import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.customers.CustomerCreatedEvent; diff --git a/java-spring/customers-view-service/Dockerfile b/java-spring/customers-view-service/Dockerfile new file mode 100644 index 0000000..9c7ea55 --- /dev/null +++ b/java-spring/customers-view-service/Dockerfile @@ -0,0 +1,4 @@ +FROM java:openjdk-8u91-jdk +CMD java ${JAVA_OPTS} -jar customers-view-service.jar +EXPOSE 8080 +COPY build/libs/customers-view-service.jar . \ No newline at end of file diff --git a/java-spring/customers-query-side-backend/build.gradle b/java-spring/customers-view-service/build.gradle similarity index 56% rename from java-spring/customers-query-side-backend/build.gradle rename to java-spring/customers-view-service/build.gradle index 186d189..bd2b72e 100644 --- a/java-spring/customers-query-side-backend/build.gradle +++ b/java-spring/customers-view-service/build.gradle @@ -1,10 +1,16 @@ -apply plugin: 'java' +apply plugin: VerifyMongoDBConfigurationPlugin +apply plugin: VerifyEventStoreEnvironmentPlugin +apply plugin: EventuateDependencyPlugin + +apply plugin: 'spring-boot' dependencies { compile project(":common-backend") compile project(":customers-query-side-common") + compile project(":common-swagger") - compile "io.eventuate.client.java:eventuate-client-java-spring:$eventuateClientVersion" + compile "org.springframework.boot:spring-boot-starter-web:$springBootVersion" + compile "org.springframework.boot:spring-boot-starter-actuator:$springBootVersion" compile "org.springframework.boot:spring-boot-starter-data-mongodb:$springBootVersion" compile 'com.fasterxml.jackson.core:jackson-core:2.4.3' @@ -12,8 +18,13 @@ dependencies { compile 'com.fasterxml.jackson.module:jackson-module-scala_2.10:2.4.3' testCompile project(":testutil") + testCompile project(":customers-service") testCompile "junit:junit:4.11" - testCompile "org.springframework.boot:spring-boot-starter-test:$springBootVersion" + testCompile "org.springframework.boot:spring-boot-starter-test" testCompile "io.eventuate.client.java:eventuate-client-java-jdbc:$eventuateClientVersion" - } + +test { + ignoreFailures System.getenv("EVENTUATE_API_KEY_ID") == null +} + diff --git a/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/CustomersViewServiceMain.java b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/CustomersViewServiceMain.java new file mode 100644 index 0000000..f18eebe --- /dev/null +++ b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/CustomersViewServiceMain.java @@ -0,0 +1,25 @@ +package net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice; + +import io.eventuate.javaclient.driver.EventuateDriverConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.commonswagger.CommonSwaggerConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice.web.CustomersViewWebConfiguration; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.web.HttpMessageConverters; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; + +@Configuration +@Import({CustomersViewWebConfiguration.class, + EventuateDriverConfiguration.class, + CommonSwaggerConfiguration.class}) +@EnableAutoConfiguration +public class CustomersViewServiceMain { + + public static void main(String[] args) { + SpringApplication.run(CustomersViewServiceMain.class, args); + } +} diff --git a/java-spring/customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerInfoUpdateService.java b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerInfoUpdateService.java similarity index 89% rename from java-spring/customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerInfoUpdateService.java rename to java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerInfoUpdateService.java index dd80e3f..7a2a324 100644 --- a/java-spring/customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerInfoUpdateService.java +++ b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerInfoUpdateService.java @@ -1,8 +1,8 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.customers; +package net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice.backend; import net.chrisrichardson.eventstore.javaexamples.banking.common.customers.CustomerInfo; -import net.chrisrichardson.eventstore.javaexamples.banking.web.customers.queryside.common.QuerySideCustomer; import net.chrisrichardson.eventstore.javaexamples.banking.common.customers.ToAccountInfo; +import net.chrisrichardson.eventstore.javaexamples.banking.web.customers.queryside.common.QuerySideCustomer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.dao.DuplicateKeyException; @@ -21,10 +21,10 @@ public class CustomerInfoUpdateService { private Logger logger = LoggerFactory.getLogger(getClass()); - private QuerySideCustomerRepository querySideCustomerRepository; + private CustomerViewRepository querySideCustomerRepository; private MongoTemplate mongoTemplate; - public CustomerInfoUpdateService(QuerySideCustomerRepository querySideCustomerRepository, MongoTemplate mongoTemplate) { + public CustomerInfoUpdateService(CustomerViewRepository querySideCustomerRepository, MongoTemplate mongoTemplate) { this.querySideCustomerRepository = querySideCustomerRepository; this.mongoTemplate = mongoTemplate; } diff --git a/java-spring/customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerQueryService.java b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerQueryService.java similarity index 81% rename from java-spring/customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerQueryService.java rename to java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerQueryService.java index 0edf614..1296783 100644 --- a/java-spring/customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerQueryService.java +++ b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerQueryService.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.customers; +package net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice.backend; import io.eventuate.CompletableFutureUtil; import net.chrisrichardson.eventstore.javaexamples.banking.web.customers.queryside.common.QuerySideCustomer; @@ -9,9 +9,9 @@ import java.util.concurrent.CompletableFuture; public class CustomerQueryService { - private QuerySideCustomerRepository querySideCustomerRepository; + private CustomerViewRepository querySideCustomerRepository; - public CustomerQueryService(QuerySideCustomerRepository querySideCustomerRepository) { + public CustomerQueryService(CustomerViewRepository querySideCustomerRepository) { this.querySideCustomerRepository = querySideCustomerRepository; } diff --git a/java-spring/customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerQueryWorkflow.java b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerQueryWorkflow.java similarity index 96% rename from java-spring/customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerQueryWorkflow.java rename to java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerQueryWorkflow.java index f625031..1c4e2c5 100644 --- a/java-spring/customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerQueryWorkflow.java +++ b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerQueryWorkflow.java @@ -1,12 +1,12 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.customers; +package net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice.backend; import io.eventuate.DispatchedEvent; import io.eventuate.EventHandlerMethod; import io.eventuate.EventSubscriber; import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.accounts.AccountDeletedEvent; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.customers.CustomerToAccountDeleted; import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.customers.CustomerAddedToAccount; import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.customers.CustomerCreatedEvent; +import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.customers.CustomerToAccountDeleted; import net.chrisrichardson.eventstore.javaexamples.banking.common.customers.ToAccountInfo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/java-spring/customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/QuerySideCustomerConfiguration.java b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerViewBackendConfiguration.java similarity index 61% rename from java-spring/customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/QuerySideCustomerConfiguration.java rename to java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerViewBackendConfiguration.java index 45a44b5..ce5da81 100644 --- a/java-spring/customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/QuerySideCustomerConfiguration.java +++ b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerViewBackendConfiguration.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.customers; +package net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice.backend; import io.eventuate.javaclient.spring.EnableEventHandlers; import org.springframework.context.annotation.Bean; @@ -14,26 +14,26 @@ import org.springframework.data.mongodb.repository.config.EnableMongoRepositorie @EnableMongoRepositories @EnableEventHandlers @ComponentScan -public class QuerySideCustomerConfiguration { +public class CustomerViewBackendConfiguration { @Bean public CustomerQueryWorkflow customerQueryWorkflow(CustomerInfoUpdateService accountInfoUpdateService) { return new CustomerQueryWorkflow(accountInfoUpdateService); } @Bean - public CustomerInfoUpdateService customerInfoUpdateService(QuerySideCustomerRepository querySideCustomerRepository, MongoTemplate mongoTemplate) { + public CustomerInfoUpdateService customerInfoUpdateService(CustomerViewRepository querySideCustomerRepository, MongoTemplate mongoTemplate) { return new CustomerInfoUpdateService(querySideCustomerRepository, mongoTemplate); } @Bean - public CustomerQueryService customerQueryService(QuerySideCustomerRepository accountInfoRepository) { + public CustomerQueryService customerQueryService(CustomerViewRepository accountInfoRepository) { return new CustomerQueryService(accountInfoRepository); } @Bean - public QuerySideDependencyChecker querysideDependencyChecker(MongoTemplate mongoTemplate) { - return new QuerySideDependencyChecker(mongoTemplate); + public ViewDependencyChecker querysideDependencyChecker(MongoTemplate mongoTemplate) { + return new ViewDependencyChecker(mongoTemplate); } } diff --git a/java-spring/customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/QuerySideCustomerRepository.java b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerViewRepository.java similarity index 59% rename from java-spring/customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/QuerySideCustomerRepository.java rename to java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerViewRepository.java index c810524..6d6f8cb 100644 --- a/java-spring/customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/QuerySideCustomerRepository.java +++ b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerViewRepository.java @@ -1,11 +1,11 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.customers; +package net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice.backend; import net.chrisrichardson.eventstore.javaexamples.banking.web.customers.queryside.common.QuerySideCustomer; import org.springframework.data.mongodb.repository.MongoRepository; import java.util.List; -interface QuerySideCustomerRepository extends MongoRepository { +interface CustomerViewRepository extends MongoRepository { List findByEmailLike(String email); } diff --git a/java-spring/customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/QuerySideDependencyChecker.java b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/ViewDependencyChecker.java similarity index 58% rename from java-spring/customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/QuerySideDependencyChecker.java rename to java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/ViewDependencyChecker.java index 0d7d33c..2a0d095 100644 --- a/java-spring/customers-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/QuerySideDependencyChecker.java +++ b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/ViewDependencyChecker.java @@ -1,16 +1,16 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.customers; +package net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice.backend; - import org.slf4j.Logger; - import org.slf4j.LoggerFactory; - import org.springframework.data.mongodb.core.MongoTemplate; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.data.mongodb.core.MongoTemplate; - import javax.annotation.PostConstruct; +import javax.annotation.PostConstruct; -public class QuerySideDependencyChecker { +public class ViewDependencyChecker { private Logger logger = LoggerFactory.getLogger(getClass()); private MongoTemplate mongoTemplate; - public QuerySideDependencyChecker(MongoTemplate mongoTemplate) { + public ViewDependencyChecker(MongoTemplate mongoTemplate) { this.mongoTemplate = mongoTemplate; } diff --git a/java-spring/customers-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/customers/queryside/CustomerQueryController.java b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/web/CustomerQueryController.java similarity index 89% rename from java-spring/customers-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/customers/queryside/CustomerQueryController.java rename to java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/web/CustomerQueryController.java index 274de37..c00a24d 100644 --- a/java-spring/customers-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/customers/queryside/CustomerQueryController.java +++ b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/web/CustomerQueryController.java @@ -1,6 +1,6 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.customers.queryside; +package net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice.web; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.customers.CustomerQueryService; +import net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice.backend.CustomerQueryService; import net.chrisrichardson.eventstore.javaexamples.banking.web.customers.queryside.common.QuerySideCustomer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.EmptyResultDataAccessException; diff --git a/java-spring/customers-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/customers/queryside/CustomersQueryResponse.java b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/web/CustomersQueryResponse.java similarity index 87% rename from java-spring/customers-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/customers/queryside/CustomersQueryResponse.java rename to java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/web/CustomersQueryResponse.java index b4c340d..235cbe0 100644 --- a/java-spring/customers-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/customers/queryside/CustomersQueryResponse.java +++ b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/web/CustomersQueryResponse.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.customers.queryside; +package net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice.web; import net.chrisrichardson.eventstore.javaexamples.banking.web.customers.queryside.common.QuerySideCustomer; diff --git a/java-spring/accounts-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsCommandSideServiceConfiguration.java b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/web/CustomersViewWebConfiguration.java similarity index 50% rename from java-spring/accounts-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsCommandSideServiceConfiguration.java rename to java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/web/CustomersViewWebConfiguration.java index b350c35..0ea92c8 100644 --- a/java-spring/accounts-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/AccountsCommandSideServiceConfiguration.java +++ b/java-spring/customers-view-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/web/CustomersViewWebConfiguration.java @@ -1,9 +1,6 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web; +package net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice.web; -import io.eventuate.javaclient.spring.httpstomp.EventuateHttpStompClientConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.commonswagger.CommonSwaggerConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.accounts.CommandSideWebAccountsConfiguration; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice.backend.CustomerViewBackendConfiguration; import org.springframework.boot.autoconfigure.web.HttpMessageConverters; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; @@ -11,19 +8,16 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; @Configuration -@Import({CommandSideWebAccountsConfiguration.class, EventuateHttpStompClientConfiguration.class, CommonSwaggerConfiguration.class}) -@EnableAutoConfiguration +@Import({CustomerViewBackendConfiguration.class}) @ComponentScan -public class AccountsCommandSideServiceConfiguration { - +public class CustomersViewWebConfiguration extends WebMvcConfigurerAdapter { @Bean public HttpMessageConverters customConverters() { HttpMessageConverter additional = new MappingJackson2HttpMessageConverter(); return new HttpMessageConverters(additional); } - - } diff --git a/java-spring/customers-query-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersQuerySideServiceIntegrationTest.java b/java-spring/customers-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/CustomersQuerySideServiceIntegrationTest.java similarity index 95% rename from java-spring/customers-query-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersQuerySideServiceIntegrationTest.java rename to java-spring/customers-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/CustomersQuerySideServiceIntegrationTest.java index f48c868..2f68662 100644 --- a/java-spring/customers-query-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersQuerySideServiceIntegrationTest.java +++ b/java-spring/customers-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/CustomersQuerySideServiceIntegrationTest.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web; +package net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice; import net.chrisrichardson.eventstore.javaexamples.banking.common.customers.CustomerInfo; import net.chrisrichardson.eventstore.javaexamples.banking.common.customers.CustomerResponse; diff --git a/java-spring/customers-query-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersQuerySideServiceTestConfiguration.java b/java-spring/customers-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/CustomersQuerySideServiceTestConfiguration.java similarity index 68% rename from java-spring/customers-query-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersQuerySideServiceTestConfiguration.java rename to java-spring/customers-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/CustomersQuerySideServiceTestConfiguration.java index 8e12c30..bd462e6 100644 --- a/java-spring/customers-query-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/CustomersQuerySideServiceTestConfiguration.java +++ b/java-spring/customers-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/CustomersQuerySideServiceTestConfiguration.java @@ -1,9 +1,9 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web; +package net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice; -import io.eventuate.javaclient.spring.jdbc.EventuateJdbcEventStoreConfiguration; +import io.eventuate.javaclient.spring.jdbc.EmbeddedTestAggregateStoreConfiguration; import net.chrisrichardson.eventstore.javaexamples.banking.commonauth.AuthConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.customers.CustomersCommandSideWebConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.web.customers.queryside.CustomersQuerySideWebConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.customersservice.web.CustomersWebConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice.web.CustomersViewWebConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.web.HttpMessageConverters; import org.springframework.context.annotation.Bean; @@ -17,7 +17,7 @@ import java.util.Arrays; import java.util.List; @Configuration -@Import({CustomersCommandSideWebConfiguration.class, CustomersQuerySideWebConfiguration.class, EventuateJdbcEventStoreConfiguration.class, AuthConfiguration.class}) +@Import({CustomersWebConfiguration.class, CustomersViewWebConfiguration.class, EmbeddedTestAggregateStoreConfiguration.class, AuthConfiguration.class}) @EnableAutoConfiguration public class CustomersQuerySideServiceTestConfiguration { diff --git a/java-spring/customers-query-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerInfoUpdateServiceTest.java b/java-spring/customers-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerInfoUpdateServiceTest.java similarity index 89% rename from java-spring/customers-query-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerInfoUpdateServiceTest.java rename to java-spring/customers-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerInfoUpdateServiceTest.java index 1b6f256..7c37109 100644 --- a/java-spring/customers-query-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/customers/CustomerInfoUpdateServiceTest.java +++ b/java-spring/customers-view-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/customersviewservice/backend/CustomerInfoUpdateServiceTest.java @@ -1,11 +1,11 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.customers; +package net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice.backend; -import io.eventuate.javaclient.spring.jdbc.EventuateJdbcEventStoreConfiguration; +import io.eventuate.javaclient.spring.jdbc.EmbeddedTestAggregateStoreConfiguration; import io.eventuate.javaclient.spring.jdbc.IdGenerator; import io.eventuate.javaclient.spring.jdbc.IdGeneratorImpl; import net.chrisrichardson.eventstore.javaexamples.banking.common.customers.CustomerInfo; -import net.chrisrichardson.eventstore.javaexamples.banking.web.customers.queryside.common.QuerySideCustomer; import net.chrisrichardson.eventstore.javaexamples.banking.common.customers.ToAccountInfo; +import net.chrisrichardson.eventstore.javaexamples.banking.web.customers.queryside.common.QuerySideCustomer; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -19,9 +19,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import java.util.concurrent.ExecutionException; import static net.chrisrichardson.eventstorestore.javaexamples.testutil.CustomersTestUtils.generateCustomerInfo; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; @RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = CustomerInfoUpdateServiceTest.CustomerInfoUpdateServiceTestConfiguration.class) @@ -30,7 +28,7 @@ public class CustomerInfoUpdateServiceTest { @Configuration @EnableAutoConfiguration - @Import({QuerySideCustomerConfiguration.class, EventuateJdbcEventStoreConfiguration.class}) + @Import({CustomerViewBackendConfiguration.class, EmbeddedTestAggregateStoreConfiguration.class}) public static class CustomerInfoUpdateServiceTestConfiguration { } diff --git a/java-spring/docker-compose-common.yml b/java-spring/docker-compose-common.yml index 1b548cd..5adaf70 100644 --- a/java-spring/docker-compose-common.yml +++ b/java-spring/docker-compose-common.yml @@ -4,37 +4,37 @@ apigateway: - "8080:8080" environment: SPRING_DATA_MONGODB_URI: mongodb://mongodb/mydb - ACCOUNTS_COMMANDSIDE_SERVICE_HOST: accountscommandside - TRANSFERS_COMMANDSIDE_SERVICE_HOST: transactionscommandside - ACCOUNTS_QUERYSIDE_SERVICE_HOST: accountsqueryside - CUSTOMERS_COMMANDSIDE_SERVICE_HOST: customerscommandside - CUSTOMERS_QUERYSIDE_SERVICE_HOST: customersqueryside + ACCOUNTS_COMMANDSIDE_SERVICE_HOST: accountsservice + TRANSFERS_COMMANDSIDE_SERVICE_HOST: transactionsservice + ACCOUNTS_QUERYSIDE_SERVICE_HOST: accountsviewservice + CUSTOMERS_COMMANDSIDE_SERVICE_HOST: customersservice + CUSTOMERS_QUERYSIDE_SERVICE_HOST: customersviewservice -accountscommandside: - build: ./accounts-command-side-service/ +accountsservice: + build: ./accounts-service/ ports: - "8085:8080" -transactionscommandside: - build: ./transactions-command-side-service/ +transactionsservice: + build: ./transactions-service/ ports: - "8082:8080" -accountsqueryside: - build: ./accounts-query-side-service/ +accountsviewservice: + build: ./accounts-view-service/ environment: SPRING_DATA_MONGODB_URI: mongodb://mongodb/mydb ports: - "8081:8080" -customerscommandside: - build: ./customers-command-side-service/ +customersservice: + build: ./customers-service/ ports: - "8083:8080" -customersqueryside: - build: ./customers-query-side-service/ +customersviewservice: + build: ./customers-view-service/ ports: - "8084:8080" environment: diff --git a/java-spring/docker-compose-eventuate-local.yml b/java-spring/docker-compose-eventuate-local.yml index 4c07d2e..c08c772 100644 --- a/java-spring/docker-compose-eventuate-local.yml +++ b/java-spring/docker-compose-eventuate-local.yml @@ -55,17 +55,17 @@ apigateway: file: docker-compose-common.yml service: apigateway links: - - accountscommandside - - transactionscommandside - - accountsqueryside - - customerscommandside - - customersqueryside + - accountsservice + - transactionsservice + - accountsviewservice + - customersservice + - customersviewservice - mongodb -accountscommandside: +accountsservice: extends: file: docker-compose-common.yml - service: accountscommandside + service: accountsservice links: - mysql - kafka @@ -81,10 +81,10 @@ accountscommandside: EVENTUATELOCAL_CDC_DB_PASSWORD: rootpassword -transactionscommandside: +transactionsservice: extends: file: docker-compose-common.yml - service: transactionscommandside + service: transactionsservice links: - mysql - kafka @@ -99,10 +99,10 @@ transactionscommandside: EVENTUATELOCAL_CDC_DB_USER_NAME: root EVENTUATELOCAL_CDC_DB_PASSWORD: rootpassword -accountsqueryside: +accountsviewservice: extends: file: docker-compose-common.yml - service: accountsqueryside + service: accountsviewservice links: - mongodb - mysql @@ -120,10 +120,10 @@ accountsqueryside: EVENTUATELOCAL_CDC_DB_PASSWORD: rootpassword -customerscommandside: +customersservice: extends: file: docker-compose-common.yml - service: customerscommandside + service: customersservice links: - mysql - kafka @@ -138,10 +138,10 @@ customerscommandside: EVENTUATELOCAL_CDC_DB_USER_NAME: root EVENTUATELOCAL_CDC_DB_PASSWORD: rootpassword -customersqueryside: +customersviewservice: extends: file: docker-compose-common.yml - service: customersqueryside + service: customersviewservice links: - mongodb - mysql diff --git a/java-spring/docker-compose.yml b/java-spring/docker-compose.yml index 306988c..51deb2a 100644 --- a/java-spring/docker-compose.yml +++ b/java-spring/docker-compose.yml @@ -3,52 +3,52 @@ apigateway: file: docker-compose-common.yml service: apigateway links: - - accountscommandside - - transactionscommandside - - accountsqueryside - - customerscommandside - - customersqueryside + - accountsservice + - transactionsservice + - accountsviewservice + - customersservice + - customersviewservice - mongodb -accountscommandside: +accountsservice: extends: file: docker-compose-common.yml - service: accountscommandside + service: accountsservice environment: EVENTUATE_API_KEY_ID: ${EVENTUATE_API_KEY_ID} EVENTUATE_API_KEY_SECRET: ${EVENTUATE_API_KEY_SECRET} -transactionscommandside: +transactionsservice: extends: file: docker-compose-common.yml - service: transactionscommandside + service: transactionsservice environment: EVENTUATE_API_KEY_ID: ${EVENTUATE_API_KEY_ID} EVENTUATE_API_KEY_SECRET: ${EVENTUATE_API_KEY_SECRET} -accountsqueryside: +accountsviewservice: extends: file: docker-compose-common.yml - service: accountsqueryside + service: accountsviewservice links: - mongodb environment: EVENTUATE_API_KEY_ID: ${EVENTUATE_API_KEY_ID} EVENTUATE_API_KEY_SECRET: ${EVENTUATE_API_KEY_SECRET} -customerscommandside: +customersservice: extends: file: docker-compose-common.yml - service: customerscommandside + service: customersservice environment: EVENTUATE_API_KEY_ID: ${EVENTUATE_API_KEY_ID} EVENTUATE_API_KEY_SECRET: ${EVENTUATE_API_KEY_SECRET} -customersqueryside: +customersviewservice: extends: file: docker-compose-common.yml - service: customersqueryside + service: customersviewservice links: - mongodb environment: diff --git a/java-spring/e2e-test/build.gradle b/java-spring/e2e-test/build.gradle index 5783c4e..9f6d72f 100644 --- a/java-spring/e2e-test/build.gradle +++ b/java-spring/e2e-test/build.gradle @@ -1,10 +1,6 @@ apply plugin: VerifyMongoDBConfigurationPlugin dependencies { - testCompile project(":accounts-command-side-web") - testCompile project(":transactions-command-side-web") - testCompile project(":accounts-query-side-web") - testCompile project(":testutil") testCompile project(":common-auth") testCompile "junit:junit:4.11" diff --git a/java-spring/monolithic-service/build.gradle b/java-spring/monolithic-service/build.gradle deleted file mode 100644 index ff195c9..0000000 --- a/java-spring/monolithic-service/build.gradle +++ /dev/null @@ -1,31 +0,0 @@ -apply plugin: VerifyMongoDBConfigurationPlugin - -apply plugin: 'spring-boot' - -dependencies { - compile project(":accounts-query-side-web") - compile project(":accounts-command-side-web") - compile project(":transactions-command-side-web") - compile project(":customers-command-side-web") - compile project(":customers-query-side-web") - compile project(":common-auth-web") - compile project(":common-swagger") - - compile "org.springframework.boot:spring-boot-starter-web" - compile "org.springframework.boot:spring-boot-starter-actuator" - - compile "io.eventuate.client.java:eventuate-client-java-http-stomp-spring:$eventuateClientVersion" - compile project(":common-swagger") - - testCompile project(":testutil") - testCompile "org.springframework.boot:spring-boot-starter-test" - testCompile "io.eventuate.client.java:eventuate-client-java-jdbc:$eventuateClientVersion" -} - -task copyWebStatic(type: Copy) { - from "../../js-frontend/build" - into "build/resources/main/static" -} - -jar.dependsOn(copyWebStatic) -bootRun.dependsOn(copyWebStatic) diff --git a/java-spring/monolithic-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingWebConfiguration.java b/java-spring/monolithic-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingWebConfiguration.java deleted file mode 100644 index a7c564c..0000000 --- a/java-spring/monolithic-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingWebConfiguration.java +++ /dev/null @@ -1,45 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web; - -import io.eventuate.javaclient.spring.httpstomp.EventuateHttpStompClientConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.commonauth.AuthConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.commonswagger.CommonSwaggerConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.accounts.CommandSideWebAccountsConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.customers.CustomersCommandSideWebConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.transactions.CommandSideWebTransactionsConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.web.customers.queryside.CustomersQuerySideWebConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.web.queryside.QuerySideWebConfiguration; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.web.HttpMessageConverters; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; -import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; -import org.springframework.http.converter.HttpMessageConverter; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; - -@Configuration -@Import({CommandSideWebAccountsConfiguration.class, CommandSideWebTransactionsConfiguration.class, EventuateHttpStompClientConfiguration.class, QuerySideWebConfiguration.class, CustomersQuerySideWebConfiguration.class, CustomersCommandSideWebConfiguration.class, AuthConfiguration.class, CommonSwaggerConfiguration.class}) -@EnableAutoConfiguration -public class BankingWebConfiguration extends WebMvcConfigurerAdapter { - - - @Bean - public HttpMessageConverters customConverters() { - HttpMessageConverter additional = new MappingJackson2HttpMessageConverter(); - return new HttpMessageConverters(additional); - } - - @Bean - public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() { - System.setProperty("vertx.disableFileCPResolving", "true"); - return new PropertySourcesPlaceholderConfigurer(); - } - - @Override - public void addViewControllers(ViewControllerRegistry registry) { - registry.addViewController("/").setViewName("forward:/index.html"); - } -} diff --git a/java-spring/monolithic-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/BankingMain.java b/java-spring/monolithic-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/BankingMain.java deleted file mode 100644 index 534a3d4..0000000 --- a/java-spring/monolithic-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/BankingMain.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.main; - -import net.chrisrichardson.eventstore.javaexamples.banking.web.BankingWebConfiguration; -import org.springframework.boot.SpringApplication; - -public class BankingMain { - - public static void main(String[] args) { - SpringApplication.run(BankingWebConfiguration.class, args); - } -} diff --git a/java-spring/rest-api-integration-tests/build.gradle b/java-spring/rest-api-integration-tests/build.gradle new file mode 100644 index 0000000..8ed53ba --- /dev/null +++ b/java-spring/rest-api-integration-tests/build.gradle @@ -0,0 +1,14 @@ +apply plugin: VerifyMongoDBConfigurationPlugin + +dependencies { + testCompile project(":common-auth-web") + testCompile project(":transactions-service") + testCompile project(":accounts-service") + testCompile project(":accounts-view-service") + testCompile project(":customers-service") + testCompile project(":customers-view-service") + testCompile project(":testutil") + testCompile "junit:junit:4.11" + testCompile "org.springframework.boot:spring-boot-starter-test:$springBootVersion" + testCompile "io.eventuate.client.java:eventuate-client-java-jdbc:$eventuateClientVersion" +} \ No newline at end of file diff --git a/java-spring/monolithic-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingAuthTest.java b/java-spring/rest-api-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingAuthTest.java similarity index 100% rename from java-spring/monolithic-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingAuthTest.java rename to java-spring/rest-api-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingAuthTest.java diff --git a/java-spring/monolithic-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingWebIntegrationTest.java b/java-spring/rest-api-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingWebIntegrationTest.java similarity index 94% rename from java-spring/monolithic-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingWebIntegrationTest.java rename to java-spring/rest-api-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingWebIntegrationTest.java index 7c014e7..b0fc3ff 100644 --- a/java-spring/monolithic-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingWebIntegrationTest.java +++ b/java-spring/rest-api-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingWebIntegrationTest.java @@ -2,7 +2,6 @@ package net.chrisrichardson.eventstore.javaexamples.banking.web; import net.chrisrichardson.eventstorestore.javaexamples.testutil.AbstractRestAPITest; -import net.chrisrichardson.eventstorestore.javaexamples.testutil.AuthenticatedRestTemplate; import net.chrisrichardson.eventstorestore.javaexamples.testutil.CustomersTestUtils; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; diff --git a/java-spring/monolithic-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingWebTestConfiguration.java b/java-spring/rest-api-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingWebTestConfiguration.java similarity index 60% rename from java-spring/monolithic-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingWebTestConfiguration.java rename to java-spring/rest-api-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingWebTestConfiguration.java index c91f07d..0de078b 100644 --- a/java-spring/monolithic-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingWebTestConfiguration.java +++ b/java-spring/rest-api-integration-tests/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/BankingWebTestConfiguration.java @@ -1,19 +1,16 @@ package net.chrisrichardson.eventstore.javaexamples.banking.web; -import io.eventuate.javaclient.spring.jdbc.EventuateJdbcEventStoreConfiguration; +import io.eventuate.javaclient.spring.jdbc.EmbeddedTestAggregateStoreConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsservice.web.AccountsWebConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.accountsviewservice.web.AccountViewWebConfiguration; import net.chrisrichardson.eventstore.javaexamples.banking.commonauth.AuthConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.commonswagger.CommonSwaggerConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.accounts.CommandSideWebAccountsConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.customers.CustomersCommandSideWebConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.transactions.CommandSideWebTransactionsConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.web.customers.queryside.CustomersQuerySideWebConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.web.queryside.QuerySideWebConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.customersservice.web.CustomersWebConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.customersviewservice.web.CustomersViewWebConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.web.MoneyTransferWebConfiguration; import net.chrisrichardson.eventstorestore.javaexamples.testutil.RestTemplateErrorHandler; - import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.web.HttpMessageConverters; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.http.converter.HttpMessageConverter; @@ -25,7 +22,13 @@ import java.util.Arrays; import java.util.List; @Configuration -@Import({CommandSideWebAccountsConfiguration.class, CommandSideWebTransactionsConfiguration.class, EventuateJdbcEventStoreConfiguration.class, QuerySideWebConfiguration.class, CustomersQuerySideWebConfiguration.class, CustomersCommandSideWebConfiguration.class, AuthConfiguration.class, CommonSwaggerConfiguration.class}) +@Import({AccountsWebConfiguration.class, + MoneyTransferWebConfiguration.class, + AccountViewWebConfiguration.class, + CustomersViewWebConfiguration.class, + CustomersWebConfiguration.class, + EmbeddedTestAggregateStoreConfiguration.class, + AuthConfiguration.class}) @EnableAutoConfiguration public class BankingWebTestConfiguration extends WebMvcConfigurerAdapter { diff --git a/java-spring/settings.gradle b/java-spring/settings.gradle index 0425d7a..7badf00 100644 --- a/java-spring/settings.gradle +++ b/java-spring/settings.gradle @@ -4,33 +4,18 @@ include 'common-backend' include 'common-auth' include 'common-auth-web' include 'common-swagger' - -include 'accounts-command-side-backend' -include 'accounts-command-side-web' -include 'accounts-command-side-service' - -include 'accounts-query-side-backend' -include 'accounts-query-side-web' -include 'accounts-query-side-service' - -include 'transactions-command-side-backend' -include 'transactions-command-side-web' -include 'transactions-command-side-service' - -include 'customers-command-side-backend' -include 'customers-command-side-web' -include 'customers-command-side-service' - include 'customers-query-side-common' -include 'customers-query-side-backend' -include 'customers-query-side-web' -include 'customers-query-side-service' + +include 'accounts-service' +include 'accounts-view-service' +include 'transactions-service' +include 'customers-service' +include 'customers-view-service' include 'api-gateway-service' -include 'monolithic-service' - include 'backend-integration-tests' +include 'rest-api-integration-tests' include 'e2e-test' rootProject.name = 'java-spring-event-sourcing-example' diff --git a/java-spring/transactions-command-side-backend/build.gradle b/java-spring/transactions-command-side-backend/build.gradle deleted file mode 100644 index 075d8fa..0000000 --- a/java-spring/transactions-command-side-backend/build.gradle +++ /dev/null @@ -1,14 +0,0 @@ -apply plugin: 'java' - -dependencies { - - compile project(":common-backend") - compile "io.eventuate.client.java:eventuate-client-java-spring:$eventuateClientVersion" - - testCompile project(":testutil") - testCompile "junit:junit:4.11" - testCompile "org.springframework.boot:spring-boot-starter-test:$springBootVersion" - testCompile "io.eventuate.client.java:eventuate-client-java-jdbc:$eventuateClientVersion" - - -} diff --git a/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransferCommand.java b/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransferCommand.java deleted file mode 100644 index 91eada6..0000000 --- a/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransferCommand.java +++ /dev/null @@ -1,6 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions; - -import io.eventuate.Command; - -interface MoneyTransferCommand extends Command { -} diff --git a/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/RecordCreditCommand.java b/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/RecordCreditCommand.java deleted file mode 100644 index 421ef61..0000000 --- a/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/RecordCreditCommand.java +++ /dev/null @@ -1,4 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions; - -public class RecordCreditCommand implements MoneyTransferCommand { -} diff --git a/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/RecordDebitCommand.java b/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/RecordDebitCommand.java deleted file mode 100644 index 0d1d1f0..0000000 --- a/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/RecordDebitCommand.java +++ /dev/null @@ -1,4 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions; - -public class RecordDebitCommand implements MoneyTransferCommand { -} diff --git a/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/RecordDebitFailedCommand.java b/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/RecordDebitFailedCommand.java deleted file mode 100644 index 159d7ab..0000000 --- a/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/RecordDebitFailedCommand.java +++ /dev/null @@ -1,4 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions; - -public class RecordDebitFailedCommand implements MoneyTransferCommand { -} diff --git a/java-spring/transactions-command-side-service/Dockerfile b/java-spring/transactions-command-side-service/Dockerfile deleted file mode 100644 index 53031e0..0000000 --- a/java-spring/transactions-command-side-service/Dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM java:openjdk-8u91-jdk -CMD java ${JAVA_OPTS} -jar transactions-command-side-service.jar -EXPOSE 8080 -COPY build/libs/transactions-command-side-service.jar . \ No newline at end of file diff --git a/java-spring/transactions-command-side-service/build.gradle b/java-spring/transactions-command-side-service/build.gradle deleted file mode 100644 index 3d530db..0000000 --- a/java-spring/transactions-command-side-service/build.gradle +++ /dev/null @@ -1,20 +0,0 @@ -apply plugin: 'spring-boot' -apply plugin: EventuateDependencyPlugin - -apply plugin: VerifyEventStoreEnvironmentPlugin - -dependencies { - compile project(":transactions-command-side-web") - compile project(":common-swagger") - - compile "org.springframework.boot:spring-boot-starter-web" - compile "org.springframework.boot:spring-boot-starter-actuator" - - testCompile "org.springframework.boot:spring-boot-starter-test" - -} - -test { - ignoreFailures System.getenv("EVENTUATE_API_KEY_ID") == null -} - diff --git a/java-spring/transactions-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/TransactionsCommandSideServiceMain.java b/java-spring/transactions-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/TransactionsCommandSideServiceMain.java deleted file mode 100644 index 2980e56..0000000 --- a/java-spring/transactions-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/main/TransactionsCommandSideServiceMain.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.main; - -import net.chrisrichardson.eventstore.javaexamples.banking.web.TransactionsCommandSideServiceConfiguration; -import org.springframework.boot.SpringApplication; - -public class TransactionsCommandSideServiceMain { - - public static void main(String[] args) { - SpringApplication.run(TransactionsCommandSideServiceConfiguration.class, args); - } -} diff --git a/java-spring/transactions-command-side-web/build.gradle b/java-spring/transactions-command-side-web/build.gradle deleted file mode 100644 index 32f9aa9..0000000 --- a/java-spring/transactions-command-side-web/build.gradle +++ /dev/null @@ -1,12 +0,0 @@ - -dependencies { - compile project(":transactions-command-side-backend") - - compile "org.springframework.boot:spring-boot-starter-web:$springBootVersion" - - testCompile "org.springframework.boot:spring-boot-starter-test:$springBootVersion" - testCompile "io.eventuate.client.java:eventuate-client-java-jdbc:$eventuateClientVersion" -} - - - diff --git a/java-spring/transactions-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/transactions/CommandSideWebTransactionsConfiguration.java b/java-spring/transactions-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/transactions/CommandSideWebTransactionsConfiguration.java deleted file mode 100644 index 42e0c6b..0000000 --- a/java-spring/transactions-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/transactions/CommandSideWebTransactionsConfiguration.java +++ /dev/null @@ -1,13 +0,0 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.transactions; - -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions.MoneyTransferConfiguration; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; - -@Configuration -@Import({MoneyTransferConfiguration.class}) -@ComponentScan -public class CommandSideWebTransactionsConfiguration { - -} diff --git a/java-spring/transactions-service/Dockerfile b/java-spring/transactions-service/Dockerfile new file mode 100644 index 0000000..b75309e --- /dev/null +++ b/java-spring/transactions-service/Dockerfile @@ -0,0 +1,4 @@ +FROM java:openjdk-8u91-jdk +CMD java ${JAVA_OPTS} -jar transactions-service.jar +EXPOSE 8080 +COPY build/libs/transactions-service.jar . \ No newline at end of file diff --git a/java-spring/accounts-query-side-service/build.gradle b/java-spring/transactions-service/build.gradle similarity index 58% rename from java-spring/accounts-query-side-service/build.gradle rename to java-spring/transactions-service/build.gradle index 67ac6a5..ccc4a03 100644 --- a/java-spring/accounts-query-side-service/build.gradle +++ b/java-spring/transactions-service/build.gradle @@ -1,21 +1,22 @@ -apply plugin: VerifyMongoDBConfigurationPlugin -apply plugin: VerifyEventStoreEnvironmentPlugin +apply plugin: 'spring-boot' apply plugin: EventuateDependencyPlugin -apply plugin: 'spring-boot' +apply plugin: VerifyEventStoreEnvironmentPlugin dependencies { - compile project(":accounts-query-side-web") + compile project(":common-backend") compile project(":common-swagger") - compile "org.springframework.boot:spring-boot-starter-web" - compile "org.springframework.boot:spring-boot-starter-actuator" + compile "org.springframework.boot:spring-boot-starter-web:$springBootVersion" + compile "org.springframework.boot:spring-boot-starter-actuator:$springBootVersion" testCompile project(":testutil") - testCompile "org.springframework.boot:spring-boot-starter-test" - + testCompile "junit:junit:4.11" + testCompile "org.springframework.boot:spring-boot-starter-test:$springBootVersion" + testCompile "io.eventuate.client.java:eventuate-client-java-jdbc:$eventuateClientVersion" } test { ignoreFailures System.getenv("EVENTUATE_API_KEY_ID") == null } + diff --git a/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/TransactionsServiceMain.java b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/TransactionsServiceMain.java new file mode 100644 index 0000000..4c7be34 --- /dev/null +++ b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/TransactionsServiceMain.java @@ -0,0 +1,23 @@ +package net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice; + +import io.eventuate.javaclient.driver.EventuateDriverConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.commonswagger.CommonSwaggerConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.web.MoneyTransferWebConfiguration; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; + +@Configuration +@Import({MoneyTransferWebConfiguration.class, + EventuateDriverConfiguration.class, + CommonSwaggerConfiguration.class}) +@EnableAutoConfiguration +@ComponentScan +public class TransactionsServiceMain { + + public static void main(String[] args) { + SpringApplication.run(TransactionsServiceMain.class, args); + } +} diff --git a/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/CreateMoneyTransferCommand.java b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/CreateMoneyTransferCommand.java similarity index 80% rename from java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/CreateMoneyTransferCommand.java rename to java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/CreateMoneyTransferCommand.java index 4d15699..e5cb1f4 100644 --- a/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/CreateMoneyTransferCommand.java +++ b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/CreateMoneyTransferCommand.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions; +package net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend; import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.transactions.TransferDetails; diff --git a/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransfer.java b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransfer.java similarity index 94% rename from java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransfer.java rename to java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransfer.java index 849175a..eb31f04 100644 --- a/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransfer.java +++ b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransfer.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions; +package net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend; import io.eventuate.Event; import io.eventuate.EventUtil; diff --git a/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransferConfiguration.java b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransferBackendConfiguration.java similarity index 82% rename from java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransferConfiguration.java rename to java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransferBackendConfiguration.java index 5f915f3..5ebebcc 100644 --- a/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransferConfiguration.java +++ b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransferBackendConfiguration.java @@ -1,15 +1,14 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions; +package net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend; import io.eventuate.AggregateRepository; import io.eventuate.EventuateAggregateStore; import io.eventuate.javaclient.spring.EnableEventHandlers; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; @Configuration @EnableEventHandlers -public class MoneyTransferConfiguration { +public class MoneyTransferBackendConfiguration { @Bean public MoneyTransferService moneyTransferService(AggregateRepository moneyTransferRepository) { diff --git a/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransferCommand.java b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransferCommand.java new file mode 100644 index 0000000..64b3819 --- /dev/null +++ b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransferCommand.java @@ -0,0 +1,6 @@ +package net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend; + +import io.eventuate.Command; + +interface MoneyTransferCommand extends Command { +} diff --git a/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransferService.java b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransferService.java similarity index 88% rename from java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransferService.java rename to java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransferService.java index b31358f..c0209da 100644 --- a/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransferService.java +++ b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransferService.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions; +package net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend; import io.eventuate.AggregateRepository; import io.eventuate.EntityWithIdAndVersion; diff --git a/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransferWorkflow.java b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransferWorkflow.java similarity index 93% rename from java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransferWorkflow.java rename to java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransferWorkflow.java index 0328cb3..a6724a4 100644 --- a/java-spring/transactions-command-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransferWorkflow.java +++ b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransferWorkflow.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions; +package net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend; import io.eventuate.EntityWithIdAndVersion; diff --git a/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/RecordCreditCommand.java b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/RecordCreditCommand.java new file mode 100644 index 0000000..015ce28 --- /dev/null +++ b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/RecordCreditCommand.java @@ -0,0 +1,4 @@ +package net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend; + +public class RecordCreditCommand implements MoneyTransferCommand { +} diff --git a/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/RecordDebitCommand.java b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/RecordDebitCommand.java new file mode 100644 index 0000000..e4be904 --- /dev/null +++ b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/RecordDebitCommand.java @@ -0,0 +1,4 @@ +package net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend; + +public class RecordDebitCommand implements MoneyTransferCommand { +} diff --git a/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/RecordDebitFailedCommand.java b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/RecordDebitFailedCommand.java new file mode 100644 index 0000000..559e574 --- /dev/null +++ b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/RecordDebitFailedCommand.java @@ -0,0 +1,4 @@ +package net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend; + +public class RecordDebitFailedCommand implements MoneyTransferCommand { +} diff --git a/java-spring/transactions-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/transactions/MoneyTransferController.java b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/web/MoneyTransferController.java similarity index 89% rename from java-spring/transactions-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/transactions/MoneyTransferController.java rename to java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/web/MoneyTransferController.java index 8c8a348..df2cb80 100644 --- a/java-spring/transactions-command-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/transactions/MoneyTransferController.java +++ b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/web/MoneyTransferController.java @@ -1,10 +1,10 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.transactions; +package net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.web; -import net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions.MoneyTransferService; import net.chrisrichardson.eventstore.javaexamples.banking.backend.common.transactions.TransferDetails; import net.chrisrichardson.eventstore.javaexamples.banking.common.transactions.CreateMoneyTransferRequest; import net.chrisrichardson.eventstore.javaexamples.banking.common.transactions.CreateMoneyTransferResponse; +import net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend.MoneyTransferService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; diff --git a/java-spring/transactions-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/TransactionsCommandSideServiceConfiguration.java b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/web/MoneyTransferWebConfiguration.java similarity index 50% rename from java-spring/transactions-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/TransactionsCommandSideServiceConfiguration.java rename to java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/web/MoneyTransferWebConfiguration.java index 429084a..643bbe7 100644 --- a/java-spring/transactions-command-side-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/TransactionsCommandSideServiceConfiguration.java +++ b/java-spring/transactions-service/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/web/MoneyTransferWebConfiguration.java @@ -1,9 +1,6 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web; +package net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.web; -import io.eventuate.javaclient.spring.httpstomp.EventuateHttpStompClientConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.commonswagger.CommonSwaggerConfiguration; -import net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.transactions.CommandSideWebTransactionsConfiguration; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend.MoneyTransferBackendConfiguration; import org.springframework.boot.autoconfigure.web.HttpMessageConverters; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; @@ -13,16 +10,14 @@ import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; @Configuration -@Import({CommandSideWebTransactionsConfiguration.class, EventuateHttpStompClientConfiguration.class, CommonSwaggerConfiguration.class}) -@EnableAutoConfiguration +@Import({MoneyTransferBackendConfiguration.class}) @ComponentScan -public class TransactionsCommandSideServiceConfiguration { - +public class MoneyTransferWebConfiguration { @Bean public HttpMessageConverters customConverters() { HttpMessageConverter additional = new MappingJackson2HttpMessageConverter(); return new HttpMessageConverters(additional); } - + } diff --git a/java-spring/transactions-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/TransactionsCommandSideServiceIntegrationTest.java b/java-spring/transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/TransactionsCommandSideServiceIntegrationTest.java similarity index 92% rename from java-spring/transactions-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/TransactionsCommandSideServiceIntegrationTest.java rename to java-spring/transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/TransactionsCommandSideServiceIntegrationTest.java index 8d82dfd..14a0e7b 100644 --- a/java-spring/transactions-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/TransactionsCommandSideServiceIntegrationTest.java +++ b/java-spring/transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/TransactionsCommandSideServiceIntegrationTest.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web; +package net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/java-spring/transactions-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/TransactionsCommandSideServiceTestConfiguration.java b/java-spring/transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/TransactionsCommandSideServiceTestConfiguration.java similarity index 75% rename from java-spring/transactions-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/TransactionsCommandSideServiceTestConfiguration.java rename to java-spring/transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/TransactionsCommandSideServiceTestConfiguration.java index 03667ea..70182ef 100644 --- a/java-spring/transactions-command-side-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/TransactionsCommandSideServiceTestConfiguration.java +++ b/java-spring/transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/TransactionsCommandSideServiceTestConfiguration.java @@ -1,5 +1,7 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web; +package net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice; +import net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.web.MoneyTransferWebConfiguration; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.web.HttpMessageConverters; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -12,7 +14,8 @@ import java.util.Arrays; import java.util.List; @Configuration -@Import(TransactionsCommandSideServiceConfiguration.class) +@Import(MoneyTransferWebConfiguration.class) +@EnableAutoConfiguration public class TransactionsCommandSideServiceTestConfiguration { @Bean diff --git a/java-spring/transactions-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransferEventTest.java b/java-spring/transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransferEventTest.java similarity index 72% rename from java-spring/transactions-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransferEventTest.java rename to java-spring/transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransferEventTest.java index 12bf27a..58cd9f9 100644 --- a/java-spring/transactions-command-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/commandside/transactions/MoneyTransferEventTest.java +++ b/java-spring/transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/backend/MoneyTransferEventTest.java @@ -1,5 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.backend.commandside.transactions; - +package net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.backend; import net.chrisrichardson.eventstorestore.javaexamples.testutil.AbstractEntityEventTest; diff --git a/java-spring/transactions-command-side-web/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/transactions/MoneyTransferControllerIntegrationTest.java b/java-spring/transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/web/MoneyTransferControllerIntegrationTest.java similarity index 95% rename from java-spring/transactions-command-side-web/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/transactions/MoneyTransferControllerIntegrationTest.java rename to java-spring/transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/web/MoneyTransferControllerIntegrationTest.java index 4aa88a7..f6931bc 100644 --- a/java-spring/transactions-command-side-web/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/transactions/MoneyTransferControllerIntegrationTest.java +++ b/java-spring/transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/web/MoneyTransferControllerIntegrationTest.java @@ -1,4 +1,4 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.transactions; +package net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.web; import org.junit.Before; diff --git a/java-spring/transactions-command-side-web/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/transactions/MoneyTransferControllerIntegrationTestConfiguration.java b/java-spring/transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/web/MoneyTransferControllerIntegrationTestConfiguration.java similarity index 52% rename from java-spring/transactions-command-side-web/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/transactions/MoneyTransferControllerIntegrationTestConfiguration.java rename to java-spring/transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/web/MoneyTransferControllerIntegrationTestConfiguration.java index 915cbcc..da8a456 100644 --- a/java-spring/transactions-command-side-web/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/web/commandside/transactions/MoneyTransferControllerIntegrationTestConfiguration.java +++ b/java-spring/transactions-service/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/transactionsservice/web/MoneyTransferControllerIntegrationTestConfiguration.java @@ -1,12 +1,12 @@ -package net.chrisrichardson.eventstore.javaexamples.banking.web.commandside.transactions; +package net.chrisrichardson.eventstore.javaexamples.banking.transactionsservice.web; -import io.eventuate.javaclient.spring.jdbc.EventuateJdbcEventStoreConfiguration; +import io.eventuate.javaclient.spring.jdbc.EmbeddedTestAggregateStoreConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @Configuration -@Import({CommandSideWebTransactionsConfiguration.class, EventuateJdbcEventStoreConfiguration.class}) +@Import({MoneyTransferWebConfiguration.class, EmbeddedTestAggregateStoreConfiguration.class}) @EnableAutoConfiguration public class MoneyTransferControllerIntegrationTestConfiguration { } From edcfd9e22f43c233d461138ebcb1166f74cf4c4d Mon Sep 17 00:00:00 2001 From: Chris Richardson Date: Tue, 10 Jan 2017 17:59:54 -0800 Subject: [PATCH 3/3] Updated READMEs --- README.md | 23 ++++++----------------- java-spring/README.md | 34 +++++----------------------------- 2 files changed, 11 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index 59a4fc6..dedd799 100644 --- a/README.md +++ b/README.md @@ -35,27 +35,16 @@ The following diagram shows the architecture: ![Money transfer architecture](https://github.com/cer/event-sourcing-examples/wiki/i/applicationarchitecture.png) -There are the following logical services: +There are the following services: -* Customers (command-side) - REST API for creating customers -* Accounts (command-side) - REST API for creating accounts -* Money transfers (command-side) - REST API for transferring money -* Customers (query-side) - subscribes to events and updates a MongoDB View, and provides an API for retrieving customers -* Accounts (query-side) - subscribes to events and updates a MongoDB View, and provides an API for retrieving accounts +* Customers Service - REST API for creating customers +* Accounts Service - REST API for creating accounts +* Transactions Service - REST API for transferring money +* Customers View Service - subscribes to events and updates a MongoDB View, and provides an API for retrieving customers +* Accounts View Service - subscribes to events and updates a MongoDB View, and provides an API for retrieving accounts There is also an [API gateway](http://microservices.io/patterns/apigateway.html) service that acts as a Facade in front of the services. -One of the neat things about the modular architecture is that there are two ways to deploy these four services: - -* monolithic-service - all services are packaged as a single Spring Boot executable JAR -* Microservices - three separate Spring Boot executable JARs - * customer-command-side-service - command-side customers - * accounts-command-side-service - command-side accounts - * transactions-command-side-service - command-side money transfers - * customers-query-side-service - query-side customers - * accounts-query-side-service - query-side accounts - * api-gateway-service - API gateway service - # About the examples There are currently the following versions of the example application: diff --git a/java-spring/README.md b/java-spring/README.md index 7909f32..574adda 100644 --- a/java-spring/README.md +++ b/java-spring/README.md @@ -2,34 +2,10 @@ This is the Java/Spring version of the Event Sourcing/CQRS money transfer exampl # About the application -This application consists of three microservices: +This application consists of the following microservices: * Account Service - the command side business logic for Accounts - * Money Transfer Service - the command side business logic for Money Transfers - * Query service - query side implementation of a MongoDB-based, denormalized view of Accounts and MoneyTransfers - -The Account Service consists of the following modules: - - * accounts-command-side-backend - the Account aggregate - * accounts-command-side-web - a REST API for creating and retrieving Accounts - * accounts-command-side-service - a standalone microservice - -The Money Transfer Service consists of the following modules: - - * transactions-command-side-backend - the MoneyTransfer aggregate - * transactions-command-side-web - a REST API for creating and retrieving Money Transfers - * transactions-command-side-service - a standalone microservice - -The Query Service consists the following modules: - - * accounts-query-side-backend - MongoDB-based, denormalized view of Accounts and MoneyTransfers - * accounts-query-side-web - a REST API for querying the denormalized view - * accounts-query-side-service - a standalone microservice - -# Deploying the application - -These services can be deployed either as either separate standalone services using the Event Store server, or they can be deployed as a monolithic application for simplified integration testing. - -The three services can also be packaged as a single monolithic web application in order to be used with the embedded Event Store: - - * monolithic-service - all-in-one, monolithic packaging of the application + * Account View Service - query side implementation of a MongoDB-based, denormalized view of Accounts + * Customer Service - the command side business logic for Customers + * Customer View Service - query side implementation of a MongoDB-based, denormalized view of Customers + * Transaction Service - the command side business logic for Money Transfers