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;
}