This is an automated email from the ASF dual-hosted git repository. danhaywood pushed a commit to branch ISIS-2222 in repository https://gitbox.apache.org/repos/asf/isis.git
commit a8c838624a042c043e020181ea49de284b788781 Author: danhaywood <[email protected]> AuthorDate: Sun Aug 30 15:19:11 2020 +0100 ISIS-2222: moves commandreplay classes to correct package --- .../impl/IsisModuleExtCommandLogImpl.java | 2 +- ...ndExecutionFromBackgroundCommandServiceJdo.java | 6 ++-- .../background/BackgroundCommandServiceJdo.java | 8 ++--- .../BackgroundCommandServiceJdoRepository.java | 6 ++-- .../extensions/commandlog/impl/jdo/CommandJdo.java | 2 +- .../commandlog/impl/jdo/CommandServiceJdo.java | 11 ++++++- .../impl/jdo/CommandServiceJdoRepository.java | 11 ++++++- .../impl/{jdo => ui}/CommandServiceMenu.java | 23 ++++++++++---- .../impl/replay/impl/ConfigurationKeys.java | 22 ------------- .../commandlog/impl/replay/impl/Holder.java | 5 --- .../impl}/IsisModuleExtCommandReplayImpl.java | 16 +++++----- .../replay => commandreplay}/impl/SlaveStatus.java | 4 +-- .../impl/StatusException.java | 6 ++-- .../impl/analysis}/CommandReplayAnalyser.java | 2 +- .../analysis}/CommandReplayAnalyserAbstract.java | 2 +- .../CommandReplayAnalyserExceptionStr.java | 2 +- ...mandReplayAnalyserNumberBackgroundCommands.java | 2 +- .../analysis}/CommandReplayAnalyserResultStr.java | 2 +- .../analysis}/CommandReplayAnalysisService.java | 4 +-- .../impl/clock}/TickingClockService.java | 6 ++-- .../executor}/CommandExecutorServiceWithTime.java | 3 +- .../impl/executor}/ReplayableCommandExecution.java | 22 +++++++++---- .../impl/fetch}/CommandFetcher.java | 37 ++++++++++------------ .../impl/fetch/MasterConfiguration.java} | 15 +++++---- .../impl/mixins/CommandJdo_download.java | 6 ++-- .../impl/mixins}/CommandJdo_exclude.java | 2 +- .../impl/mixins/CommandJdo_openOnMaster.java | 4 +-- .../impl/mixins/CommandJdo_replayNext.java | 18 +++++------ .../impl/mixins/CommandJdo_replayQueue.java | 10 +++--- .../impl/quartz/QuartzConfigKeys.java | 13 ++++++++ ...kgroundCommandsWithReplicationAndReplayJob.java | 21 +++++++----- .../spi/ReplayCommandExecutionController.java | 2 +- .../impl/ui}/CommandReplayOnMasterService.java | 6 ++-- .../impl/ui}/CommandReplayOnSlaveService.java | 6 ++-- .../extensions/commandreplay/impl/util/Holder.java | 6 ++++ .../CommandReplayAnalysisService_trimmed_Test.java | 4 ++- ...ndCommandsWithReplicationAndReplayJob_Test.java | 3 +- 37 files changed, 178 insertions(+), 142 deletions(-) diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/IsisModuleExtCommandLogImpl.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/IsisModuleExtCommandLogImpl.java index bcadcbf..58ab3c6 100644 --- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/IsisModuleExtCommandLogImpl.java +++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/IsisModuleExtCommandLogImpl.java @@ -6,7 +6,7 @@ import org.springframework.context.annotation.Import; import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo; import org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdo; import org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdoRepository; -import org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceMenu; +import org.apache.isis.extensions.commandlog.impl.ui.CommandServiceMenu; import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript; import org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixtures; import org.apache.isis.testing.fixtures.applib.teardown.TeardownFixtureAbstract; diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandExecutionFromBackgroundCommandServiceJdo.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandExecutionFromBackgroundCommandServiceJdo.java index b1d3313..dc0d1fe 100644 --- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandExecutionFromBackgroundCommandServiceJdo.java +++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandExecutionFromBackgroundCommandServiceJdo.java @@ -9,7 +9,10 @@ import org.apache.isis.applib.services.command.Command; import org.apache.isis.applib.services.command.CommandExecutorService; import org.apache.isis.core.runtimeservices.background.BackgroundCommandExecution; +import lombok.extern.log4j.Log4j2; + @DomainService +@Log4j2 public class BackgroundCommandExecutionFromBackgroundCommandServiceJdo extends BackgroundCommandExecution { @@ -22,6 +25,5 @@ public class BackgroundCommandExecutionFromBackgroundCommandServiceJdo return backgroundCommandRepository.findBackgroundCommandsNotYetStarted(); } - @Inject - BackgroundCommandServiceJdoRepository backgroundCommandRepository; + @Inject BackgroundCommandServiceJdoRepository backgroundCommandRepository; } \ No newline at end of file diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandServiceJdo.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandServiceJdo.java index b47016f..637440e 100644 --- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandServiceJdo.java +++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandServiceJdo.java @@ -20,17 +20,17 @@ import org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdoRepositor import org.apache.isis.schema.cmd.v2.CommandDto; import org.apache.isis.schema.common.v2.OidDto; +import lombok.extern.log4j.Log4j2; + /** * Persists a memento-ized action such that it can be executed asynchronously, * for example through a Quartz scheduler (using * {@link BackgroundCommandExecutionFromBackgroundCommandServiceJdo}). */ -@DomainService() +@DomainService +@Log4j2 public class BackgroundCommandServiceJdo implements BackgroundCommandService { - @SuppressWarnings("unused") - private static final Logger LOG = LoggerFactory.getLogger(BackgroundCommandServiceJdo.class); - @Override public void schedule( final CommandDto dto, diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandServiceJdoRepository.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandServiceJdoRepository.java index fbaef79..5b81684 100644 --- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandServiceJdoRepository.java +++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandServiceJdoRepository.java @@ -12,6 +12,8 @@ import org.apache.isis.applib.annotation.Programmatic; import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo; import org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdoRepository; +import lombok.extern.log4j.Log4j2; + /** * Provides supporting functionality for querying * {@link CommandJdo command} entities that have been persisted @@ -23,11 +25,9 @@ import org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdoRepositor * need to explicitly register it as a service (eg in <tt>isis.properties</tt>). */ @DomainService() +@Log4j2 public class BackgroundCommandServiceJdoRepository { - @SuppressWarnings("unused") - private static final Logger LOG = LoggerFactory.getLogger(BackgroundCommandServiceJdoRepository.class); - @Programmatic public List<CommandJdo> findByParent(CommandJdo parent) { return commandServiceRepository.findBackgroundCommandsByParent(parent); diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo.java index 827299f..baf6f58 100644 --- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo.java +++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo.java @@ -221,7 +221,7 @@ import lombok.extern.log4j.Log4j2; @javax.jdo.annotations.Index(name = "CommandJdo_startedAt_e_c_IDX", members = {"startedAt", "executeIn", "completedAt"}), }) @DomainObject( - objectType = "isisextcorecommandlog.Command", + objectType = "isisextcommandlog.Command", editing = Editing.DISABLED ) @DomainObjectLayout(named = "Command") diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceJdo.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceJdo.java index 0d10483..4072f65 100644 --- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceJdo.java +++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceJdo.java @@ -1,20 +1,29 @@ package org.apache.isis.extensions.commandlog.impl.jdo; import javax.inject.Inject; +import javax.inject.Named; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.annotation.Primary; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Service; import org.apache.isis.applib.annotation.CommandExecuteIn; import org.apache.isis.applib.annotation.CommandPersistence; import org.apache.isis.applib.annotation.DomainService; +import org.apache.isis.applib.annotation.OrderPrecedence; import org.apache.isis.applib.services.command.Command; import org.apache.isis.applib.services.command.Command.Executor; import org.apache.isis.applib.services.command.spi.CommandService; import org.apache.isis.applib.services.factory.FactoryService; import org.apache.isis.applib.services.repository.RepositoryService; -@DomainService() +@Service +@Named("isisExtensionsCommandLog.CommandServiceJdo") +@Order(OrderPrecedence.MIDPOINT) +@Qualifier("Jdo") public class CommandServiceJdo implements CommandService { @SuppressWarnings("unused") diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceJdoRepository.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceJdoRepository.java index a0cefd4..70d2cf9 100644 --- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceJdoRepository.java +++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceJdoRepository.java @@ -8,9 +8,15 @@ import java.util.Optional; import java.util.UUID; +import javax.inject.Named; + import org.joda.time.LocalDate; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Service; import org.apache.isis.applib.annotation.DomainService; +import org.apache.isis.applib.annotation.OrderPrecedence; import org.apache.isis.applib.annotation.Programmatic; import org.apache.isis.applib.jaxb.JavaSqlXMLGregorianCalendarMarshalling; import org.apache.isis.applib.query.Query; @@ -36,7 +42,10 @@ import lombok.var; * Provides supporting functionality for querying and persisting * {@link CommandJdo command} entities. */ -@DomainService() +@Service +@Named("isisExtensionsCommandLog.CommandServiceJdoRepository") +@Order(OrderPrecedence.MIDPOINT) +@Qualifier("Jdo") public class CommandServiceJdoRepository { public List<CommandJdo> findByFromAndTo( diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceMenu.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/ui/CommandServiceMenu.java similarity index 82% rename from extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceMenu.java rename to extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/ui/CommandServiceMenu.java index b61cbb4..2958364 100644 --- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceMenu.java +++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/ui/CommandServiceMenu.java @@ -1,9 +1,15 @@ -package org.apache.isis.extensions.commandlog.impl.jdo; +package org.apache.isis.extensions.commandlog.impl.ui; import java.util.List; import java.util.UUID; +import javax.inject.Inject; +import javax.inject.Named; + import org.joda.time.LocalDate; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Service; import org.apache.isis.applib.annotation.Action; import org.apache.isis.applib.annotation.ActionLayout; @@ -13,20 +19,27 @@ import org.apache.isis.applib.annotation.DomainServiceLayout; import org.apache.isis.applib.annotation.MemberOrder; import org.apache.isis.applib.annotation.NatureOfService; import org.apache.isis.applib.annotation.Optionality; +import org.apache.isis.applib.annotation.OrderPrecedence; import org.apache.isis.applib.annotation.Parameter; import org.apache.isis.applib.annotation.ParameterLayout; import org.apache.isis.applib.annotation.SemanticsOf; import org.apache.isis.applib.services.clock.ClockService; import org.apache.isis.extensions.commandlog.impl.IsisModuleExtCommandLogImpl; +import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo; +import org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdoRepository; @DomainService( nature = NatureOfService.VIEW, - objectType = "isisextcorecommandlog.CommandServiceMenu" + objectType = "isisextcommandlog.CommandServiceMenu" ) @DomainServiceLayout( named = "Activity" , menuBar = DomainServiceLayout.MenuBar.SECONDARY ) +@Service +@Named("isisExtensionsCommandLog.CommandServiceJdoRepository") +@Order(OrderPrecedence.MIDPOINT) +@Qualifier("Jdo") public class CommandServiceMenu { public static abstract class PropertyDomainEvent<T> @@ -89,11 +102,9 @@ public class CommandServiceMenu { - @javax.inject.Inject - CommandServiceJdoRepository commandServiceRepository; + @Inject CommandServiceJdoRepository commandServiceRepository; - @javax.inject.Inject - ClockService clockService; + @Inject ClockService clockService; } diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/ConfigurationKeys.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/ConfigurationKeys.java deleted file mode 100644 index 2a4894f..0000000 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/ConfigurationKeys.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl; - -import lombok.experimental.UtilityClass; - -@UtilityClass -public class ConfigurationKeys { - - static final String SLAVE_USER_QUARTZ_KEY = "user"; - static final String SLAVE_USER_DEFAULT = "replay_user"; - static final String SLAVE_ROLES_QUARTZ_KEY = "roles"; - static final String SLAVE_ROLES_DEFAULT = "replay_role"; - - static final String ISIS_KEY_PREFIX = "isis.command.replay."; - - // eg "http://localhost:8080/restful/" - public static final String MASTER_BASE_URL_ISIS_KEY = ISIS_KEY_PREFIX + "master.baseUrl"; - public static final String MASTER_PASSWORD_ISIS_KEY = ISIS_KEY_PREFIX + "master.password"; - public static final String MASTER_USER_ISIS_KEY = ISIS_KEY_PREFIX + "master.user"; - public static final String MASTER_BASE_URL_END_USER_URL_ISIS_KEY = ISIS_KEY_PREFIX + "master.baseUrlEndUser"; - public static final String MASTER_BATCH_SIZE_ISIS_KEY = ISIS_KEY_PREFIX + "master.batchSize"; - public static final int MASTER_BATCH_SIZE_ISIS_DEFAULT = 10; -} diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/Holder.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/Holder.java deleted file mode 100644 index d5f700f..0000000 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/Holder.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl; - -import lombok.Data; - -@Data class Holder<T> { T object; } diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/IsisModuleExtCommandReplayImpl.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/IsisModuleExtCommandReplayImpl.java similarity index 65% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/IsisModuleExtCommandReplayImpl.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/IsisModuleExtCommandReplayImpl.java index e93191d..9c715fe 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/IsisModuleExtCommandReplayImpl.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/IsisModuleExtCommandReplayImpl.java @@ -1,16 +1,16 @@ -package org.apache.isis.extensions.commandlog.impl.replay; +package org.apache.isis.extensions.commandreplay.impl; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.apache.isis.extensions.commandlog.impl.IsisModuleExtCommandLogImpl; -import org.apache.isis.extensions.commandlog.impl.replay.impl.CommandExecutorServiceWithTime; -import org.apache.isis.extensions.commandlog.impl.replay.impl.SlaveConfiguration; -import org.apache.isis.extensions.commandlog.impl.replay.impl.TickingClockService; -import org.apache.isis.extensions.commandlog.impl.replay.impl.CommandReplayAnalysisService; -import org.apache.isis.extensions.commandlog.impl.replay.impl.CommandReplayOnMasterService; -import org.apache.isis.extensions.commandlog.impl.replay.impl.CommandReplayOnSlaveService; +import org.apache.isis.extensions.commandreplay.impl.executor.CommandExecutorServiceWithTime; +import org.apache.isis.extensions.commandreplay.impl.fetch.MasterConfiguration; +import org.apache.isis.extensions.commandreplay.impl.clock.TickingClockService; +import org.apache.isis.extensions.commandreplay.impl.analysis.CommandReplayAnalysisService; +import org.apache.isis.extensions.commandreplay.impl.ui.CommandReplayOnMasterService; +import org.apache.isis.extensions.commandreplay.impl.ui.CommandReplayOnSlaveService; @Configuration @Import({ @@ -25,7 +25,7 @@ import org.apache.isis.extensions.commandlog.impl.replay.impl.CommandReplayOnSla TickingClockService.class, // @Service's - SlaveConfiguration.class, + MasterConfiguration.class, }) public class IsisModuleExtCommandReplayImpl { diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/SlaveStatus.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/SlaveStatus.java similarity index 65% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/SlaveStatus.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/SlaveStatus.java index 2ed4a74..9c75e7e 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/SlaveStatus.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/SlaveStatus.java @@ -1,6 +1,6 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl; +package org.apache.isis.extensions.commandreplay.impl; -enum SlaveStatus { +public enum SlaveStatus { TICKING_CLOCK_STATUS_UNKNOWN, TICKING_CLOCK_NOT_YET_INITIALIZED, OK, diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/StatusException.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/StatusException.java similarity index 52% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/StatusException.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/StatusException.java index 7f67376..ff01054 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/StatusException.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/StatusException.java @@ -1,13 +1,13 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl; +package org.apache.isis.extensions.commandreplay.impl; public class StatusException extends Exception { public final SlaveStatus slaveStatus; - StatusException(SlaveStatus slaveStatus) { + public StatusException(SlaveStatus slaveStatus) { this(slaveStatus, null); } - StatusException(SlaveStatus slaveStatus, final Exception ex) { + public StatusException(SlaveStatus slaveStatus, final Exception ex) { super(ex); this.slaveStatus = slaveStatus; } diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyser.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyser.java similarity index 82% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyser.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyser.java index ff6be99..5ec040b 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyser.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyser.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.spi; +package org.apache.isis.extensions.commandreplay.impl.analysis; import org.apache.isis.applib.annotation.Programmatic; import org.apache.isis.applib.services.command.Command; diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserAbstract.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserAbstract.java similarity index 95% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserAbstract.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserAbstract.java index 3f5fb75..79d428f 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserAbstract.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserAbstract.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.spi; +package org.apache.isis.extensions.commandreplay.impl.analysis; import java.util.Map; diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserExceptionStr.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserExceptionStr.java similarity index 96% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserExceptionStr.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserExceptionStr.java index afc19ee..e1571a0 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserExceptionStr.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserExceptionStr.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.spi; +package org.apache.isis.extensions.commandreplay.impl.analysis; import com.google.common.base.Objects; diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserNumberBackgroundCommands.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserNumberBackgroundCommands.java similarity index 98% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserNumberBackgroundCommands.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserNumberBackgroundCommands.java index 9497b64..aaedd95 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserNumberBackgroundCommands.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserNumberBackgroundCommands.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.spi; +package org.apache.isis.extensions.commandreplay.impl.analysis; import java.util.List; diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserResultStr.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserResultStr.java similarity index 95% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserResultStr.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserResultStr.java index 71336a5..1c4a01c 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserResultStr.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserResultStr.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.spi; +package org.apache.isis.extensions.commandreplay.impl.analysis; import com.google.common.base.Objects; diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayAnalysisService.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalysisService.java similarity index 93% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayAnalysisService.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalysisService.java index c68809d..b5317c0 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayAnalysisService.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalysisService.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl; +package org.apache.isis.extensions.commandreplay.impl.analysis; import java.util.List; @@ -8,7 +8,7 @@ import org.apache.isis.applib.annotation.DomainService; import org.apache.isis.applib.annotation.Programmatic; import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo; import org.apache.isis.extensions.commandlog.impl.jdo.ReplayState; -import org.apache.isis.extensions.commandlog.impl.replay.spi.CommandReplayAnalyser; +import org.apache.isis.extensions.commandreplay.impl.analysis.CommandReplayAnalyser; import org.apache.isis.schema.cmd.v2.CommandDto; import lombok.extern.log4j.Log4j2; diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/TickingClockService.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/clock/TickingClockService.java similarity index 94% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/TickingClockService.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/clock/TickingClockService.java index 82ed844..9537ca8 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/TickingClockService.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/clock/TickingClockService.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl; +package org.apache.isis.extensions.commandreplay.impl.clock; import java.sql.Timestamp; import java.util.Optional; @@ -44,9 +44,7 @@ public class TickingClockService { if( !baseUrl.isPresent()|| !user.isPresent() || !password.isPresent()) { - log.info( - "init() - skipping, one or more {}.* configuration constants missing", - ConfigurationKeys.ISIS_KEY_PREFIX); + log.info("init() - skipping, one or more 'isis.extensions.command-replay.master' configuration constants missing"); return; } diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandExecutorServiceWithTime.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/executor/CommandExecutorServiceWithTime.java similarity index 95% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandExecutorServiceWithTime.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/executor/CommandExecutorServiceWithTime.java index 5374128..0c2e724 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandExecutorServiceWithTime.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/executor/CommandExecutorServiceWithTime.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.isis.extensions.commandlog.impl.replay.impl; +package org.apache.isis.extensions.commandreplay.impl.executor; import java.sql.Timestamp; import java.util.concurrent.Callable; @@ -27,6 +27,7 @@ import org.apache.isis.applib.services.bookmark.Bookmark; import org.apache.isis.applib.services.command.Command; import org.apache.isis.applib.services.command.CommandExecutorService; import org.apache.isis.applib.services.command.CommandWithDto; +import org.apache.isis.extensions.commandreplay.impl.clock.TickingClockService; import org.apache.isis.schema.cmd.v2.CommandDto; import lombok.SneakyThrows; diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/ReplayableCommandExecution.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/executor/ReplayableCommandExecution.java similarity index 86% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/ReplayableCommandExecution.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/executor/ReplayableCommandExecution.java index fe63c5b..700a639 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/ReplayableCommandExecution.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/executor/ReplayableCommandExecution.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl; +package org.apache.isis.extensions.commandreplay.impl.executor; import java.util.List; @@ -8,7 +8,13 @@ import org.apache.isis.applib.services.command.CommandExecutorService; import org.apache.isis.applib.services.xactn.TransactionService; import org.apache.isis.core.runtimeservices.background.CommandExecutionAbstract; import org.apache.isis.extensions.commandlog.impl.jdo.ReplayState; -import org.apache.isis.extensions.commandlog.impl.replay.spi.ReplayCommandExecutionController; +import org.apache.isis.extensions.commandreplay.impl.SlaveStatus; +import org.apache.isis.extensions.commandreplay.impl.StatusException; +import org.apache.isis.extensions.commandreplay.impl.analysis.CommandReplayAnalysisService; +import org.apache.isis.extensions.commandreplay.impl.fetch.MasterConfiguration; +import org.apache.isis.extensions.commandreplay.impl.fetch.CommandFetcher; +import org.apache.isis.extensions.commandreplay.impl.spi.ReplayCommandExecutionController; +import org.apache.isis.extensions.commandreplay.impl.util.Holder; import org.apache.isis.schema.cmd.v2.CommandDto; import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo; @@ -20,9 +26,9 @@ import lombok.extern.log4j.Log4j2; public class ReplayableCommandExecution extends CommandExecutionAbstract { - private final SlaveConfiguration slaveConfig; + private final MasterConfiguration slaveConfig; - public ReplayableCommandExecution(final SlaveConfiguration slaveConfig) { + public ReplayableCommandExecution(final MasterConfiguration slaveConfig) { super(CommandExecutorService.SudoPolicy.SWITCH); this.slaveConfig = slaveConfig; } @@ -101,7 +107,7 @@ public class ReplayableCommandExecution // // replicate next command from master (if any) // - final CommandDto commandDto = commandFetcher.fetchCommand(hwmCommand, slaveConfig); + final CommandDto commandDto = commandFetcher.fetchCommand(hwmCommand); if (commandDto == null) { log.info("No more commands found, breaking out"); return; @@ -161,8 +167,10 @@ public class ReplayableCommandExecution @Inject TransactionService transactionService; - @Inject CommandFetcher commandFetcher; + @Inject + CommandFetcher commandFetcher; @Inject CommandServiceJdoRepository commandServiceJdoRepository; - @Inject CommandReplayAnalysisService analysisService; + @Inject + CommandReplayAnalysisService analysisService; @Inject ReplayCommandExecutionController controller; } \ No newline at end of file diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandFetcher.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/fetch/CommandFetcher.java similarity index 78% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandFetcher.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/fetch/CommandFetcher.java index 93ec6d8..def3c0b 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandFetcher.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/fetch/CommandFetcher.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl; +package org.apache.isis.extensions.commandreplay.impl.fetch; import java.net.URI; import java.util.List; @@ -12,6 +12,8 @@ import org.apache.isis.applib.annotation.DomainService; import org.apache.isis.applib.annotation.Programmatic; import org.apache.isis.applib.services.command.Command; import org.apache.isis.applib.services.jaxb.JaxbService; +import org.apache.isis.extensions.commandreplay.impl.SlaveStatus; +import org.apache.isis.extensions.commandreplay.impl.StatusException; import org.apache.isis.extensions.jaxrsclient.applib.client.JaxRsClient; import org.apache.isis.extensions.jaxrsclient.applib.client.JaxRsResponse; import org.apache.isis.extensions.jaxrsclient.impl.client.JaxRsClientDefault; @@ -26,27 +28,24 @@ import lombok.extern.log4j.Log4j2; public class CommandFetcher { static final String URL_SUFFIX = - "services/isiscommand.CommandReplayOnMasterService/actions/findCommandsOnMasterSince/invoke"; + "services/isisextcommandlog.CommandReplayOnMasterService/actions/findCommandsOnMasterSince/invoke"; /** * Replicates a single command. * * @param previousHwm - * @param slaveConfig - * * @return * @throws StatusException */ @Programmatic public CommandDto fetchCommand( - final Command previousHwm, - final SlaveConfiguration slaveConfig) + final Command previousHwm) throws StatusException { log.debug("finding command on master ..."); - final CommandsDto commandsDto = fetchCommands(previousHwm, slaveConfig); + final CommandsDto commandsDto = fetchCommands(previousHwm); if (commandsDto == null) { return null; @@ -62,16 +61,14 @@ public class CommandFetcher { * @return - the commands, or <tt>null</tt> if none were found * @throws StatusException */ - private CommandsDto fetchCommands( - final Command previousHwm, - final SlaveConfiguration slaveConfig) throws StatusException { + private CommandsDto fetchCommands(final Command previousHwm) throws StatusException { final UUID transactionId = previousHwm != null ? previousHwm.getUniqueId() : null; log.debug("finding commands on master ..."); - final URI uri = buildUri(transactionId, slaveConfig); + final URI uri = buildUri(transactionId); - final JaxRsResponse response = callMaster(slaveConfig, uri); + final JaxRsResponse response = callMaster(uri); final CommandsDto commandsDto = unmarshal(response, uri); @@ -83,28 +80,27 @@ public class CommandFetcher { } - - private URI buildUri(final UUID transactionId, final SlaveConfiguration slaveConfig) { + private URI buildUri(final UUID transactionId) { final UriBuilder uriBuilder = UriBuilder.fromUri( transactionId != null ? String.format( "%s%s?transactionId=%s&batchSize=%d", - slaveConfig.masterBaseUrl, URL_SUFFIX, transactionId, slaveConfig.masterBatchSize) + masterConfiguration.getMasterBaseUrl(), URL_SUFFIX, transactionId, masterConfiguration.getMasterBatchSize()) : String.format( "%s%s?batchSize=%d", - slaveConfig.masterBaseUrl, URL_SUFFIX, slaveConfig.masterBatchSize) + masterConfiguration.getMasterBaseUrl(), URL_SUFFIX, masterConfiguration.getMasterBatchSize()) ); final URI uri = uriBuilder.build(); log.info("uri = {}", uri); return uri; } - private JaxRsResponse callMaster(final SlaveConfiguration slaveConfig, final URI uri) throws StatusException { + private JaxRsResponse callMaster(final URI uri) throws StatusException { final JaxRsResponse response; final JaxRsClient jaxRsClient = new JaxRsClientDefault(); try { - final String user = slaveConfig.masterUser; - final String password = slaveConfig.masterPassword; + final String user = masterConfiguration.getMasterUser(); + final String password = masterConfiguration.getMasterPassword(); response = jaxRsClient.get(uri, CommandsDto.class, JaxRsClient.ReprType.ACTION_RESULT, user, password); int status = response.getStatus(); if(status != Response.Status.OK.getStatusCode()) { @@ -146,6 +142,7 @@ public class CommandFetcher { } } - @Inject SlaveConfiguration slaveConfiguration; + @Inject + MasterConfiguration masterConfiguration; } \ No newline at end of file diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/SlaveConfiguration.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/fetch/MasterConfiguration.java similarity index 70% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/SlaveConfiguration.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/fetch/MasterConfiguration.java index 6a47f56..727f7d5 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/SlaveConfiguration.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/fetch/MasterConfiguration.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl; +package org.apache.isis.extensions.commandreplay.impl.fetch; import javax.validation.constraints.NotNull; @@ -6,19 +6,20 @@ import org.springframework.stereotype.Service; import org.apache.isis.core.config.IsisConfiguration; +import lombok.Getter; import lombok.val; import lombok.extern.log4j.Log4j2; @Service @Log4j2 -public class SlaveConfiguration { +public class MasterConfiguration { - final String masterUser; - final String masterPassword; - final String masterBaseUrl; - final int masterBatchSize; + @Getter final String masterUser; + @Getter final String masterPassword; + @Getter final String masterBaseUrl; + @Getter final int masterBatchSize; - public SlaveConfiguration(@NotNull IsisConfiguration isisConfiguration) { + public MasterConfiguration(@NotNull IsisConfiguration isisConfiguration) { val masterConfig = isisConfiguration.getExtensions().getCommandReplay().getMaster(); masterUser = masterConfig.getUser().orElse(null); masterPassword = masterConfig.getPassword().orElse(null); diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_download.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_download.java similarity index 85% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_download.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_download.java index 369961f..6c25cd1 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_download.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_download.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl.mixins; +package org.apache.isis.extensions.commandreplay.impl.mixins; import javax.inject.Inject; @@ -10,9 +10,9 @@ import org.apache.isis.applib.annotation.ParameterLayout; import org.apache.isis.applib.annotation.SemanticsOf; import org.apache.isis.applib.value.Clob; import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo; -import org.apache.isis.extensions.commandlog.impl.replay.IsisModuleExtCommandReplayImpl; +import org.apache.isis.extensions.commandreplay.impl.IsisModuleExtCommandReplayImpl; -import org.apache.isis.extensions.commandlog.impl.replay.impl.CommandReplayOnMasterService; +import org.apache.isis.extensions.commandreplay.impl.ui.CommandReplayOnMasterService; @Action( semantics = SemanticsOf.NON_IDEMPOTENT, diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandJdo_exclude.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_exclude.java similarity index 96% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandJdo_exclude.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_exclude.java index f6bb390..0c89af5 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandJdo_exclude.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_exclude.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl; +package org.apache.isis.extensions.commandreplay.impl.mixins; import org.apache.isis.applib.annotation.Action; import org.apache.isis.applib.annotation.CommandPersistence; diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_openOnMaster.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_openOnMaster.java similarity index 91% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_openOnMaster.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_openOnMaster.java index 8cacb46..6734cc4 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_openOnMaster.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_openOnMaster.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl.mixins; +package org.apache.isis.extensions.commandreplay.impl.mixins; import java.net.MalformedURLException; import java.net.URL; @@ -12,7 +12,7 @@ import org.apache.isis.applib.annotation.SemanticsOf; import org.apache.isis.applib.services.bookmark.BookmarkService; import org.apache.isis.core.config.IsisConfiguration; import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo; -import org.apache.isis.extensions.commandlog.impl.replay.IsisModuleExtCommandReplayImpl; +import org.apache.isis.extensions.commandreplay.impl.IsisModuleExtCommandReplayImpl; @Action( semantics = SemanticsOf.SAFE, diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_replayNext.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_replayNext.java similarity index 86% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_replayNext.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_replayNext.java index ae0de95..e09d0b9 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_replayNext.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_replayNext.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl.mixins; +package org.apache.isis.extensions.commandreplay.impl.mixins; import java.util.List; @@ -12,13 +12,13 @@ import org.apache.isis.applib.services.command.CommandExecutorService; import org.apache.isis.applib.services.message.MessageService; import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo; import org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdoRepository; -import org.apache.isis.extensions.commandlog.impl.replay.IsisModuleExtCommandReplayImpl; -import org.apache.isis.extensions.commandlog.impl.replay.impl.SlaveConfiguration; -import org.apache.isis.extensions.commandlog.impl.replay.impl.StatusException; +import org.apache.isis.extensions.commandreplay.impl.IsisModuleExtCommandReplayImpl; +import org.apache.isis.extensions.commandreplay.impl.fetch.MasterConfiguration; +import org.apache.isis.extensions.commandreplay.impl.StatusException; import org.apache.isis.schema.cmd.v2.CommandDto; -import org.apache.isis.extensions.commandlog.impl.replay.impl.CommandFetcher; -import org.apache.isis.extensions.commandlog.impl.replay.impl.CommandReplayAnalysisService; +import org.apache.isis.extensions.commandreplay.impl.fetch.CommandFetcher; +import org.apache.isis.extensions.commandreplay.impl.analysis.CommandReplayAnalysisService; @Action( semantics = SemanticsOf.NON_IDEMPOTENT, @@ -58,7 +58,7 @@ public class CommandJdo_replayNext { private CommandJdo fetchNext() throws StatusException { - final CommandDto commandDto = commandFetcher.fetchCommand(this.commandJdo, slaveConfiguration); + final CommandDto commandDto = commandFetcher.fetchCommand(this.commandJdo); return commandDto == null ? null : commandServiceJdoRepository.saveForReplay(commandDto); @@ -98,7 +98,7 @@ public class CommandJdo_replayNext { } public boolean hideAct() { - return !slaveConfiguration.isConfigured(); + return !masterConfiguration.isConfigured(); } @@ -107,7 +107,7 @@ public class CommandJdo_replayNext { @Inject CommandFetcher commandFetcher; @Inject CommandExecutorService commandExecutorService; @Inject - SlaveConfiguration slaveConfiguration; + MasterConfiguration masterConfiguration; @Inject MessageService messageService; @Inject CommandReplayAnalysisService analysisService; } diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_replayQueue.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_replayQueue.java similarity index 78% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_replayQueue.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_replayQueue.java index 81cf1a9..2f4286d 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_replayQueue.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_replayQueue.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl.mixins; +package org.apache.isis.extensions.commandreplay.impl.mixins; import java.util.List; @@ -10,8 +10,8 @@ import org.apache.isis.applib.annotation.MemberOrder; import org.apache.isis.applib.annotation.Mixin; import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo; import org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdoRepository; -import org.apache.isis.extensions.commandlog.impl.replay.IsisModuleExtCommandReplayImpl; -import org.apache.isis.extensions.commandlog.impl.replay.impl.SlaveConfiguration; +import org.apache.isis.extensions.commandreplay.impl.IsisModuleExtCommandReplayImpl; +import org.apache.isis.extensions.commandreplay.impl.fetch.MasterConfiguration; @Collection( domainEvent = CommandJdo_replayQueue.CollectionDomainEvent.class @@ -36,11 +36,11 @@ public class CommandJdo_replayQueue { } public boolean hideColl() { - return !slaveConfiguration.isConfigured(); + return !masterConfiguration.isConfigured(); } @Inject - SlaveConfiguration slaveConfiguration; + MasterConfiguration masterConfiguration; @Inject CommandServiceJdoRepository commandServiceJdoRepository; diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/quartz/QuartzConfigKeys.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/quartz/QuartzConfigKeys.java new file mode 100644 index 0000000..43357bb --- /dev/null +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/quartz/QuartzConfigKeys.java @@ -0,0 +1,13 @@ +package org.apache.isis.extensions.commandreplay.impl.quartz; + +import lombok.experimental.UtilityClass; + +@UtilityClass +public class QuartzConfigKeys { + + static final String SLAVE_USER_QUARTZ_KEY = "user"; + static final String SLAVE_USER_DEFAULT = "replay_user"; + static final String SLAVE_ROLES_QUARTZ_KEY = "roles"; + static final String SLAVE_ROLES_DEFAULT = "replay_role"; + +} diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/RunBackgroundCommandsWithReplicationAndReplayJob.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/quartz/RunBackgroundCommandsWithReplicationAndReplayJob.java similarity index 85% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/RunBackgroundCommandsWithReplicationAndReplayJob.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/quartz/RunBackgroundCommandsWithReplicationAndReplayJob.java index c446f08..a68911f 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/RunBackgroundCommandsWithReplicationAndReplayJob.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/quartz/RunBackgroundCommandsWithReplicationAndReplayJob.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl; +package org.apache.isis.extensions.commandreplay.impl.quartz; import javax.inject.Inject; @@ -17,11 +17,16 @@ import org.apache.isis.core.security.authentication.AuthenticationSession; import org.apache.isis.core.security.authentication.standard.SimpleSession; import org.apache.isis.extensions.commandlog.impl.background.BackgroundCommandExecutionFromBackgroundCommandServiceJdo; +import org.apache.isis.extensions.commandreplay.impl.clock.TickingClockService; +import org.apache.isis.extensions.commandreplay.impl.util.Holder; +import org.apache.isis.extensions.commandreplay.impl.executor.ReplayableCommandExecution; +import org.apache.isis.extensions.commandreplay.impl.fetch.MasterConfiguration; +import org.apache.isis.extensions.commandreplay.impl.SlaveStatus; -import static org.apache.isis.extensions.commandlog.impl.replay.impl.ConfigurationKeys.SLAVE_ROLES_DEFAULT; -import static org.apache.isis.extensions.commandlog.impl.replay.impl.ConfigurationKeys.SLAVE_ROLES_QUARTZ_KEY; -import static org.apache.isis.extensions.commandlog.impl.replay.impl.ConfigurationKeys.SLAVE_USER_DEFAULT; -import static org.apache.isis.extensions.commandlog.impl.replay.impl.ConfigurationKeys.SLAVE_USER_QUARTZ_KEY; +import static org.apache.isis.extensions.commandreplay.impl.quartz.QuartzConfigKeys.SLAVE_ROLES_DEFAULT; +import static org.apache.isis.extensions.commandreplay.impl.quartz.QuartzConfigKeys.SLAVE_ROLES_QUARTZ_KEY; +import static org.apache.isis.extensions.commandreplay.impl.quartz.QuartzConfigKeys.SLAVE_USER_DEFAULT; +import static org.apache.isis.extensions.commandreplay.impl.quartz.QuartzConfigKeys.SLAVE_USER_QUARTZ_KEY; import lombok.val; import lombok.extern.log4j.Log4j2; @@ -34,14 +39,14 @@ public class RunBackgroundCommandsWithReplicationAndReplayJob implements Job { private static final Logger LOG = LoggerFactory.getLogger(RunBackgroundCommandsWithReplicationAndReplayJob.class); AuthenticationSession authSession; - SlaveConfiguration slaveConfig; + MasterConfiguration slaveConfig; public void execute(final JobExecutionContext quartzContext) { // figure out if this instance is configured to run as master or slave authSession = new SimpleSessionFromQuartz(quartzContext); final IsisConfiguration isisConfiguration = lookupIsisConfiguration(authSession); - slaveConfig = new SlaveConfiguration(isisConfiguration); + slaveConfig = new MasterConfiguration(isisConfiguration); if(!slaveConfig.isConfigured()) { runBackgroundCommandsOnMaster(); @@ -57,7 +62,7 @@ public class RunBackgroundCommandsWithReplicationAndReplayJob implements Job { } private void runBackgroundCommandsOnSlave(final JobExecutionContext quartzContext) { - final SlaveStatus slaveStatus = + final SlaveStatus slaveStatus = getSlaveStatus(quartzContext, SlaveStatus.TICKING_CLOCK_STATUS_UNKNOWN); switch (slaveStatus) { diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/ReplayCommandExecutionController.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/spi/ReplayCommandExecutionController.java similarity index 84% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/ReplayCommandExecutionController.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/spi/ReplayCommandExecutionController.java index c7ca469..261d3ec 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/ReplayCommandExecutionController.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/spi/ReplayCommandExecutionController.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.spi; +package org.apache.isis.extensions.commandreplay.impl.spi; import org.apache.isis.applib.annotation.Programmatic; diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayOnMasterService.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/ui/CommandReplayOnMasterService.java similarity index 97% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayOnMasterService.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/ui/CommandReplayOnMasterService.java index 82c5318..ea55bc2 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayOnMasterService.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/ui/CommandReplayOnMasterService.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl; +package org.apache.isis.extensions.commandreplay.impl.ui; import java.util.List; import java.util.UUID; @@ -22,7 +22,7 @@ import org.apache.isis.applib.services.message.MessageService; import org.apache.isis.applib.value.Clob; import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo; import org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdoRepository; -import org.apache.isis.extensions.commandlog.impl.replay.IsisModuleExtCommandReplayImpl; +import org.apache.isis.extensions.commandreplay.impl.IsisModuleExtCommandReplayImpl; import org.apache.isis.schema.cmd.v2.CommandDto; import org.apache.isis.schema.cmd.v2.CommandsDto; @@ -31,7 +31,7 @@ import lombok.extern.log4j.Log4j2; @DomainService( nature = NatureOfService.VIEW, - objectType = "isisextcorecommandreplay.CommandReplayOnMasterService" + objectType = "isisextcommandreplay.CommandReplayOnMasterService" ) @DomainServiceLayout( named = "Activity", diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayOnSlaveService.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/ui/CommandReplayOnSlaveService.java similarity index 93% rename from extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayOnSlaveService.java rename to extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/ui/CommandReplayOnSlaveService.java index 7181983..e30e323 100644 --- a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayOnSlaveService.java +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/ui/CommandReplayOnSlaveService.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl; +package org.apache.isis.extensions.commandreplay.impl.ui; import java.util.Collections; import java.util.List; @@ -17,14 +17,14 @@ import org.apache.isis.applib.services.jaxb.JaxbService; import org.apache.isis.applib.value.Clob; import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo; import org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdoRepository; -import org.apache.isis.extensions.commandlog.impl.replay.IsisModuleExtCommandReplayImpl; +import org.apache.isis.extensions.commandreplay.impl.IsisModuleExtCommandReplayImpl; import org.apache.isis.schema.cmd.v2.CommandDto; import org.apache.isis.schema.cmd.v2.CommandsDto; import lombok.extern.log4j.Log4j2; @DomainService( - nature = NatureOfService.VIEW_MENU_ONLY, + nature = NatureOfService.VIEW, objectType = "isiscommand.CommandReplayOnSlaveService" ) @DomainServiceLayout( diff --git a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/util/Holder.java b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/util/Holder.java new file mode 100644 index 0000000..257737d --- /dev/null +++ b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/util/Holder.java @@ -0,0 +1,6 @@ +package org.apache.isis.extensions.commandreplay.impl.util; + +import lombok.Data; + +@Data +public class Holder<T> { T object; } diff --git a/extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayAnalysisService_trimmed_Test.java b/extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandreplay/impl/impl/CommandReplayAnalysisService_trimmed_Test.java similarity index 82% rename from extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayAnalysisService_trimmed_Test.java rename to extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandreplay/impl/impl/CommandReplayAnalysisService_trimmed_Test.java index d50d7f4..46ad271 100644 --- a/extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayAnalysisService_trimmed_Test.java +++ b/extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandreplay/impl/impl/CommandReplayAnalysisService_trimmed_Test.java @@ -1,8 +1,10 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl; +package org.apache.isis.extensions.commandreplay.impl.impl; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; +import org.apache.isis.extensions.commandreplay.impl.analysis.CommandReplayAnalysisService; + public class CommandReplayAnalysisService_trimmed_Test { @Test diff --git a/extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandlog/impl/replay/impl/RunBackgroundCommandsWithReplicationAndReplayJob_Test.java b/extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandreplay/impl/impl/RunBackgroundCommandsWithReplicationAndReplayJob_Test.java similarity index 89% rename from extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandlog/impl/replay/impl/RunBackgroundCommandsWithReplicationAndReplayJob_Test.java rename to extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandreplay/impl/impl/RunBackgroundCommandsWithReplicationAndReplayJob_Test.java index 79b8d58..4ec5d10 100644 --- a/extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandlog/impl/replay/impl/RunBackgroundCommandsWithReplicationAndReplayJob_Test.java +++ b/extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandreplay/impl/impl/RunBackgroundCommandsWithReplicationAndReplayJob_Test.java @@ -1,4 +1,4 @@ -package org.apache.isis.extensions.commandlog.impl.replay.impl; +package org.apache.isis.extensions.commandreplay.impl.impl; import java.net.URI; @@ -8,6 +8,7 @@ import javax.ws.rs.core.UriBuilder; import org.junit.jupiter.api.Test; import org.apache.isis.applib.services.jaxb.JaxbService; +import org.apache.isis.extensions.commandreplay.impl.fetch.CommandFetcher; import org.apache.isis.extensions.jaxrsclient.applib.client.JaxRsClient; import org.apache.isis.extensions.jaxrsclient.applib.client.JaxRsResponse; import org.apache.isis.extensions.jaxrsclient.impl.client.JaxRsClientDefault;
