You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2015/09/15 08:03:27 UTC

[22/50] [abbrv] isis git commit: ISIS-1194: removing duplication between ServicesInjector interface and DomainObjectServices interface.

ISIS-1194: removing duplication between ServicesInjector interface and DomainObjectServices interface.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/3ca02b28
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/3ca02b28
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/3ca02b28

Branch: refs/heads/master
Commit: 3ca02b28076a4844ea793fa39878f457c93f0e84
Parents: af2375b
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon Sep 14 07:34:46 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon Sep 14 07:36:29 2015 +0100

----------------------------------------------------------------------
 .../runtimecontext/DomainObjectServices.java    | 10 ---------
 .../noruntime/RuntimeContextNoRuntime.java      | 16 --------------
 .../container/DomainObjectContainerDefault.java | 17 ++++++++++++---
 .../internal/RuntimeContextFromSession.java     | 15 -------------
 .../system/persistence/PersistenceSession.java  | 22 +-------------------
 5 files changed, 15 insertions(+), 65 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/3ca02b28/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/DomainObjectServices.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/DomainObjectServices.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/DomainObjectServices.java
index 5041de2..88195f4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/DomainObjectServices.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/DomainObjectServices.java
@@ -42,16 +42,6 @@ public interface DomainObjectServices extends Injectable {
 
 
     // ///////////////////////////////////////////
-    // services
-    // ///////////////////////////////////////////
-
-    void injectServicesInto(Object domainObject);
-
-    <T> T lookupService(Class<T> service);
-
-    <T> Iterable<T> lookupServices(Class<T> service);
-
-    // ///////////////////////////////////////////
     // retrieve
     // ///////////////////////////////////////////
 

http://git-wip-us.apache.org/repos/asf/isis/blob/3ca02b28/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/noruntime/RuntimeContextNoRuntime.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/noruntime/RuntimeContextNoRuntime.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/noruntime/RuntimeContextNoRuntime.java
index bc1c814..5402e09 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/noruntime/RuntimeContextNoRuntime.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/noruntime/RuntimeContextNoRuntime.java
@@ -240,22 +240,6 @@ public class RuntimeContextNoRuntime extends RuntimeContextAbstract {
             public String getProperty(final String name) {
                 throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
             }
-
-            @Override
-            public void injectServicesInto(Object domainObject) {
-                throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
-            }
-
-            @Override
-            public <T> T lookupService(final Class<T> service) {
-                throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
-            }
-
-            @Override
-            public <T> Iterable<T> lookupServices(final Class<T> service) {
-                throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
-            }
-
         };
         localizationProvider = new LocalizationProviderAbstract() {
 

http://git-wip-us.apache.org/repos/asf/isis/blob/3ca02b28/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
index 33d8aa6..df8eadf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
@@ -69,6 +69,8 @@ import org.apache.isis.core.metamodel.adapter.version.ConcurrencyException;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.consent.InteractionResult;
 import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet;
+import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
+import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 import org.apache.isis.core.metamodel.services.container.query.QueryFindByPattern;
 import org.apache.isis.core.metamodel.services.container.query.QueryFindByTitle;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -79,6 +81,7 @@ import org.apache.isis.core.metamodel.spec.SpecificationLoaderAware;
 public class DomainObjectContainerDefault
         implements DomainObjectContainer, QuerySubmitterAware, DomainObjectServicesAware,
         ObjectPersistorAware, SpecificationLoaderAware, AuthenticationSessionProviderAware, AdapterManagerAware,
+        ServicesInjectorAware,
         LocalizationProviderAware, ExceptionRecognizer {
 
     //region > titleOf
@@ -208,20 +211,20 @@ public class DomainObjectContainerDefault
     @Programmatic
     @Override
     public <T> T injectServicesInto(T domainObject) {
-        getDomainObjectServices().injectServicesInto(unwrapped(domainObject));
+        servicesInjector.injectServicesInto(unwrapped(domainObject));
         return domainObject;
     }
 
     @Programmatic
     @Override
     public <T> T lookupService(final Class<T> service) {
-        return getDomainObjectServices().lookupService(service);
+        return servicesInjector.lookupService(service);
     }
 
     @Programmatic
     @Override
     public <T> Iterable<T> lookupServices(final Class<T> service) {
-        return getDomainObjectServices().lookupServices(service);
+        return servicesInjector.lookupServices(service);
     }
 
     //endregion
@@ -751,6 +754,7 @@ public class DomainObjectContainerDefault
     private AuthenticationSessionProvider authenticationSessionProvider;
     private AdapterManager adapterManager;
     private LocalizationProvider localizationProvider;
+    private ServicesInjector servicesInjector;
 
     protected QuerySubmitter getQuerySubmitter() {
         return querySubmitter;
@@ -816,6 +820,13 @@ public class DomainObjectContainerDefault
     public void setLocalizationProvider(final LocalizationProvider localizationProvider) {
         this.localizationProvider = localizationProvider;
     }
+
+    @Override
+    public void setServicesInjector(final ServicesInjector servicesInjector) {
+        this.servicesInjector = servicesInjector;
+    }
+
+
     //endregion
 
     //region > service dependencies

http://git-wip-us.apache.org/repos/asf/isis/blob/3ca02b28/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/internal/RuntimeContextFromSession.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/internal/RuntimeContextFromSession.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/internal/RuntimeContextFromSession.java
index b1d599c..a568184 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/internal/RuntimeContextFromSession.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/internal/RuntimeContextFromSession.java
@@ -230,21 +230,6 @@ public class RuntimeContextFromSession extends RuntimeContextAbstract {
                 return RuntimeContextFromSession.this.getPropertyNames();
             }
 
-            @Override
-            public void injectServicesInto(Object domainObject) {
-                getPersistenceSession().getServicesInjector().injectServicesInto(domainObject);
-            }
-
-            @Override
-            public <T> T lookupService(final Class<T> service) {
-                return getPersistenceSession().getServicesInjector().lookupService(service);
-            }
-
-            @Override
-            public <T> Iterable<T> lookupServices(final Class<T> service) {
-                return getPersistenceSession().getServicesInjector().lookupServices(service);
-            }
-
         };
         this.querySubmitter = new QuerySubmitterAbstract() {
 

http://git-wip-us.apache.org/repos/asf/isis/blob/3ca02b28/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
index 304d5ff..2ee67ab 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
@@ -1303,14 +1303,6 @@ public class PersistenceSession implements TransactionalResource, SessionScopedC
 
     // endregion
 
-    //region > ServicesInjector delegate methods
-
-    public void injectServicesInto(final Object domainObject) {
-        servicesInjector.injectInto(domainObject);
-    }
-
-    //endregion
-
     //region > TransactionManager delegate methods
     protected IsisTransaction getCurrentTransaction() {
         return transactionManager.getTransaction();
@@ -1333,7 +1325,7 @@ public class PersistenceSession implements TransactionalResource, SessionScopedC
 
         // need to do eagerly, because (if a viewModel then) a
         // viewModel's #viewModelMemento might need to use services
-        injectServicesInto(pojo);
+        servicesInjector.injectInto(pojo);
 
         final Version datastoreVersion = getVersionIfAny(pc);
 
@@ -1580,18 +1572,6 @@ public class PersistenceSession implements TransactionalResource, SessionScopedC
     }
 
 
-    @Override
-    public <T> T lookupService(final Class<T> service) {
-        return servicesInjector.lookupService(service);
-    }
-
-    @Override
-    public <T> Iterable<T> lookupServices(final Class<T> service) {
-        return servicesInjector.lookupServices(service);
-    }
-
-
-
 
     //endregion