This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/causeway.git


The following commit(s) were added to refs/heads/main by this push:
     new 4063fb41794 CAUSEWAY-3859: Java record refactoring (part 52)
4063fb41794 is described below

commit 4063fb41794f69bae447adcc2471582f6da3024b
Author: Andi Huber <[email protected]>
AuthorDate: Wed Feb 26 13:17:42 2025 +0100

    CAUSEWAY-3859: Java record refactoring (part 52)
---
 .../models/interaction/HasBookmarkedOwner.java     | 11 ++++++--
 .../interaction/HasBookmarkedOwnerAbstract.java    | 29 ++++++++--------------
 2 files changed, 19 insertions(+), 21 deletions(-)

diff --git 
a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/HasBookmarkedOwner.java
 
b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/HasBookmarkedOwner.java
index bd1dc8ed675..0dfd4d816e3 100644
--- 
a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/HasBookmarkedOwner.java
+++ 
b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/HasBookmarkedOwner.java
@@ -23,7 +23,14 @@
 
 public interface HasBookmarkedOwner {
 
-    Bookmark getOwnerBookmark();
-    ManagedObject getBookmarkedOwner();
+    BookmarkedObjectWkt bookmarkedObjectModel();
+
+    default Bookmark getOwnerBookmark() {
+        return bookmarkedObjectModel().bookmark();
+    }
+
+    default ManagedObject getBookmarkedOwner() {
+        return bookmarkedObjectModel().managedObject();
+    }
 
 }
diff --git 
a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/HasBookmarkedOwnerAbstract.java
 
b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/HasBookmarkedOwnerAbstract.java
index 49ade1b5d58..dd769f442e7 100644
--- 
a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/HasBookmarkedOwnerAbstract.java
+++ 
b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/HasBookmarkedOwnerAbstract.java
@@ -18,47 +18,38 @@
  */
 package org.apache.causeway.viewer.wicket.model.models.interaction;
 
+import org.apache.wicket.model.LoadableDetachableModel;
+
 import org.apache.causeway.applib.annotation.BookmarkPolicy;
-import org.apache.causeway.applib.services.bookmark.Bookmark;
-import org.apache.causeway.core.metamodel.object.ManagedObject;
+import org.apache.causeway.core.metamodel.context.HasMetaModelContext;
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.util.Facets;
-import org.apache.causeway.viewer.wicket.model.models.ModelAbstract;
 
 import lombok.RequiredArgsConstructor;
 
 @RequiredArgsConstructor
 public abstract class HasBookmarkedOwnerAbstract<T>
-extends ModelAbstract<T>
+extends LoadableDetachableModel<T>
 implements
-    HasBookmarkedOwner {
+    HasBookmarkedOwner, HasMetaModelContext {
 
     private static final long serialVersionUID = 1L;
 
     final BookmarkedObjectWkt bookmarkedObject;
 
     @Override
-    public final Bookmark getOwnerBookmark() {
-        return bookmarkedObject.bookmark();
-    }
-
-    @Override
-    public final ManagedObject getBookmarkedOwner() {
-        return bookmarkedObject.managedObject();
-    }
-
     public final BookmarkedObjectWkt bookmarkedObjectModel() {
         return bookmarkedObject;
     }
 
+    public final ObjectSpecification getTypeOfSpecification() {
+        // serving this from a potentially unattached entity seems safe
+        return bookmarkedObjectModel().getObject().getSpecification();
+    }
+
     /** governs how to populate the BookmarkPanel in the UI */
     public final BookmarkPolicy getBookmarkPolicy() {
         return 
Facets.bookmarkPolicyOrElseNotSpecified(getTypeOfSpecification());
     }
 
-    public final ObjectSpecification getTypeOfSpecification() {
-        // serving this from a potentially unattached entity seems safe
-        return bookmarkedObject.getObject().getSpecification();
-    }
-
 }

Reply via email to