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 2017/12/15 17:36:28 UTC

[isis] 02/04: ISIS-1782: overloads for calling persona fixture scripts

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

danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 4135ae4d67213c4674694f5b84d95ab3c05836da
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Dec 15 17:30:12 2017 +0000

    ISIS-1782: overloads for calling persona fixture scripts
---
 .../isis/applib/fixturescripts/FixtureScript.java    | 20 ++++++++++++++++----
 .../isis/core/runtime/headless/HeadlessAbstract.java |  5 +++++
 2 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScript.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScript.java
index 4536427..a9b9725 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScript.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScript.java
@@ -541,6 +541,13 @@ public abstract class FixtureScript
             return fixtureResultList.lookup(key, cls);
         }
 
+        @Programmatic
+        public void executeChild(
+                final FixtureScript callingFixtureScript,
+                final PersonaWithBuilderScript<?, ?> personaWithBuilderScript) {
+            executeChildren(callingFixtureScript, personaWithBuilderScript);
+        }
+
         /**
          * Executes a child {@link FixtureScript fixture script}, injecting services into it first, and (for any results
          * that are {@link org.apache.isis.applib.fixturescripts.FixtureScript.ExecutionContext#addResult(FixtureScript, Object)} added),
@@ -552,20 +559,25 @@ public abstract class FixtureScript
         }
 
         @Programmatic
-        public void executeChildren(final FixtureScript callingFixtureScript, final PersonaWithBuilderScript<?,?>... personaWithBuilderScripts) {
+        public void executeChildren(
+                final FixtureScript callingFixtureScript,
+                final PersonaWithBuilderScript<?, ?>... personaWithBuilderScripts) {
             for (PersonaWithBuilderScript<?, ?> builder : personaWithBuilderScripts) {
                 executeChild(callingFixtureScript, builder.builder());
             }
         }
 
         @Programmatic
-        public <T extends Enum<?> & PersonaWithBuilderScript<?,?>> void executeChildren(
-                final FixtureScript callingFixtureScript, final Class<T> personaClass) {
+        public <T extends Enum<?> & PersonaWithBuilderScript<?, ?>> void executeChildren(
+                final FixtureScript callingFixtureScript,
+                final Class<T> personaClass) {
             executeChildren(callingFixtureScript, personaClass.getEnumConstants());
         }
 
         @Programmatic
-        public void executeChildren(final FixtureScript callingFixtureScript, final FixtureScript... fixtureScripts) {
+        public void executeChildren(
+                final FixtureScript callingFixtureScript,
+                final FixtureScript... fixtureScripts) {
             for (FixtureScript fixtureScript : fixtureScripts) {
                 executeChild(callingFixtureScript, fixtureScript);
             }
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/HeadlessAbstract.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/HeadlessAbstract.java
index d8978d1..834258b 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/HeadlessAbstract.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/HeadlessAbstract.java
@@ -28,6 +28,7 @@ import org.apache.isis.applib.fixtures.FixtureClock;
 import org.apache.isis.applib.fixturescripts.BuilderScriptAbstract;
 import org.apache.isis.applib.fixturescripts.FixtureScript;
 import org.apache.isis.applib.fixturescripts.FixtureScripts;
+import org.apache.isis.applib.fixturescripts.PersonaWithBuilderScript;
 import org.apache.isis.applib.services.clock.ClockService;
 import org.apache.isis.applib.services.factory.FactoryService;
 import org.apache.isis.applib.services.metamodel.MetaModelService4;
@@ -56,6 +57,10 @@ public abstract class HeadlessAbstract {
         return this.fixtureScripts.runBuilderScript(fixtureScript);
     }
 
+    protected <P extends PersonaWithBuilderScript<T,F>, T,F extends BuilderScriptAbstract<T,F>> T runBuilderScript(final P persona) {
+        return runBuilderScript(persona.builder());
+    }
+
 
     /**
      * For convenience of subclasses, remove some boilerplate

-- 
To stop receiving notification emails like this one, please contact
"commits@isis.apache.org" <co...@isis.apache.org>.