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/11/02 19:35:50 UTC

[06/12] isis git commit: ISIS-1184: inject services into Specification implementations...

ISIS-1184: inject services into Specification implementations...

... as per @ActionParameter(mustSatisfy=...) etc


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

Branch: refs/heads/master
Commit: 3693daaae4f74d78ec545f91160de001f30fffb3
Parents: 7e53c03
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon Nov 2 10:08:02 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon Nov 2 14:34:03 2015 +0000

----------------------------------------------------------------------
 .../MustSatisfySpecificationFacetAbstract.java               | 8 ++++++++
 ...SatisfySpecificationFacetFactoryProcessParameterTest.java | 6 ++++++
 ...tSatisfySpecificationFacetFactoryProcessPropertyTest.java | 4 ++++
 3 files changed, 18 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/3693daaa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/mustsatisfyspec/MustSatisfySpecificationFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/mustsatisfyspec/MustSatisfySpecificationFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/mustsatisfyspec/MustSatisfySpecificationFacetAbstract.java
index 19345c0..755338b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/mustsatisfyspec/MustSatisfySpecificationFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/mustsatisfyspec/MustSatisfySpecificationFacetAbstract.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.objectvalue.mustsatisfyspec;
 
 import java.util.List;
+
 import org.apache.isis.applib.events.ValidityEvent;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.applib.spec.Specification;
@@ -55,6 +56,7 @@ public abstract class MustSatisfySpecificationFacetAbstract extends FacetAbstrac
             final FacetHolder holder,
             final ServicesInjector servicesInjector) {
         super(type(), holder, Derivation.NOT_DERIVED);
+        inject(specifications, servicesInjector);
         this.specifications = specifications;
 
         final TranslationService translationService = servicesInjector.lookupService(TranslationService.class);
@@ -64,6 +66,12 @@ public abstract class MustSatisfySpecificationFacetAbstract extends FacetAbstrac
         specificationEvaluator = new SpecificationEvaluator(translationService, translationContext);
     }
 
+    private static void inject(
+            final List specifications, final ServicesInjector servicesInjector) {
+        final List<Object> specificationsAsObjects = specifications;
+        servicesInjector.injectServicesInto(specificationsAsObjects);
+    }
+
     @Override
     public String invalidates(final ValidityContext<? extends ValidityEvent> validityContext) {
         if (!(validityContext instanceof ProposedHolder)) {

http://git-wip-us.apache.org/repos/asf/isis/blob/3693daaa/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/MustSatisfySpecificationFacetFactoryProcessParameterTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/MustSatisfySpecificationFacetFactoryProcessParameterTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/MustSatisfySpecificationFacetFactoryProcessParameterTest.java
index 56f5894..e28e4a2 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/MustSatisfySpecificationFacetFactoryProcessParameterTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/MustSatisfySpecificationFacetFactoryProcessParameterTest.java
@@ -20,11 +20,14 @@
 package org.apache.isis.core.metamodel.facets.param.parameter;
 
 import java.lang.reflect.Method;
+import java.util.List;
+
 import org.jmock.Expectations;
 import org.jmock.auto.Mock;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessParameterContext;
@@ -68,6 +71,9 @@ public class MustSatisfySpecificationFacetFactoryProcessParameterTest {
             allowing(mockServicesInjector).lookupService(TranslationService.class);
             will(returnValue(mockTranslationService));
         }});
+        context.checking(new Expectations() {{
+            allowing(mockServicesInjector).injectServicesInto(with(any(List.class)));
+        }});
 
 
         domainObjectClassWithoutAnnotation = DomainObjectWithoutMustSatisfyAnnotations.class;

http://git-wip-us.apache.org/repos/asf/isis/blob/3693daaa/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
index 86fd746..67eafec 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.properties.property;
 
 import java.lang.reflect.Method;
+import java.util.List;
 
 import org.jmock.Expectations;
 import org.jmock.auto.Mock;
@@ -71,6 +72,9 @@ public class MustSatisfySpecificationFacetFactoryProcessPropertyTest {
             allowing(mockServicesInjector).lookupService(TranslationService.class);
             will(returnValue(mockTranslationService));
         }});
+        context.checking(new Expectations() {{
+            allowing(mockServicesInjector).injectServicesInto(with(any(List.class)));
+        }});
 
         domainObjectClassWithoutAnnotation = DomainObjectWithoutMustSatisfyAnnotations.class;
         domainObjectClassWithAnnotation = DomainObjectWithMustSatisfyAnnotations.class;