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

commit f8cf23222021969a8f247df7e79b40129156b98d
Author: Andi Huber <[email protected]>
AuthorDate: Mon Sep 5 05:25:50 2022 +0200

    ISIS-3199: further simplify ObjectBookmarker
---
 .../metamodel/objectmanager/ObjectBookmarker.java  | 53 ++--------------------
 1 file changed, 3 insertions(+), 50 deletions(-)

diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/ObjectBookmarker.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/ObjectBookmarker.java
index f1c92af48e..ad7fcdd096 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/ObjectBookmarker.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/ObjectBookmarker.java
@@ -18,13 +18,9 @@
  */
 package org.apache.isis.core.metamodel.objectmanager;
 
-import java.util.List;
 import java.util.Optional;
 
 import org.apache.isis.applib.services.bookmark.Bookmark;
-import org.apache.isis.applib.services.bookmark.Oid;
-import org.apache.isis.commons.handler.ChainOfResponsibility;
-import org.apache.isis.core.metamodel.object.Bookmarkable;
 import org.apache.isis.core.metamodel.object.ManagedObject;
 
 /**
@@ -34,56 +30,13 @@ public interface ObjectBookmarker {
 
     Optional<Bookmark> bookmarkObject(ManagedObject managedObject);
 
-    // -- HANDLER
-
-    public interface Handler extends 
ChainOfResponsibility.Handler<ManagedObject, Optional<Bookmark>> {}
-
     // -- FACTORY
 
     public static ObjectBookmarker createDefault() {
         return managedObject ->
-            ChainOfResponsibility.named(
-                    "ObjectBookmarker",
-                    handlers)
-            .handle(managedObject);
-    }
-
-    // -- HANDLERS
-
-    static final List<Handler> handlers = List.of(BuiltinHandlers.values());
-
-    enum BuiltinHandlers implements Handler {
-        GuardAgainstOid {
-            @Override public boolean isHandling(final ManagedObject 
managedObject) {
-                return managedObject.getPojo() instanceof Oid;
-            }
-            @Override
-            public Optional<Bookmark> handle(final ManagedObject 
managedObject) {
-                throw new IllegalArgumentException("Cannot create a Bookmark 
for pojo, "
-                        + "when pojo is instance of Bookmark. You might want 
to ask "
-                        + "ObjectAdapterByIdProvider for an ObjectAdapter 
instead.");
-            }
-        },
-        BookmarkForBookmarkable {
-            @Override
-            public boolean isHandling(final ManagedObject managedObject) {
-                return managedObject instanceof Bookmarkable;
-            }
-            @Override
-            public Optional<Bookmark> handle(final ManagedObject 
managedObject) {
-                return managedObject.getBookmark();
-            }
-        },
-        BookmarkForOthers {
-            @Override
-            public boolean isHandling(final ManagedObject managedObject) {
-                return true; // try to handle anything
-            }
-            @Override
-            public Optional<Bookmark> handle(final ManagedObject 
managedObject) {
-                return Optional.empty();
-            }
-        };
+            managedObject==null
+                    ? Optional.empty()
+                    : managedObject.getBookmark();
     }
 
 }

Reply via email to