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 2018/09/06 16:13:05 UTC

[isis] 18/18: ISIS-1976: further cleaning up

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

ahuber pushed a commit to branch ISIS-1976-rethink-object-adapters
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 4b7850bff21e012e8a230919269e42e3bfeaeab9
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Sep 6 15:11:54 2018 +0200

    ISIS-1976: further cleaning up
    
    Task-Url: https://issues.apache.org/jira/browse/ISIS-1976
---
 .../runtime/persistence/adapter/PojoAdapter.java   |  7 ++++---
 .../adaptermanager/ObjectAdapterContext.java       |  2 +-
 ...ObjectAdapterContext_ObjectAdapterProvider.java |  1 -
 .../ObjectAdapterContext_ServiceLookup.java        | 22 +++++++++++-----------
 4 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java
index c335815..2411c26 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.core.runtime.persistence.adapter;
 
+import java.util.function.Function;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -55,7 +57,7 @@ public class PojoAdapter extends InstanceAbstract implements ObjectAdapter {
     /**
      * can be {@link #replacePojo(Object) replace}d.
      */
-    private Object pojo;
+    private final Object pojo;
     /**
      * can be {@link #replaceOid(Oid) replace}d.
      */
@@ -83,8 +85,7 @@ public class PojoAdapter extends InstanceAbstract implements ObjectAdapter {
         this.pojo = pojo;
         this.oid = oid;
     }
-
-
+    
     // -- getSpecification
 
     /**
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext.java
index 44fc112..3f43ace 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext.java
@@ -245,7 +245,7 @@ public class ObjectAdapterContext {
     // -- SERVICE LOOKUP
     
     public ObjectAdapter lookupServiceAdapterFor(RootOid rootOid) {
-        return serviceLookupMixin.serviceAdapterFor(rootOid);
+        return serviceLookupMixin.lookupServiceAdapterFor(rootOid);
     }
     
     // -- FACTORIES
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_ObjectAdapterProvider.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_ObjectAdapterProvider.java
index b231b0c..d8f422d 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_ObjectAdapterProvider.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_ObjectAdapterProvider.java
@@ -30,7 +30,6 @@ import org.apache.isis.core.commons.ensure.Assert;
 import org.apache.isis.core.metamodel.IsisJdoMetamodelPlugin;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapterProvider;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.adapter.oid.RootOid;
 import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_ServiceLookup.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_ServiceLookup.java
index ae92baa..f6ff249 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_ServiceLookup.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_ServiceLookup.java
@@ -24,6 +24,8 @@ import java.util.Objects;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import org.apache.isis.commons.internal.base._Timing;
+import org.apache.isis.commons.internal.base._Timing.StopWatch;
 import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.commons.internal.context._Context;
 import org.apache.isis.core.commons.ensure.Assert;
@@ -52,22 +54,16 @@ class ObjectAdapterContext_ServiceLookup {
         this.servicesInjector = servicesInjector;
     }
 
-    ObjectAdapter serviceAdapterFor(RootOid rootOid) {
+    ObjectAdapter lookupServiceAdapterFor(RootOid rootOid) {
         
         final ServicesByIdResource servicesByIdResource =
                 _Context.computeIfAbsent(ServicesByIdResource.class, cls->initLookupResource());
         
-        try {
-            final Object serviceInstance = servicesByIdResource.lookupServiceInstance(rootOid);
-            if(serviceInstance==null) {
-                return null;
-            }
-            return objectAdapterContext.getFactories().createRootAdapter(serviceInstance, rootOid);
-        } catch (Exception e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-            throw new IllegalStateException("Could not resolve service for id '" + rootOid.enStringNoVersion() + "'");
+        final Object serviceInstance = servicesByIdResource.lookupServiceInstance(rootOid);
+        if(serviceInstance==null) {
+            return null;
         }
+        return objectAdapterContext.getFactories().createRootAdapter(serviceInstance, rootOid);
         
     }
     
@@ -93,6 +89,8 @@ class ObjectAdapterContext_ServiceLookup {
         
         objectAdapterContext.printContextInfo("INIT SERVICE ID LOOKUP RESOURCE");
         
+        StopWatch watch = _Timing.now();
+        
         final ServicesByIdResource lookupResource = new ServicesByIdResource();
         
         servicesInjector.streamRegisteredServiceInstances()
@@ -102,6 +100,8 @@ class ObjectAdapterContext_ServiceLookup {
             lookupResource.servicesById.put((RootOid)serviceAdapter.getOid() , serviceAdapter.getObject());
         });
         
+        objectAdapterContext.printContextInfo("took (µs) "+watch.stop().getMicros());
+        
         return lookupResource;
     }