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(

Reply via email to