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/_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 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 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 97% 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 a65f53c..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 { 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-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 { }