You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by da...@apache.org on 2026/06/19 06:47:41 UTC
(causeway) 10/11: CAUSEWAY-4039: moves KnownParticipants validator to CommandManagerAbstract
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch CAUSEWAY-4039
in repository https://gitbox.apache.org/repos/asf/causeway.git
commit a71c050e60c5c179f64d35ee8b468ee28256f931
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Jun 19 07:28:08 2026 +0100
CAUSEWAY-4039: moves KnownParticipants validator to CommandManagerAbstract
---
...java => CommandKnownParticipantsValidator.java} | 19 +++++------
.../applib/dom/replay/CommandManagerAbstract.java | 28 +++++++++++++++-
.../applib/dom/replay/CommandManagerExport.java | 36 ++++----------------
.../CommandManagerExport_exportSelected.java | 4 +--
.../applib/dom/replay/ReplayableCommand.java | 22 ++-----------
.../ReplayableCommandParticipantTracker.java | 6 ++--
... => CommandKnownParticipantsValidatorTest.java} | 38 +++++++++++-----------
7 files changed, 68 insertions(+), 85 deletions(-)
diff --git a/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandExportKnownTargetValidator.java b/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandKnownParticipantsValidator.java
similarity index 91%
rename from extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandExportKnownTargetValidator.java
rename to extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandKnownParticipantsValidator.java
index e4343ec167f..4ffe10f0bc0 100644
--- a/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandExportKnownTargetValidator.java
+++ b/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandKnownParticipantsValidator.java
@@ -22,7 +22,6 @@
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
-import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.function.Predicate;
@@ -35,22 +34,22 @@
import org.apache.causeway.schema.common.v2.ValueType;
/**
- * Validates that an exported command sequence can reach every selected action target and reference parameter
- * from a root service or from a previously recorded result in the same baseline-bounded export sequence.
+ * Validates that in a sequence of commands, every action target or reference parameter argument is either
+ * a root service, is refdata, or is a previously recorded result in the same baseline-bounded export sequence.
*/
-final class CommandExportKnownTargetValidator {
+final class CommandKnownParticipantsValidator {
private final Predicate<Bookmark> exportRootPredicate;
- CommandExportKnownTargetValidator(final Predicate<Bookmark> exportRootPredicate) {
+ CommandKnownParticipantsValidator(final Predicate<Bookmark> exportRootPredicate) {
this.exportRootPredicate = exportRootPredicate;
}
Optional<Failure> validate(
final Timestamp baseline,
- final List<CommandLogEntry> selectedCommandLogEntries) {
+ final List<CommandLogEntry> commandLogEntries) {
final Set<Bookmark> knownTargets = new HashSet<>();
- for (final CommandLogEntry entry : selectedCommandLogEntries) {
+ for (final CommandLogEntry entry : commandLogEntries) {
if (isBeforeBaseline(baseline, entry)) {
continue;
}
@@ -100,14 +99,12 @@ private static List<Participant> participantsFor(final CommandLogEntry entry) {
.stream()
.flatMap(oidsDto -> oidsDto.getOid().stream())
.map(Bookmark::forOidDto)
- .filter(Objects::nonNull)
.map(Participant::target)
.forEach(participants::add);
if (participants.isEmpty() && entry.getTarget() != null) {
participants.add(Participant.target(entry.getTarget()));
}
- referenceParametersFor(entry)
- .forEach(participants::add);
+ participants.addAll(referenceParametersFor(entry));
return participants;
}
@@ -124,7 +121,7 @@ private static List<Participant> referenceParametersFor(final CommandLogEntry en
.map(ActionDto::getParameters)
.stream()
.flatMap(paramsDto -> paramsDto.getParameter().stream())
- .filter(CommandExportKnownTargetValidator::isReferenceParameter)
+ .filter(CommandKnownParticipantsValidator::isReferenceParameter)
.forEach(parameter -> participants.add(Participant.parameter(
parameterName(parameter, participants.size()),
Bookmark.forOidDto(parameter.getReference()))));
diff --git a/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandManagerAbstract.java b/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandManagerAbstract.java
index bbc7bcd2212..a7fc9162040 100644
--- a/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandManagerAbstract.java
+++ b/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandManagerAbstract.java
@@ -27,10 +27,12 @@
import org.apache.causeway.applib.ViewModel;
import org.apache.causeway.applib.annotation.ObjectSupport;
-import org.apache.causeway.applib.annotation.Programmatic;
import org.apache.causeway.applib.annotation.Property;
import org.apache.causeway.applib.annotation.PropertyLayout;
+import org.apache.causeway.applib.services.bookmark.Bookmark;
import org.apache.causeway.applib.services.command.CommandRecordingSuppressed;
+import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
+import org.apache.causeway.extensions.commandlog.applib.spi.CommandReplayReferenceDataService;
import static org.apache.causeway.extensions.commandlog.applib.dom.replay.TimestampMarshallUtil.fromString;
@@ -77,6 +79,29 @@ public String viewModelMemento() {
}
+ CommandKnownParticipantsValidator validator() {
+ return new CommandKnownParticipantsValidator(this::isDomainServiceOrReferenceData);
+ }
+
+ private boolean isDomainServiceOrReferenceData(final Bookmark bookmark) {
+ return isDomainService(bookmark)
+ || CommandReplayReferenceDataService.isReferenceData(replayContext.commandReplayReferenceDataServices(), bookmark);
+ }
+
+ private boolean isDomainService(final Bookmark bookmark) {
+ final var metaModelService = replayContext.metaModelService();
+ final var specificationLoader = replayContext.specificationLoader();
+ if (metaModelService == null || specificationLoader == null) {
+ // shouldn't happen, except perhaps in unit testing?
+ return false;
+ }
+ return metaModelService.lookupLogicalTypeByName(bookmark.getLogicalTypeName())
+ .flatMap(specificationLoader::specForLogicalType)
+ .map(ObjectSpecification::isDomainService)
+ .orElse(false);
+ }
+
+
@Data
public static class State {
private static final String DELIMITER = "--";
@@ -117,4 +142,5 @@ public String toMemento() {
return TimestampMarshallUtil.toString(timestamp) + DELIMITER + limit;
}
}
+
}
diff --git a/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandManagerExport.java b/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandManagerExport.java
index e495401650f..b4f11044683 100644
--- a/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandManagerExport.java
+++ b/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandManagerExport.java
@@ -40,7 +40,6 @@
import org.apache.causeway.extensions.commandlog.applib.dom.CommandLogEntry;
import org.apache.causeway.extensions.commandlog.applib.dom.CommandLogEntryRepository;
import org.apache.causeway.extensions.commandlog.applib.dom.ReplayState;
-import org.apache.causeway.extensions.commandlog.applib.spi.CommandReplayReferenceDataService;
@DomainObject(introspection = Introspection.ANNOTATION_REQUIRED)
@DomainObjectLayout(cssClassFa = "solid share-from-square")
@@ -50,7 +49,6 @@ public final class CommandManagerExport
implements ReplayableCommandParticipantTracker {
public static final String LOGICAL_TYPE_NAME = CausewayModuleExtCommandLogApplib.NAMESPACE + ".CommandExportManager";
- static final String SCRATCHPAD_KEY = LOGICAL_TYPE_NAME + "#current";
public static abstract class ActionDomainEvent<T>
extends CausewayModuleExtCommandLogApplib.ActionDomainEvent<T> { }
@@ -91,7 +89,7 @@ public List<ReplayableCommand> getCommands() {
ReplayableCommandParticipantTracker.putTrackerOnScratchpad(this, replayContext.scratchpad());
return activeCommandLogEntries().stream()
.filter(this::isDoOp)
- .map(this::replayableCommandInExportManagerContext)
+ .map(this::replayableCommandFor)
.collect(Collectors.toList());
}
@@ -136,7 +134,7 @@ public List<ReplayableCommand> commands(final Direction direction) {
}
@Programmatic
- Optional<CommandExportKnownTargetValidator.Failure> validateKnownTargets(
+ Optional<CommandKnownParticipantsValidator.Failure> validateKnownTargets(
final List<CommandLogEntry> selectedCommandLogEntries) {
return isRecordingSupportEnabled()
? validator().validate(baseline, selectedCommandLogEntries)
@@ -180,22 +178,6 @@ private boolean isRecordingSupportEnabled() {
&& replayContext.causewayConfiguration().getExtensions().getCommandLog().getRecordingSupport().isEnabled();
}
- private CommandExportKnownTargetValidator validator() {
- return new CommandExportKnownTargetValidator(this::isExportRootOrReferenceData);
- }
-
- private boolean isExportRootOrReferenceData(final Bookmark bookmark) {
- return isExportRoot(bookmark)
- || CommandReplayReferenceDataService.isReferenceData(replayContext.commandReplayReferenceDataServices(), bookmark);
- }
-
- private boolean isExportRoot(final Bookmark bookmark) {
- return replayContext.metaModelService() != null
- && replayContext.metaModelService().lookupLogicalTypeByName(bookmark.getLogicalTypeName())
- .map(logicalType -> logicalType.correspondingClass().isAnnotationPresent(org.apache.causeway.applib.annotation.DomainService.class))
- .orElse(false);
- }
-
@Programmatic
List<CommandLogEntry> activeCommandLogEntries() {
return commandLogEntryRepository().findForegroundSinceTimestamp(baseline, limit).stream()
@@ -208,16 +190,10 @@ private boolean isDoOp(final CommandLogEntry entry) {
return ReplayableCommand.Util.isDoOp(entry, replayContext.specificationLoader());
}
- private ReplayableCommand replayableCommandInExportManagerContext(final CommandLogEntry entry) {
- return replayContext.scratchpad() != null
- ? new ReplayableCommand(
- entry.getInteractionId(),
- replayContext)
- : new ReplayableCommand(
- entry.getInteractionId(),
- replayContext,
- new org.apache.causeway.commons.internal.base._Refs.ObjectReference<>(null),
- this);
+ private ReplayableCommand replayableCommandFor(final CommandLogEntry entry) {
+ return new ReplayableCommand(
+ entry.getInteractionId(),
+ replayContext);
}
private static boolean isActiveCommand(final CommandLogEntry entry) {
diff --git a/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandManagerExport_exportSelected.java b/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandManagerExport_exportSelected.java
index 9fd6b306390..ef68ed7cc56 100644
--- a/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandManagerExport_exportSelected.java
+++ b/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandManagerExport_exportSelected.java
@@ -117,7 +117,7 @@ public String validateSelected(final List<ReplayableCommand> selected) {
return "Select at least one command to export";
}
return validateKnownTargets(selectedCommandLogEntries(selected))
- .map(CommandExportKnownTargetValidator.Failure::message)
+ .map(CommandKnownParticipantsValidator.Failure::message)
.orElse(null);
}
@@ -133,7 +133,7 @@ private List<CommandLogEntry> selectedCommandLogEntries(final List<ReplayableCom
.collect(Collectors.toList());
}
- private Optional<CommandExportKnownTargetValidator.Failure> validateKnownTargets(
+ private Optional<CommandKnownParticipantsValidator.Failure> validateKnownTargets(
final List<CommandLogEntry> selectedCommandLogEntries) {
return commandExportManager.validateKnownTargets(selectedCommandLogEntries);
}
diff --git a/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/ReplayableCommand.java b/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/ReplayableCommand.java
index 95d065b505c..ac554d2ff02 100644
--- a/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/ReplayableCommand.java
+++ b/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/ReplayableCommand.java
@@ -50,7 +50,6 @@
import org.apache.causeway.applib.services.bookmark.BookmarkService;
import org.apache.causeway.applib.services.command.CommandExecutorService.InteractionContextPolicy;
import org.apache.causeway.applib.services.command.CommandRecordingSuppressed;
-import org.apache.causeway.applib.services.scratchpad.Scratchpad;
import org.apache.causeway.applib.util.schema.CommandDtoUtils;
import org.apache.causeway.commons.functional.Try;
import org.apache.causeway.commons.internal.base._NullSafe;
@@ -112,7 +111,7 @@ public ReplayContext replayContext() {
}
- private final ObjectReference<CommandRecord> recordRef;
+ private final ObjectReference<CommandRecord> recordRef = new ObjectReference<>(null);
private final ReplayableCommandParticipantTracker replayableCommandParticipantTracker;
@@ -184,26 +183,9 @@ public ReplayableCommand(
ReplayableCommand(
final UUID interactionId,
final ReplayContext replayContext) {
- this(interactionId, replayContext, new ObjectReference<>(null),
- ReplayableCommandParticipantTracker.current(replayContext.scratchpad()).orElse(null));
- }
-
- ReplayableCommand(
- final UUID interactionId,
- final ReplayContext replayContext,
- final ObjectReference<CommandRecord> recordRef) {
- this(interactionId, replayContext, recordRef, null);
- }
-
- ReplayableCommand(
- final UUID interactionId,
- final ReplayContext replayContext,
- final ObjectReference<CommandRecord> recordRef,
- final ReplayableCommandParticipantTracker replayableCommandParticipantTracker) {
this.interactionId = interactionId;
this.replayContext = replayContext;
- this.recordRef = recordRef;
- this.replayableCommandParticipantTracker = replayableCommandParticipantTracker;
+ this.replayableCommandParticipantTracker = ReplayableCommandParticipantTracker.current(replayContext.scratchpad()).orElse(null);
}
@ObjectSupport
diff --git a/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/ReplayableCommandParticipantTracker.java b/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/ReplayableCommandParticipantTracker.java
index 0f2e82870d5..a47dbdccc1b 100644
--- a/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/ReplayableCommandParticipantTracker.java
+++ b/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/ReplayableCommandParticipantTracker.java
@@ -15,15 +15,17 @@
*/
public interface ReplayableCommandParticipantTracker {
+ String SCRATCHPAD_KEY = CommandManagerExport.LOGICAL_TYPE_NAME + "#current";
+
static void putTrackerOnScratchpad(ReplayableCommandParticipantTracker value, Scratchpad scratchpad) {
if (scratchpad != null) {
- scratchpad.put(CommandManagerExport.SCRATCHPAD_KEY, value);
+ scratchpad.put(SCRATCHPAD_KEY, value);
}
}
static Optional<ReplayableCommandParticipantTracker> current(final Scratchpad scratchpad) {
return Optional.ofNullable(scratchpad)
- .map(sp -> sp.get(CommandManagerExport.SCRATCHPAD_KEY))
+ .map(sp -> sp.get(SCRATCHPAD_KEY))
.filter(ReplayableCommandParticipantTracker.class::isInstance)
.map(ReplayableCommandParticipantTracker.class::cast);
}
diff --git a/extensions/core/commandlog/applib/src/test/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandExportKnownTargetValidatorTest.java b/extensions/core/commandlog/applib/src/test/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandKnownParticipantsValidatorTest.java
similarity index 91%
rename from extensions/core/commandlog/applib/src/test/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandExportKnownTargetValidatorTest.java
rename to extensions/core/commandlog/applib/src/test/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandKnownParticipantsValidatorTest.java
index 4040a2551f2..05f6f42cfc2 100644
--- a/extensions/core/commandlog/applib/src/test/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandExportKnownTargetValidatorTest.java
+++ b/extensions/core/commandlog/applib/src/test/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/CommandKnownParticipantsValidatorTest.java
@@ -40,7 +40,7 @@
import org.apache.causeway.schema.common.v2.OidsDto;
import org.apache.causeway.schema.common.v2.ValueType;
-class CommandExportKnownTargetValidatorTest {
+class CommandKnownParticipantsValidatorTest {
private static final Timestamp BASELINE = Timestamp.from(Instant.parse("2026-06-07T10:00:00Z"));
private static final Timestamp BEFORE_BASELINE = Timestamp.from(Instant.parse("2026-06-07T09:59:59Z"));
@@ -54,7 +54,7 @@ class CommandExportKnownTargetValidatorTest {
@Test
void accepts_root_menu_service_target() {
- final var validator = new CommandExportKnownTargetValidator(MENU_SERVICE::equals);
+ final var validator = new CommandKnownParticipantsValidator(MENU_SERVICE::equals);
final var failure = validator.validate(BASELINE, List.of(action(T1, MENU_SERVICE, null)));
@@ -63,7 +63,7 @@ void accepts_root_menu_service_target() {
@Test
void accepts_target_returned_by_earlier_selected_command() {
- final var validator = new CommandExportKnownTargetValidator(MENU_SERVICE::equals);
+ final var validator = new CommandKnownParticipantsValidator(MENU_SERVICE::equals);
final var failure = validator.validate(BASELINE, List.of(
action(T1, MENU_SERVICE, CUSTOMER),
@@ -74,7 +74,7 @@ void accepts_target_returned_by_earlier_selected_command() {
@Test
void accepts_target_returned_by_earlier_singleton_container_command() {
- final var validator = new CommandExportKnownTargetValidator(MENU_SERVICE::equals);
+ final var validator = new CommandKnownParticipantsValidator(MENU_SERVICE::equals);
final var singletonContainerResult = CUSTOMER;
final var failure = validator.validate(BASELINE, List.of(
@@ -86,7 +86,7 @@ void accepts_target_returned_by_earlier_singleton_container_command() {
@Test
void accepts_reference_data_target_without_prior_result() {
- final var validator = new CommandExportKnownTargetValidator(bookmark -> MENU_SERVICE.equals(bookmark) || CATEGORY.equals(bookmark));
+ final var validator = new CommandKnownParticipantsValidator(bookmark -> MENU_SERVICE.equals(bookmark) || CATEGORY.equals(bookmark));
final var failure = validator.validate(BASELINE, List.of(action(T1, CATEGORY, null)));
@@ -95,7 +95,7 @@ void accepts_reference_data_target_without_prior_result() {
@Test
void rejects_unknown_non_root_target_and_reports_command_and_bookmark() {
- final var validator = new CommandExportKnownTargetValidator(MENU_SERVICE::equals);
+ final var validator = new CommandKnownParticipantsValidator(MENU_SERVICE::equals);
final var selected = action(T1, CUSTOMER, null);
final var failure = validator.validate(BASELINE, List.of(selected));
@@ -110,7 +110,7 @@ void rejects_unknown_non_root_target_and_reports_command_and_bookmark() {
@Test
void ignores_result_before_baseline_when_validating_later_target() {
- final var validator = new CommandExportKnownTargetValidator(MENU_SERVICE::equals);
+ final var validator = new CommandKnownParticipantsValidator(MENU_SERVICE::equals);
final var failure = validator.validate(BASELINE, List.of(
action(BEFORE_BASELINE, MENU_SERVICE, CUSTOMER),
@@ -122,7 +122,7 @@ void ignores_result_before_baseline_when_validating_later_target() {
@Test
void does_not_treat_locally_resolvable_object_as_root() {
- final var validator = new CommandExportKnownTargetValidator(__ -> false);
+ final var validator = new CommandKnownParticipantsValidator(__ -> false);
final var failure = validator.validate(BASELINE, List.of(action(T1, CUSTOMER, null)));
@@ -131,7 +131,7 @@ void does_not_treat_locally_resolvable_object_as_root() {
@Test
void later_result_does_not_validate_earlier_target() {
- final var validator = new CommandExportKnownTargetValidator(MENU_SERVICE::equals);
+ final var validator = new CommandKnownParticipantsValidator(MENU_SERVICE::equals);
final var failure = validator.validate(BASELINE, List.of(
action(T1, CUSTOMER, null),
@@ -143,7 +143,7 @@ void later_result_does_not_validate_earlier_target() {
@Test
void safe_action_without_result_does_not_establish_unrelated_target() {
- final var validator = new CommandExportKnownTargetValidator(MENU_SERVICE::equals);
+ final var validator = new CommandKnownParticipantsValidator(MENU_SERVICE::equals);
final var failure = validator.validate(BASELINE, List.of(
action(T1, MENU_SERVICE, null),
@@ -155,7 +155,7 @@ void safe_action_without_result_does_not_establish_unrelated_target() {
@Test
void property_commands_with_known_targets_establish_result_as_later_known_target() {
- final var validator = new CommandExportKnownTargetValidator(MENU_SERVICE::equals);
+ final var validator = new CommandKnownParticipantsValidator(MENU_SERVICE::equals);
final var failure = validator.validate(BASELINE, List.of(
property(T1, MENU_SERVICE, CUSTOMER),
@@ -166,7 +166,7 @@ void property_commands_with_known_targets_establish_result_as_later_known_target
@Test
void accepts_reference_parameter_returned_by_earlier_selected_command() {
- final var validator = new CommandExportKnownTargetValidator(MENU_SERVICE::equals);
+ final var validator = new CommandKnownParticipantsValidator(MENU_SERVICE::equals);
final var failure = validator.validate(BASELINE, List.of(
action(T1, MENU_SERVICE, CUSTOMER),
@@ -177,7 +177,7 @@ void accepts_reference_parameter_returned_by_earlier_selected_command() {
@Test
void accepts_reference_parameter_that_is_root_menu_service() {
- final var validator = new CommandExportKnownTargetValidator(MENU_SERVICE::equals);
+ final var validator = new CommandKnownParticipantsValidator(MENU_SERVICE::equals);
final var failure = validator.validate(BASELINE, List.of(
actionWithReferenceParameter(T1, MENU_SERVICE, null, "menu", MENU_SERVICE)));
@@ -187,7 +187,7 @@ void accepts_reference_parameter_that_is_root_menu_service() {
@Test
void accepts_reference_data_reference_parameter_without_prior_result() {
- final var validator = new CommandExportKnownTargetValidator(bookmark -> MENU_SERVICE.equals(bookmark) || CATEGORY.equals(bookmark));
+ final var validator = new CommandKnownParticipantsValidator(bookmark -> MENU_SERVICE.equals(bookmark) || CATEGORY.equals(bookmark));
final var failure = validator.validate(BASELINE, List.of(
actionWithReferenceParameter(T1, MENU_SERVICE, null, "category", CATEGORY)));
@@ -197,7 +197,7 @@ void accepts_reference_data_reference_parameter_without_prior_result() {
@Test
void rejects_unknown_reference_parameter_and_reports_command_parameter_and_bookmark() {
- final var validator = new CommandExportKnownTargetValidator(MENU_SERVICE::equals);
+ final var validator = new CommandKnownParticipantsValidator(MENU_SERVICE::equals);
final var selected = actionWithReferenceParameter(T1, MENU_SERVICE, null, "customer", CUSTOMER);
final var failure = validator.validate(BASELINE, List.of(selected));
@@ -213,7 +213,7 @@ void rejects_unknown_reference_parameter_and_reports_command_parameter_and_bookm
@Test
void later_result_does_not_validate_earlier_reference_parameter() {
- final var validator = new CommandExportKnownTargetValidator(MENU_SERVICE::equals);
+ final var validator = new CommandKnownParticipantsValidator(MENU_SERVICE::equals);
final var failure = validator.validate(BASELINE, List.of(
actionWithReferenceParameter(T1, MENU_SERVICE, null, "customer", CUSTOMER),
@@ -227,7 +227,7 @@ void later_result_does_not_validate_earlier_reference_parameter() {
@Test
void result_before_baseline_does_not_validate_reference_parameter() {
- final var validator = new CommandExportKnownTargetValidator(MENU_SERVICE::equals);
+ final var validator = new CommandKnownParticipantsValidator(MENU_SERVICE::equals);
final var failure = validator.validate(BASELINE, List.of(
action(BEFORE_BASELINE, MENU_SERVICE, CUSTOMER),
@@ -241,7 +241,7 @@ void result_before_baseline_does_not_validate_reference_parameter() {
@Test
void ignores_scalar_parameters_for_export_path_validation() {
- final var validator = new CommandExportKnownTargetValidator(MENU_SERVICE::equals);
+ final var validator = new CommandKnownParticipantsValidator(MENU_SERVICE::equals);
final var failure = validator.validate(BASELINE, List.of(
actionWithScalarParameter(T1, MENU_SERVICE, null, "name")));
@@ -251,7 +251,7 @@ void ignores_scalar_parameters_for_export_path_validation() {
@Test
void ignores_reference_parameters_without_reference_bookmark() {
- final var validator = new CommandExportKnownTargetValidator(MENU_SERVICE::equals);
+ final var validator = new CommandKnownParticipantsValidator(MENU_SERVICE::equals);
final var failure = validator.validate(BASELINE, List.of(
actionWithReferenceParameter(T1, MENU_SERVICE, null, "customer", null)));