diff --git a/CHANGELOG.md b/CHANGELOG.md index 5fd52bccc..ce8687dce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ on [Keep a CHANGELOG](http://keepachangelog.com/). This project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +## [2.4.7] - 2020-01-24 +### Changed +- Event store now works with multiple event sources +- Event store now compatible with contexts that do not have a command pillar +- Extracted all command pillar SystemCommands into their own module ## [2.4.6] - 2020-01-21 ### Added diff --git a/event-store-management/event-store-management-command-handler-extension/pom.xml b/event-store-management/event-store-management-command-handler-extension/pom.xml new file mode 100644 index 000000000..be3e9213c --- /dev/null +++ b/event-store-management/event-store-management-command-handler-extension/pom.xml @@ -0,0 +1,54 @@ + + + + event-store-management + uk.gov.justice.event-store + 2.4.7-SNAPSHOT + + 4.0.0 + + event-store-management-command-handler-extension + + + + javax + javaee-api + provided + + + uk.gov.justice.services + framework-management + ${framework.version} + + + uk.gov.justice.event-store + event-store-management-core + ${project.version} + + + uk.gov.justice.event-store + event-store-util + ${project.version} + + + uk.gov.justice.event-store + event-publisher-timer + ${project.version} + + + + + junit + junit + test + + + org.mockito + mockito-core + test + + + + diff --git a/event-store-management/event-store-management-commands/src/main/java/uk/gov/justice/services/eventstore/management/commands/AddTriggerCommand.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/commands/AddTriggerCommand.java similarity index 100% rename from event-store-management/event-store-management-commands/src/main/java/uk/gov/justice/services/eventstore/management/commands/AddTriggerCommand.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/commands/AddTriggerCommand.java diff --git a/event-store-management/event-store-management-commands/src/main/java/uk/gov/justice/services/eventstore/management/commands/DisablePublishingCommand.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/commands/DisablePublishingCommand.java similarity index 100% rename from event-store-management/event-store-management-commands/src/main/java/uk/gov/justice/services/eventstore/management/commands/DisablePublishingCommand.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/commands/DisablePublishingCommand.java diff --git a/event-store-management/event-store-management-commands/src/main/java/uk/gov/justice/services/eventstore/management/commands/EnablePublishingCommand.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/commands/EnablePublishingCommand.java similarity index 100% rename from event-store-management/event-store-management-commands/src/main/java/uk/gov/justice/services/eventstore/management/commands/EnablePublishingCommand.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/commands/EnablePublishingCommand.java diff --git a/event-store-management/event-store-management-commands/src/main/java/uk/gov/justice/services/eventstore/management/commands/RemoveTriggerCommand.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/commands/RemoveTriggerCommand.java similarity index 100% rename from event-store-management/event-store-management-commands/src/main/java/uk/gov/justice/services/eventstore/management/commands/RemoveTriggerCommand.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/commands/RemoveTriggerCommand.java diff --git a/event-store-management/event-store-management-commands/src/main/java/uk/gov/justice/services/eventstore/management/commands/ValidatePublishedEventsCommand.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/commands/ValidatePublishedEventsCommand.java similarity index 100% rename from event-store-management/event-store-management-commands/src/main/java/uk/gov/justice/services/eventstore/management/commands/ValidatePublishedEventsCommand.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/commands/ValidatePublishedEventsCommand.java diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/shuttering/observers/CommandHandlerQueueDrainer.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/extension/suspension/CommandHandlerQueueDrainer.java similarity index 92% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/shuttering/observers/CommandHandlerQueueDrainer.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/extension/suspension/CommandHandlerQueueDrainer.java index 7670e1375..dd554784c 100644 --- a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/shuttering/observers/CommandHandlerQueueDrainer.java +++ b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/extension/suspension/CommandHandlerQueueDrainer.java @@ -1,11 +1,10 @@ -package uk.gov.justice.services.eventstore.management.shuttering.observers; +package uk.gov.justice.services.eventstore.management.extension.suspension; import static java.lang.String.format; import static uk.gov.justice.services.management.suspension.api.SuspensionResult.suspensionFailed; import static uk.gov.justice.services.management.suspension.api.SuspensionResult.suspensionSucceeded; import uk.gov.justice.services.eventsourcing.util.jee.timer.StopWatchFactory; -import uk.gov.justice.services.eventstore.management.shuttering.process.CommandHandlerQueueInterrogator; import uk.gov.justice.services.management.suspension.api.Suspendable; import uk.gov.justice.services.management.suspension.api.SuspensionResult; import uk.gov.justice.services.management.suspension.commands.SuspensionCommand; diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/shuttering/process/CommandHandlerQueueInterrogator.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/extension/suspension/CommandHandlerQueueInterrogator.java similarity index 90% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/shuttering/process/CommandHandlerQueueInterrogator.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/extension/suspension/CommandHandlerQueueInterrogator.java index 2276a8623..6ff5d823b 100644 --- a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/shuttering/process/CommandHandlerQueueInterrogator.java +++ b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/extension/suspension/CommandHandlerQueueInterrogator.java @@ -1,4 +1,4 @@ -package uk.gov.justice.services.eventstore.management.shuttering.process; +package uk.gov.justice.services.eventstore.management.extension.suspension; import uk.gov.justice.services.common.polling.MultiIteratingPoller; import uk.gov.justice.services.common.polling.MultiIteratingPollerFactory; diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/shuttering/process/CommandHandlerQueueSupplierFactory.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/extension/suspension/CommandHandlerQueueSupplierFactory.java similarity index 89% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/shuttering/process/CommandHandlerQueueSupplierFactory.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/extension/suspension/CommandHandlerQueueSupplierFactory.java index 26aadd799..76d74c013 100644 --- a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/shuttering/process/CommandHandlerQueueSupplierFactory.java +++ b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/extension/suspension/CommandHandlerQueueSupplierFactory.java @@ -1,4 +1,4 @@ -package uk.gov.justice.services.eventstore.management.shuttering.process; +package uk.gov.justice.services.eventstore.management.extension.suspension; import uk.gov.justice.services.messaging.jms.JmsCommandHandlerDestinationNameProvider; import uk.gov.justice.services.messaging.jms.JmsQueueBrowser; diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/publishing/EnablePublishingCommandHandler.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/publishing/EnablePublishingCommandHandler.java similarity index 100% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/publishing/EnablePublishingCommandHandler.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/publishing/EnablePublishingCommandHandler.java diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/publishing/EnablePublishingProcessor.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/publishing/EnablePublishingProcessor.java similarity index 100% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/publishing/EnablePublishingProcessor.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/publishing/EnablePublishingProcessor.java diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/publishing/PublishingEnabler.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/publishing/PublishingEnabler.java similarity index 100% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/publishing/PublishingEnabler.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/publishing/PublishingEnabler.java diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/trigger/TriggerManagementStartupBean.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/trigger/TriggerManagementStartupBean.java similarity index 100% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/trigger/TriggerManagementStartupBean.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/trigger/TriggerManagementStartupBean.java diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/trigger/commands/AddRemoveTriggerCommandHandler.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/trigger/commands/AddRemoveTriggerCommandHandler.java similarity index 100% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/trigger/commands/AddRemoveTriggerCommandHandler.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/trigger/commands/AddRemoveTriggerCommandHandler.java diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/commands/ValidatePublishedEventCommandHandler.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/commands/ValidatePublishedEventCommandHandler.java similarity index 100% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/commands/ValidatePublishedEventCommandHandler.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/commands/ValidatePublishedEventCommandHandler.java diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/EventValidationProcess.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/EventValidationProcess.java similarity index 100% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/EventValidationProcess.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/EventValidationProcess.java diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/EventValidator.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/EventValidator.java similarity index 100% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/EventValidator.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/EventValidator.java diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/JsonStringConverter.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/JsonStringConverter.java similarity index 100% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/JsonStringConverter.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/JsonStringConverter.java diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/MissingSchemaException.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/MissingSchemaException.java similarity index 100% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/MissingSchemaException.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/MissingSchemaException.java diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/MissingSchemaIdException.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/MissingSchemaIdException.java similarity index 100% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/MissingSchemaIdException.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/MissingSchemaIdException.java diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaIdFinder.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaIdFinder.java similarity index 100% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaIdFinder.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaIdFinder.java diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaIdMappingProvider.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaIdMappingProvider.java similarity index 100% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaIdMappingProvider.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaIdMappingProvider.java diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaProvider.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaProvider.java similarity index 100% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaProvider.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaProvider.java diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/SingleEventValidator.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/SingleEventValidator.java similarity index 100% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/SingleEventValidator.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/SingleEventValidator.java diff --git a/event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/ValidationError.java b/event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/ValidationError.java similarity index 100% rename from event-store-management/event-store-management-core/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/ValidationError.java rename to event-store-management/event-store-management-command-handler-extension/src/main/java/uk/gov/justice/services/eventstore/management/validation/process/ValidationError.java diff --git a/event-store-management/event-store-management-command-handler-extension/src/main/resources/META-INF/beans.xml b/event-store-management/event-store-management-command-handler-extension/src/main/resources/META-INF/beans.xml new file mode 100644 index 000000000..a0aaf4421 --- /dev/null +++ b/event-store-management/event-store-management-command-handler-extension/src/main/resources/META-INF/beans.xml @@ -0,0 +1,8 @@ + + + + diff --git a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/shuttering/observers/CommandHandlerQueueDrainerTest.java b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/extension/suspension/CommandHandlerQueueDrainerTest.java similarity index 94% rename from event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/shuttering/observers/CommandHandlerQueueDrainerTest.java rename to event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/extension/suspension/CommandHandlerQueueDrainerTest.java index 4a7bf94a4..0327f9e15 100644 --- a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/shuttering/observers/CommandHandlerQueueDrainerTest.java +++ b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/extension/suspension/CommandHandlerQueueDrainerTest.java @@ -1,6 +1,7 @@ -package uk.gov.justice.services.eventstore.management.shuttering.observers; +package uk.gov.justice.services.eventstore.management.extension.suspension; import static java.util.Optional.empty; +import static java.util.UUID.randomUUID; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.mockito.Mockito.inOrder; @@ -10,7 +11,6 @@ import static uk.gov.justice.services.jmx.api.domain.CommandState.COMMAND_FAILED; import uk.gov.justice.services.eventsourcing.util.jee.timer.StopWatchFactory; -import uk.gov.justice.services.eventstore.management.shuttering.process.CommandHandlerQueueInterrogator; import uk.gov.justice.services.management.suspension.api.SuspensionResult; import uk.gov.justice.services.management.suspension.commands.SuspensionCommand; @@ -50,7 +50,7 @@ public void shouldSuspendButNotUnsuspend() throws Exception { @Test public void shouldWaitForCommandHandlerQueueToDrainAndReturnSuccess() throws Exception { - final UUID commandId = UUID.randomUUID(); + final UUID commandId = randomUUID(); final StopWatch stopWatch = mock(StopWatch.class); final SuspensionCommand suspensionCommand = mock(SuspensionCommand.class); @@ -79,7 +79,7 @@ public void shouldWaitForCommandHandlerQueueToDrainAndReturnSuccess() throws Exc @Test public void shouldReturnFailureIfQueueDoesNotDrainInTime() throws Exception { - final UUID commandId = UUID.randomUUID(); + final UUID commandId = randomUUID(); final StopWatch stopWatch = mock(StopWatch.class); final SuspensionCommand applicationShutteringCommand = mock(SuspensionCommand.class); diff --git a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/shuttering/process/CommandHandlerQueueInterrogatorTest.java b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/extension/suspension/CommandHandlerQueueInterrogatorTest.java similarity index 96% rename from event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/shuttering/process/CommandHandlerQueueInterrogatorTest.java rename to event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/extension/suspension/CommandHandlerQueueInterrogatorTest.java index f3eced5c7..bba42ff90 100644 --- a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/shuttering/process/CommandHandlerQueueInterrogatorTest.java +++ b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/extension/suspension/CommandHandlerQueueInterrogatorTest.java @@ -1,4 +1,4 @@ -package uk.gov.justice.services.eventstore.management.shuttering.process; +package uk.gov.justice.services.eventstore.management.extension.suspension; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; diff --git a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/shuttering/process/CommandHandlerQueueSupplierFactoryTest.java b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/extension/suspension/CommandHandlerQueueSupplierFactoryTest.java similarity index 95% rename from event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/shuttering/process/CommandHandlerQueueSupplierFactoryTest.java rename to event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/extension/suspension/CommandHandlerQueueSupplierFactoryTest.java index 79f6820cf..d2166acd7 100644 --- a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/shuttering/process/CommandHandlerQueueSupplierFactoryTest.java +++ b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/extension/suspension/CommandHandlerQueueSupplierFactoryTest.java @@ -1,4 +1,4 @@ -package uk.gov.justice.services.eventstore.management.shuttering.process; +package uk.gov.justice.services.eventstore.management.extension.suspension; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; diff --git a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/publishing/EnablePublishingCommandHandlerTest.java b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/publishing/EnablePublishingCommandHandlerTest.java similarity index 100% rename from event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/publishing/EnablePublishingCommandHandlerTest.java rename to event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/publishing/EnablePublishingCommandHandlerTest.java diff --git a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/publishing/EnablePublishingProcessorTest.java b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/publishing/EnablePublishingProcessorTest.java similarity index 100% rename from event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/publishing/EnablePublishingProcessorTest.java rename to event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/publishing/EnablePublishingProcessorTest.java diff --git a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/publishing/PublishingEnablerTest.java b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/publishing/PublishingEnablerTest.java similarity index 100% rename from event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/publishing/PublishingEnablerTest.java rename to event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/publishing/PublishingEnablerTest.java diff --git a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/trigger/TriggerManagementStartupBeanTest.java b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/trigger/TriggerManagementStartupBeanTest.java similarity index 100% rename from event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/trigger/TriggerManagementStartupBeanTest.java rename to event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/trigger/TriggerManagementStartupBeanTest.java diff --git a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/trigger/commands/AddRemoveTriggerCommandHandlerTest.java b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/trigger/commands/AddRemoveTriggerCommandHandlerTest.java similarity index 100% rename from event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/trigger/commands/AddRemoveTriggerCommandHandlerTest.java rename to event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/trigger/commands/AddRemoveTriggerCommandHandlerTest.java diff --git a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/validation/commands/ValidatePublishedEventCommandHandlerTest.java b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/validation/commands/ValidatePublishedEventCommandHandlerTest.java similarity index 100% rename from event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/validation/commands/ValidatePublishedEventCommandHandlerTest.java rename to event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/validation/commands/ValidatePublishedEventCommandHandlerTest.java diff --git a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/EventValidationProcessTest.java b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/EventValidationProcessTest.java similarity index 100% rename from event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/EventValidationProcessTest.java rename to event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/EventValidationProcessTest.java diff --git a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/EventValidatorTest.java b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/EventValidatorTest.java similarity index 100% rename from event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/EventValidatorTest.java rename to event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/EventValidatorTest.java diff --git a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/JsonStringConverterTest.java b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/JsonStringConverterTest.java similarity index 100% rename from event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/JsonStringConverterTest.java rename to event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/JsonStringConverterTest.java diff --git a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaIdFinderTest.java b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaIdFinderTest.java similarity index 100% rename from event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaIdFinderTest.java rename to event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaIdFinderTest.java diff --git a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaIdMappingProviderTest.java b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaIdMappingProviderTest.java similarity index 100% rename from event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaIdMappingProviderTest.java rename to event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaIdMappingProviderTest.java diff --git a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaProviderTest.java b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaProviderTest.java similarity index 100% rename from event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaProviderTest.java rename to event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/SchemaProviderTest.java diff --git a/event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/SingleEventValidatorTest.java b/event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/SingleEventValidatorTest.java similarity index 100% rename from event-store-management/event-store-management-core/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/SingleEventValidatorTest.java rename to event-store-management/event-store-management-command-handler-extension/src/test/java/uk/gov/justice/services/eventstore/management/validation/process/SingleEventValidatorTest.java diff --git a/event-store-management/event-store-management-core/pom.xml b/event-store-management/event-store-management-core/pom.xml index 0c5bc4487..1e0837630 100644 --- a/event-store-management/event-store-management-core/pom.xml +++ b/event-store-management/event-store-management-core/pom.xml @@ -54,11 +54,6 @@ event-store-management-events ${project.version} - - uk.gov.justice.event-store - event-publisher-timer - ${project.version} - uk.gov.justice.event-store event-tracking-service diff --git a/event-store-management/pom.xml b/event-store-management/pom.xml index fb4da4e26..9021d2463 100644 --- a/event-store-management/pom.xml +++ b/event-store-management/pom.xml @@ -16,6 +16,7 @@ event-store-management-core event-store-management-events event-store-management-commands + event-store-management-command-handler-extension diff --git a/test-utils-event-store/test-utils-event/src/main/java/uk/gov/justice/services/test/utils/jmx/EventStoreSystemCommandCaller.java b/test-utils-event-store/test-utils-event/src/main/java/uk/gov/justice/services/test/utils/jmx/EventStoreSystemCommandCaller.java deleted file mode 100644 index ab1560013..000000000 --- a/test-utils-event-store/test-utils-event/src/main/java/uk/gov/justice/services/test/utils/jmx/EventStoreSystemCommandCaller.java +++ /dev/null @@ -1,86 +0,0 @@ -package uk.gov.justice.services.test.utils.jmx; - -import static uk.gov.justice.services.jmx.system.command.client.connection.JmxParametersBuilder.jmxParameters; -import static uk.gov.justice.services.test.utils.common.host.TestHostProvider.getHost; - -import uk.gov.justice.services.eventstore.management.commands.AddTriggerCommand; -import uk.gov.justice.services.eventstore.management.commands.EventCatchupCommand; -import uk.gov.justice.services.eventstore.management.commands.IndexerCatchupCommand; -import uk.gov.justice.services.eventstore.management.commands.RebuildCommand; -import uk.gov.justice.services.eventstore.management.commands.RemoveTriggerCommand; -import uk.gov.justice.services.eventstore.management.commands.ValidatePublishedEventsCommand; -import uk.gov.justice.services.eventstore.management.commands.VerifyCatchupCommand; -import uk.gov.justice.services.jmx.api.command.SystemCommand; -import uk.gov.justice.services.jmx.system.command.client.SystemCommanderClient; -import uk.gov.justice.services.jmx.system.command.client.TestSystemCommanderClientFactory; -import uk.gov.justice.services.jmx.system.command.client.connection.JmxParameters; - -import com.google.common.annotations.VisibleForTesting; - -public class EventStoreSystemCommandCaller { - - private static final String HOST = getHost(); - private static final int JMX_PORT = 9990; - private static final String USERNAME = "admin"; - - @SuppressWarnings("squid:S2068") - private static final String PASSWORD = "admin"; - - - private final TestSystemCommanderClientFactory testSystemCommanderClientFactory; - private final JmxParameters jmxParameters; - - public EventStoreSystemCommandCaller(final String contextName) { - this(jmxParameters() - .withContextName(contextName) - .withHost(HOST) - .withPort(JMX_PORT) - .withUsername(USERNAME) - .withPassword(PASSWORD) - .build()); - } - - public EventStoreSystemCommandCaller(final JmxParameters jmxParameters) { - this(jmxParameters, new TestSystemCommanderClientFactory()); - } - - @VisibleForTesting - EventStoreSystemCommandCaller(final JmxParameters jmxParameters, final TestSystemCommanderClientFactory testSystemCommanderClientFactory) { - this.jmxParameters = jmxParameters; - this.testSystemCommanderClientFactory = testSystemCommanderClientFactory; - } - - public void callRebuild() { - callSystemCommand(new RebuildCommand()); - } - - public void callCatchup() { - callSystemCommand(new EventCatchupCommand()); - } - - public void callIndexerCatchup() { - callSystemCommand(new IndexerCatchupCommand()); - } - - public void callAddTrigger() { - callSystemCommand(new AddTriggerCommand()); - } - - public void callRemoveTrigger() { - callSystemCommand(new RemoveTriggerCommand()); - } - - public void callValidateCatchup() { - callSystemCommand(new VerifyCatchupCommand()); - } - - public void callValidatePublishedEvents() { - callSystemCommand(new ValidatePublishedEventsCommand()); - } - - private void callSystemCommand(final SystemCommand systemCommand) { - try (final SystemCommanderClient systemCommanderClient = testSystemCommanderClientFactory.create(jmxParameters)) { - systemCommanderClient.getRemote(jmxParameters.getContextName()).call(systemCommand.getName()); - } - } -} diff --git a/test-utils-event-store/test-utils-event/src/test/java/uk/gov/justice/services/test/utils/jmx/EventStoreSystemCommandCallerTest.java b/test-utils-event-store/test-utils-event/src/test/java/uk/gov/justice/services/test/utils/jmx/EventStoreSystemCommandCallerTest.java deleted file mode 100644 index 51bc370f9..000000000 --- a/test-utils-event-store/test-utils-event/src/test/java/uk/gov/justice/services/test/utils/jmx/EventStoreSystemCommandCallerTest.java +++ /dev/null @@ -1,206 +0,0 @@ -package uk.gov.justice.services.test.utils.jmx; - -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.fail; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; -import static uk.gov.justice.services.eventstore.management.commands.AddTriggerCommand.ADD_TRIGGER; -import static uk.gov.justice.services.eventstore.management.commands.EventCatchupCommand.CATCHUP; -import static uk.gov.justice.services.eventstore.management.commands.IndexerCatchupCommand.INDEXER_CATCHUP; -import static uk.gov.justice.services.eventstore.management.commands.RebuildCommand.REBUILD; -import static uk.gov.justice.services.eventstore.management.commands.RemoveTriggerCommand.REMOVE_TRIGGER; -import static uk.gov.justice.services.eventstore.management.commands.ValidatePublishedEventsCommand.VALIDATE_EVENTS; -import static uk.gov.justice.services.eventstore.management.commands.VerifyCatchupCommand.VERIFY_CATCHUP; -import static uk.gov.justice.services.test.utils.common.host.TestHostProvider.getHost; -import static uk.gov.justice.services.test.utils.core.reflection.ReflectionUtil.getValueOfField; - -import uk.gov.justice.services.jmx.api.mbean.SystemCommanderMBean; -import uk.gov.justice.services.jmx.system.command.client.SystemCommanderClient; -import uk.gov.justice.services.jmx.system.command.client.TestSystemCommanderClientFactory; -import uk.gov.justice.services.jmx.system.command.client.connection.Credentials; -import uk.gov.justice.services.jmx.system.command.client.connection.JmxParameters; - -import java.util.Optional; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; - -@RunWith(MockitoJUnitRunner.class) -public class EventStoreSystemCommandCallerTest { - - @Mock - private TestSystemCommanderClientFactory testSystemCommanderClientFactory; - - @Test - public void shouldCallRebuild() throws Exception { - - final String contextName = "contextName"; - - final JmxParameters jmxParameters = mock(JmxParameters.class); - final SystemCommanderClient systemCommanderClient = mock(SystemCommanderClient.class); - final SystemCommanderMBean systemCommanderMBean = mock(SystemCommanderMBean.class); - - final EventStoreSystemCommandCaller eventStoreSystemCommandCaller = new EventStoreSystemCommandCaller(jmxParameters, testSystemCommanderClientFactory); - - when(jmxParameters.getContextName()).thenReturn(contextName); - when(testSystemCommanderClientFactory.create(jmxParameters)).thenReturn(systemCommanderClient); - when(systemCommanderClient.getRemote(contextName)).thenReturn(systemCommanderMBean); - - eventStoreSystemCommandCaller.callRebuild(); - - verify(systemCommanderMBean).call(REBUILD); - verify(systemCommanderClient).close(); - } - - @Test - public void shouldCallCatchup() throws Exception { - - final String contextName = "contextName"; - - final JmxParameters jmxParameters = mock(JmxParameters.class); - final SystemCommanderClient systemCommanderClient = mock(SystemCommanderClient.class); - final SystemCommanderMBean systemCommanderMBean = mock(SystemCommanderMBean.class); - - final EventStoreSystemCommandCaller eventStoreSystemCommandCaller = new EventStoreSystemCommandCaller(jmxParameters, testSystemCommanderClientFactory); - - when(jmxParameters.getContextName()).thenReturn(contextName); - when(testSystemCommanderClientFactory.create(jmxParameters)).thenReturn(systemCommanderClient); - when(systemCommanderClient.getRemote(contextName)).thenReturn(systemCommanderMBean); - - eventStoreSystemCommandCaller.callCatchup(); - - verify(systemCommanderMBean).call(CATCHUP); - verify(systemCommanderClient).close(); - } - - @Test - public void shouldCallIndexerCatchup() throws Exception { - - final String contextName = "contextName"; - - final JmxParameters jmxParameters = mock(JmxParameters.class); - final SystemCommanderClient systemCommanderClient = mock(SystemCommanderClient.class); - final SystemCommanderMBean systemCommanderMBean = mock(SystemCommanderMBean.class); - - final EventStoreSystemCommandCaller eventStoreSystemCommandCaller = new EventStoreSystemCommandCaller(jmxParameters, testSystemCommanderClientFactory); - - when(jmxParameters.getContextName()).thenReturn(contextName); - when(testSystemCommanderClientFactory.create(jmxParameters)).thenReturn(systemCommanderClient); - when(systemCommanderClient.getRemote(contextName)).thenReturn(systemCommanderMBean); - - eventStoreSystemCommandCaller.callIndexerCatchup(); - - verify(systemCommanderMBean).call(INDEXER_CATCHUP); - verify(systemCommanderClient).close(); - } - - @Test - public void shouldCallAddTrigger() throws Exception { - - final String contextName = "contextName"; - - final JmxParameters jmxParameters = mock(JmxParameters.class); - final SystemCommanderClient systemCommanderClient = mock(SystemCommanderClient.class); - final SystemCommanderMBean systemCommanderMBean = mock(SystemCommanderMBean.class); - - final EventStoreSystemCommandCaller eventStoreSystemCommandCaller = new EventStoreSystemCommandCaller(jmxParameters, testSystemCommanderClientFactory); - - when(jmxParameters.getContextName()).thenReturn(contextName); - when(testSystemCommanderClientFactory.create(jmxParameters)).thenReturn(systemCommanderClient); - when(systemCommanderClient.getRemote(contextName)).thenReturn(systemCommanderMBean); - - eventStoreSystemCommandCaller.callAddTrigger(); - - verify(systemCommanderMBean).call(ADD_TRIGGER); - verify(systemCommanderClient).close(); - } - - @Test - public void shouldCallRemoveTrigger() throws Exception { - - final String contextName = "contextName"; - - final JmxParameters jmxParameters = mock(JmxParameters.class); - final SystemCommanderClient systemCommanderClient = mock(SystemCommanderClient.class); - final SystemCommanderMBean systemCommanderMBean = mock(SystemCommanderMBean.class); - - final EventStoreSystemCommandCaller eventStoreSystemCommandCaller = new EventStoreSystemCommandCaller(jmxParameters, testSystemCommanderClientFactory); - - when(jmxParameters.getContextName()).thenReturn(contextName); - when(testSystemCommanderClientFactory.create(jmxParameters)).thenReturn(systemCommanderClient); - when(systemCommanderClient.getRemote(contextName)).thenReturn(systemCommanderMBean); - - eventStoreSystemCommandCaller.callRemoveTrigger(); - - verify(systemCommanderMBean).call(REMOVE_TRIGGER); - verify(systemCommanderClient).close(); - } - - @Test - public void shouldCallValidateCatchup() throws Exception { - - final String contextName = "contextName"; - - final JmxParameters jmxParameters = mock(JmxParameters.class); - final SystemCommanderClient systemCommanderClient = mock(SystemCommanderClient.class); - final SystemCommanderMBean systemCommanderMBean = mock(SystemCommanderMBean.class); - - final EventStoreSystemCommandCaller eventStoreSystemCommandCaller = new EventStoreSystemCommandCaller(jmxParameters, testSystemCommanderClientFactory); - - when(jmxParameters.getContextName()).thenReturn(contextName); - when(testSystemCommanderClientFactory.create(jmxParameters)).thenReturn(systemCommanderClient); - when(systemCommanderClient.getRemote(contextName)).thenReturn(systemCommanderMBean); - - eventStoreSystemCommandCaller.callValidateCatchup(); - - verify(systemCommanderMBean).call(VERIFY_CATCHUP); - verify(systemCommanderClient).close(); - } - - @Test - public void shouldCallValidatePublishedEvents() throws Exception { - - final String contextName = "contextName"; - - final JmxParameters jmxParameters = mock(JmxParameters.class); - final SystemCommanderClient systemCommanderClient = mock(SystemCommanderClient.class); - final SystemCommanderMBean systemCommanderMBean = mock(SystemCommanderMBean.class); - - final EventStoreSystemCommandCaller eventStoreSystemCommandCaller = new EventStoreSystemCommandCaller(jmxParameters, testSystemCommanderClientFactory); - - when(jmxParameters.getContextName()).thenReturn(contextName); - when(testSystemCommanderClientFactory.create(jmxParameters)).thenReturn(systemCommanderClient); - when(systemCommanderClient.getRemote(contextName)).thenReturn(systemCommanderMBean); - - eventStoreSystemCommandCaller.callValidatePublishedEvents(); - - verify(systemCommanderMBean).call(VALIDATE_EVENTS); - verify(systemCommanderClient).close(); - } - - @Test - public void shouldCreateWithCorrectDefaultParametersIfInstantiatingUsingTheContextName() throws Exception { - - final String contextName = "contextName"; - final EventStoreSystemCommandCaller eventStoreSystemCommandCaller = new EventStoreSystemCommandCaller(contextName); - - final JmxParameters jmxParameters = getValueOfField(eventStoreSystemCommandCaller, "jmxParameters", JmxParameters.class); - - assertThat(jmxParameters.getContextName(), is(contextName)); - assertThat(jmxParameters.getHost(), is(getHost())); - assertThat(jmxParameters.getPort(), is(9990)); - - final Optional credentials = jmxParameters.getCredentials(); - - if (credentials.isPresent()) { - assertThat(credentials.get().getUsername(), is("admin")); - assertThat(credentials.get().getPassword(), is("admin")); - } else { - fail(); - } - } -}