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;