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 2021/05/21 16:57:01 UTC

[isis] branch master updated: ISIS-2686: ManagedObject: call to getBookmark() should not fail, if the object is not bookmarkable

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 ea6bdd3  ISIS-2686: ManagedObject: call to getBookmark() should not fail, if the object is not bookmarkable
ea6bdd3 is described below

commit ea6bdd32e24fdc9de6c4fda16ac9256ae41e0c91
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri May 21 18:56:45 2021 +0200

    ISIS-2686: ManagedObject: call to getBookmark() should not fail, if the
    object is not bookmarkable
    
    just return an empty Optional
---
 .../core/metamodel/spec/ManagedObjectInternalUtil.java | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjectInternalUtil.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjectInternalUtil.java
index 9e5629a..108fff0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjectInternalUtil.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjectInternalUtil.java
@@ -65,20 +65,24 @@ final class ManagedObjectInternalUtil {
 
     };
 
-    static Optional<ObjectManager> objectManager(@Nullable ManagedObject adapter) {
+    static Optional<ObjectManager> objectManager(final @Nullable ManagedObject adapter) {
         return ManagedObjects.spec(adapter)
-        .map(ObjectSpecification::getMetaModelContext)
-        .map(MetaModelContext::getObjectManager);
+            .map(ObjectSpecification::getMetaModelContext)
+            .map(MetaModelContext::getObjectManager);
     }
 
-    static Optional<Bookmark> identify(@Nullable ManagedObject adapter) {
-        return objectManager(adapter)
-                .map(objectManager->objectManager.bookmarkObject(adapter));
+    static Optional<Bookmark> identify(final @Nullable ManagedObject adapter) {
+        return ManagedObjects.isIdentifiable(adapter)
+                ? objectManager(adapter)
+                        .map(objectManager->objectManager.bookmarkObject(adapter))
+                : Optional.empty();
     }
 
     // -- TITLE SUPPORT
 
-    static String titleString(@Nullable ManagedObject managedObject, @NonNull Predicate<ManagedObject> isContextAdapter) {
+    static String titleString(
+            final @Nullable ManagedObject managedObject,
+            final @NonNull Predicate<ManagedObject> isContextAdapter) {
 
         if(!ManagedObjects.isSpecified(managedObject)) {
             return "unspecified object";