You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/06/02 09:31:18 UTC
[isis] branch master updated: ISIS-3049: purge ObjectMemento.asHintingBookmarkIfSupported()
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 6c39166b04 ISIS-3049: purge ObjectMemento.asHintingBookmarkIfSupported()
6c39166b04 is described below
commit 6c39166b0400400ddbbf5f09418aa4684197d583
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Jun 2 11:31:10 2022 +0200
ISIS-3049: purge ObjectMemento.asHintingBookmarkIfSupported()
---
.../objectmanager/memento/ObjectMemento.java | 11 ++---------
.../memento/ObjectMementoCollection.java | 4 ++--
.../memento/ObjectMementoForEmpty.java | 10 +++++-----
.../memento/ObjectMementoServiceDefault.java | 10 +++++-----
.../runtimeservices/memento/_ObjectMemento.java | 22 ++++++++++------------
.../wicket/model/models/ManagedObjectModel.java | 6 ------
6 files changed, 24 insertions(+), 39 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/memento/ObjectMemento.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/memento/ObjectMemento.java
index c1bde41ae5..5f34845044 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/memento/ObjectMemento.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/memento/ObjectMemento.java
@@ -26,13 +26,14 @@ import java.util.Optional;
import org.apache.isis.applib.id.HasLogicalType;
import org.apache.isis.applib.id.LogicalType;
import org.apache.isis.applib.services.bookmark.Bookmark;
+import org.apache.isis.applib.services.bookmark.BookmarkHolder;
import org.apache.isis.commons.collections.Cardinality;
import org.apache.isis.commons.internal.collections._Lists;
/**
* @since 2.0
*/
-public interface ObjectMemento extends HasLogicalType, Serializable {
+public interface ObjectMemento extends BookmarkHolder, HasLogicalType, Serializable {
/**
* In a strict sense, bookmarks are only available for viewmodels, entities and managed beans,
@@ -52,14 +53,6 @@ public interface ObjectMemento extends HasLogicalType, Serializable {
*/
Bookmark asBookmarkIfSupported();
- /**
- * Returns a bookmark only if
- * {@link org.apache.isis.viewer.wicket.viewer.services.mementos.ObjectMementoWkt.RecreateStrategy#LOOKUP} and
- * {@link #getCardinality() sort} is {@link Cardinality#SCALAR scalar}.
- * Returns {@code null} otherwise.
- */
- Bookmark asHintingBookmarkIfSupported();
-
// -- FACTORIES
static ObjectMemento pack(
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/memento/ObjectMementoCollection.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/memento/ObjectMementoCollection.java
index 6abb7c035b..d265af118b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/memento/ObjectMementoCollection.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/memento/ObjectMementoCollection.java
@@ -44,12 +44,12 @@ public final class ObjectMementoCollection implements ObjectMemento {
@NonNull private final LogicalType logicalType;
@Override
- public Bookmark asPseudoBookmark() {
+ public Bookmark bookmark() {
throw _Exceptions.notImplemented(); // please unwrap at call-site
}
@Override
- public Bookmark asHintingBookmarkIfSupported() {
+ public Bookmark asPseudoBookmark() {
throw _Exceptions.notImplemented(); // please unwrap at call-site
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/memento/ObjectMementoForEmpty.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/memento/ObjectMementoForEmpty.java
index dbe130ff63..70cb745a00 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/memento/ObjectMementoForEmpty.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/memento/ObjectMementoForEmpty.java
@@ -34,17 +34,17 @@ public class ObjectMementoForEmpty implements ObjectMemento {
@NonNull private LogicalType logicalType;
@Override
- public Bookmark asPseudoBookmark() {
- return Bookmark.empty(logicalType);
+ public Bookmark bookmark() {
+ return asPseudoBookmark();
}
@Override
- public Bookmark asBookmarkIfSupported() {
- return null;
+ public Bookmark asPseudoBookmark() {
+ return Bookmark.empty(logicalType);
}
@Override
- public Bookmark asHintingBookmarkIfSupported() {
+ public Bookmark asBookmarkIfSupported() {
return null;
}
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/memento/ObjectMementoServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/memento/ObjectMementoServiceDefault.java
index 7f58c252e3..c8916f7caf 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/memento/ObjectMementoServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/memento/ObjectMementoServiceDefault.java
@@ -169,18 +169,18 @@ public class ObjectMementoServiceDefault implements ObjectMementoService {
private final _ObjectMemento delegate;
@Override
- public Bookmark asPseudoBookmark() {
+ public Bookmark bookmark() {
return delegate.asPseudoBookmark();
}
@Override
- public Bookmark asBookmarkIfSupported() {
- return delegate.asBookmark();
+ public Bookmark asPseudoBookmark() {
+ return delegate.asPseudoBookmark();
}
@Override
- public Bookmark asHintingBookmarkIfSupported() {
- return delegate.asHintingBookmark();
+ public Bookmark asBookmarkIfSupported() {
+ return delegate.asBookmark();
}
@Override
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/memento/_ObjectMemento.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/memento/_ObjectMemento.java
index bd4f97c8dd..eb6f709440 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/memento/_ObjectMemento.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/memento/_ObjectMemento.java
@@ -393,7 +393,7 @@ final class _ObjectMemento implements HasLogicalType, Serializable {
/**
* Only populated for {@link ManagedObject#getPojo() domain object}s that implement {@link HintIdProvider}.
*/
- private String hintId;
+ //private String hintId;
/**
* populated only if {@link #getCardinality() sort} is {@link Cardinality#VECTOR vector}
@@ -447,17 +447,22 @@ final class _ObjectMemento implements HasLogicalType, Serializable {
this.recreateStrategy = RecreateStrategy.VALUE;
}
-
private void init(final ManagedObject adapter) {
val spec = adapter.getSpecification();
if(spec.isIdentifiable() || spec.isParented() ) {
+ val hintId = adapter.getPojo() instanceof HintIdProvider
+ ? ((HintIdProvider) adapter.getPojo()).hintId()
+ : null;
+
bookmark = ManagedObjects.bookmarkElseFail(adapter);
+ bookmark = hintId != null
+ && bookmark != null
+ ? bookmark.withHintId(hintId)
+ : bookmark;
+
persistentOidStr = bookmark.stringify();
- if(adapter.getPojo() instanceof HintIdProvider) {
- this.hintId = ((HintIdProvider) adapter.getPojo()).hintId();
- }
recreateStrategy = RecreateStrategy.LOOKUP;
return;
}
@@ -496,13 +501,6 @@ final class _ObjectMemento implements HasLogicalType, Serializable {
return bookmark;
}
- Bookmark asHintingBookmark() {
- val bookmark = asBookmark();
- return hintId != null && bookmark != null
- ? bookmark.withHintId(hintId)
- : bookmark;
- }
-
/**
* Lazily looks up {@link ManagedObject} if required.
*
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ManagedObjectModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ManagedObjectModel.java
index 2fa4c1c879..6ba17abe83 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ManagedObjectModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ManagedObjectModel.java
@@ -106,12 +106,6 @@ extends ModelAbstract<ManagedObject> {
.orElseGet(()->adapter.getElementSpecification().get().getLogicalType()));
}
- public final Bookmark asHintingBookmarkIfSupported() {
- return memento!=null
- ? memento.asHintingBookmarkIfSupported()
- : null;
- }
-
public final Bookmark asBookmarkIfSupported() {
return memento!=null
? memento.asBookmarkIfSupported()