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 2019/11/27 18:05:44 UTC

[isis] branch 2177-object-manager updated: ISIS-2177: cleaning up BookmarkService implementation

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

ahuber pushed a commit to branch 2177-object-manager
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/2177-object-manager by this push:
     new abe978b  ISIS-2177: cleaning up BookmarkService implementation
abe978b is described below

commit abe978b53a6c5ea13b1fc34ea7579604b2b657bf
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Nov 27 19:05:34 2019 +0100

    ISIS-2177: cleaning up BookmarkService implementation
---
 ...nalDefault.java => BookmarkServiceDefault.java} | 83 +++-------------------
 1 file changed, 9 insertions(+), 74 deletions(-)

diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/bookmarks/BookmarkServiceInternalDefault.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/bookmarks/BookmarkServiceDefault.java
similarity index 66%
rename from core/runtime-services/src/main/java/org/apache/isis/runtime/services/bookmarks/BookmarkServiceInternalDefault.java
rename to core/runtime-services/src/main/java/org/apache/isis/runtime/services/bookmarks/BookmarkServiceDefault.java
index 6d21401..12b60af 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/bookmarks/BookmarkServiceInternalDefault.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/bookmarks/BookmarkServiceDefault.java
@@ -37,7 +37,6 @@ import org.apache.isis.commons.internal.base._Casts;
 import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.collections._Sets;
 import org.apache.isis.commons.internal.memento._Mementos.SerializingAdapter;
-import org.apache.isis.metamodel.adapter.oid.ObjectNotFoundException;
 import org.apache.isis.metamodel.objectmanager.ObjectManager;
 import org.apache.isis.metamodel.objectmanager.load.ObjectLoader;
 import org.apache.isis.metamodel.spec.ManagedObject;
@@ -50,7 +49,7 @@ import lombok.val;
  *
  */
 @Service
-public class BookmarkServiceInternalDefault implements BookmarkService, SerializingAdapter {
+public class BookmarkServiceDefault implements BookmarkService, SerializingAdapter {
 
     @Inject private SpecificationLoader specificationLoader;
     @Inject private WrapperFactory wrapperFactory;
@@ -63,64 +62,19 @@ public class BookmarkServiceInternalDefault implements BookmarkService, Serializ
         return bookmark != null? lookup(bookmark): null;
     }
 
-    private Object lookupInternal(Bookmark bookmark, boolean denyRefresh) {
-        
-        if(bookmark == null) {
-            return null;
-        }
-        try {
-            
-            val spec = specificationLoader.loadSpecification(bookmark.getClass());
-            val identifier = bookmark.getIdentifier();
-            val objectLoadRequest = ObjectLoader.Request.of(spec, identifier);
-            
-            val adapter = objectManager.loadObject(objectLoadRequest);
-            
-            return adapter.getPojo();
-            
-            //legacy of
-            
-//            val rootOid = Factory.ofBookmark(bookmark);
-//
-//            if(rootOid.isViewModel()) {
-//                final ObjectAdapter adapter = ps.adapterFor(rootOid);
-//                final Object pojo = mapIfPresentElse(adapter, ObjectAdapter::getPojo, null);
-//
-//                return pojo;
-//
-//            } 
-//            if(denyRefresh) {
-//
-//                val pojo = ps.fetchPersistentPojoInTransaction(rootOid);
-//                return pojo;            
-//
-//            } 
-//            
-//            val adapter = ps.adapterFor(rootOid);
-//
-//            val pojo = mapIfPresentElse(adapter, ObjectAdapter::getPojo, null);
-//            acceptIfPresent(pojo, ps::refreshRootInTransaction);
-//            return pojo;
-            
-        } catch(ObjectNotFoundException ex) {
-            return null;
-        }
-    }
-    
-
     @Override
     public Object lookup(Bookmark bookmark) {
-        
         if(bookmark == null) {
             return null;
         }
-        //FIXME[2112] why would we ever store Service Beans as Bookmarks?        
-        //        final String objectType = bookmark.getObjectType();
-        //        final Object service = lookupService(objectType);
-        //        if(service != null) {
-        //            return service;
-        //        }
-        return lookupInternal(bookmark, true);
+        
+        val spec = specificationLoader.loadSpecification(bookmark.getClass());
+        val identifier = bookmark.getIdentifier();
+        val objectLoadRequest = ObjectLoader.Request.of(spec, identifier);
+        
+        val adapter = objectManager.loadObject(objectLoadRequest);
+        
+        return adapter.getPojo();
     }
 
     @Override
@@ -149,25 +103,6 @@ public class BookmarkServiceInternalDefault implements BookmarkService, Serializ
         return new Bookmark(objectType, identifier);
     }
 
-    //FIXME[2112] why would we ever store Service Beans as Bookmarks?
-    //    private Map<String,Object> servicesByClassName;
-    //    private Object lookupService(final String className) {
-    //        cacheServicesByClassNameIfNecessary();
-    //        return servicesByClassName.get(className);
-    //    }
-    //
-    //    private void cacheServicesByClassNameIfNecessary() {
-    //        if (servicesByClassName == null) {
-    //            final Map<String,Object> servicesByClassName = _Maps.newHashMap();
-    //            final Stream<Object> registeredServices = serviceRegistry.streamServices();
-    //            registeredServices.forEach(registeredService->{
-    //                final String serviceClassName = registeredService.getClass().getName();
-    //                servicesByClassName.put(serviceClassName, registeredService);
-    //            });
-    //            this.servicesByClassName = servicesByClassName;
-    //        }
-    //    }
-
     // -- SERIALIZING ADAPTER IMPLEMENTATION
 
     @Override