This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch CAUSEWAY-4042
in repository https://gitbox.apache.org/repos/asf/causeway.git
The following commit(s) were added to refs/heads/CAUSEWAY-4042 by this push:
new dc0aee6c8b8 CAUSEWAY-4042: refines
dc0aee6c8b8 is described below
commit dc0aee6c8b8fe858ad43f8b6fb6c16d2a106bbae
Author: Dan Haywood <[email protected]>
AuthorDate: Fri Jul 3 11:23:04 2026 +0100
CAUSEWAY-4042: refines
---
.../ReplayableCommand.columnOrder.fallback.txt | 3 +-
.../applib/dom/replay/ReplayableCommand.java | 55 +++++++++++++---------
2 files changed, 36 insertions(+), 22 deletions(-)
diff --git
a/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/ReplayableCommand.columnOrder.fallback.txt
b/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/ReplayableCommand.columnOrder.fallback.txt
index 927477cda12..a5811460d0f 100644
---
a/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/ReplayableCommand.columnOrder.fallback.txt
+++
b/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/dom/replay/ReplayableCommand.columnOrder.fallback.txt
@@ -1,6 +1,7 @@
#interactionId
timestamp
-targetAbbreviated
+recordedTargetAbbreviated
+actualTargetAbbreviated
member
replayState
hasResult
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 a5a10479ef5..66e17f539aa 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
@@ -30,19 +30,15 @@
import javax.inject.Inject;
import javax.inject.Named;
-import javax.xml.bind.annotation.XmlTransient;
import org.apache.causeway.applib.Identifier;
import org.apache.causeway.applib.ViewModel;
-import org.apache.causeway.applib.annotation.Action;
-import org.apache.causeway.applib.annotation.ActionLayout;
import org.apache.causeway.applib.annotation.Collection;
import org.apache.causeway.applib.annotation.CollectionLayout;
import org.apache.causeway.applib.annotation.DomainObject;
import org.apache.causeway.applib.annotation.DomainObjectLayout;
import org.apache.causeway.applib.annotation.Introspection;
import org.apache.causeway.applib.annotation.LabelPosition;
-import org.apache.causeway.applib.annotation.MemberSupport;
import org.apache.causeway.applib.annotation.ObjectSupport;
import org.apache.causeway.applib.annotation.Programmatic;
import org.apache.causeway.applib.annotation.Property;
@@ -51,10 +47,8 @@
import org.apache.causeway.applib.annotation.Where;
import org.apache.causeway.applib.jaxb.JavaTimeXMLGregorianCalendarMarshalling;
import org.apache.causeway.applib.services.bookmark.Bookmark;
-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.message.MessageService;
import org.apache.causeway.applib.services.wrapper.DisabledException;
import org.apache.causeway.applib.services.wrapper.HiddenException;
import org.apache.causeway.applib.services.wrapper.InvalidException;
@@ -200,7 +194,7 @@ public String title() {
}
private String targetTitlePrefix() {
- return targetBookmarkIfAny()
+ return recordedTargetBookmarkStrIfAny()
.orElse("");
}
@@ -254,7 +248,7 @@ public Optional<ZonedDateTime> getTimestampIfAny() {
hidden = Where.PARENTED_TABLES,
describedAs = "Recorded target of the command")
public String getTarget() {
- return targetBookmarkIfAny()
+ return recordedTargetBookmarkStrIfAny()
.orElse(null);
}
@@ -265,29 +259,36 @@ public String getTarget() {
hidden = Where.PARENTED_TABLES,
describedAs = "Actual target of the command")
public String getActualTarget() {
- return targetBookmarkIfAny()
- .flatMap(Bookmark::parse)
- .flatMap((Bookmark x) ->
commandReplayResultMappingRepository.findByRecordedBookmark(x))
- .map(CommandReplayResultMapping::getActualBookmark)
+ return actualTargetBookmarkIfAny()
.map(Bookmark::stringify)
.orElse(null);
}
- @Inject CommandReplayResultMappingRepository
commandReplayResultMappingRepository;
+ @Property
+ @PropertyLayout(
+ named = "Recorded Target",
+ sequence = "2.2.1",
+ hidden = Where.OBJECT_FORMS,
+ describedAs = "Recorded target of the command")
+ public String getRecordedTargetAbbreviated() {
+ return recordedTargetBookmarkStrIfAny()
+ .map(ReplayableCommand::abbreviatedIfRequired)
+ .orElse(null);
+ }
@Property
@PropertyLayout(
- named = "Target",
- sequence = "2.2",
- fieldSetId = "target",
+ named = "Actual Target",
+ sequence = "2.2.2",
hidden = Where.OBJECT_FORMS,
- describedAs = "Target of the command")
- public String getTargetAbbreviated() {
- return targetBookmarkIfAny()
+ describedAs = "Actual target of the command")
+ public String getActualTargetAbbreviated() {
+ return actualTargetBookmarkIfAny()
.map(ReplayableCommand::abbreviatedIfRequired)
.orElse(null);
}
+
@Property
@PropertyLayout(
sequence = "2.3",
@@ -321,7 +322,6 @@ public boolean isKnownParticipants() {
}
-
@Property
@PropertyLayout(
sequence = "3.1",
@@ -364,12 +364,25 @@ public String getReplayStateFailureReason() {
return x.length() > abbreviateIfLongerThan ? x.substring(0,
abbreviateIfLongerThan) + "..." : x;
}
- @NonNull Optional<String> targetBookmarkIfAny() {
+ private static @NonNull String abbreviatedIfRequired(Bookmark x) {
+ return x != null ? abbreviatedIfRequired(x.stringify()) : "";
+ }
+
+ @NonNull Optional<String> recordedTargetBookmarkStrIfAny() {
return commandRecord()
.map(CommandRecord::target)
.map(Bookmark::stringify);
}
+ @NonNull Optional<Bookmark> actualTargetBookmarkIfAny() {
+ return recordedTargetBookmarkStrIfAny()
+ .flatMap(Bookmark::parse)
+ .flatMap((Bookmark x) ->
commandReplayResultMappingRepository.findByRecordedBookmark(x))
+ .map(CommandReplayResultMapping::getActualBookmark);
+ }
+
+ @Inject CommandReplayResultMappingRepository
commandReplayResultMappingRepository;
+
@Property
@PropertyLayout(