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>.