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();
- }
-
}