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 2021/06/25 15:03:28 UTC

[isis] 01/01: ISIS-2769: removes WithPrereqs for BuilderScripts

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

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

commit d4f8e9e46d611a67c53b5b5ec63d331641cb163f
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Jun 25 16:03:08 2021 +0100

    ISIS-2769: removes WithPrereqs for BuilderScripts
---
 .../applib/fixturescripts/FixtureScript.java       | 17 --------
 .../applib/personas/BuilderScriptAbstract.java     | 25 +-----------
 .../fixtures/applib/personas/WithPrereqs.java      | 45 ----------------------
 3 files changed, 1 insertion(+), 86 deletions(-)

diff --git a/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/fixturescripts/FixtureScript.java b/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/fixturescripts/FixtureScript.java
index e45b6a0..10ebb97 100644
--- a/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/fixturescripts/FixtureScript.java
+++ b/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/fixturescripts/FixtureScript.java
@@ -51,7 +51,6 @@ import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 import org.apache.isis.testing.fixtures.applib.personas.BuilderScriptAbstract;
 import org.apache.isis.testing.fixtures.applib.personas.PersonaWithBuilderScript;
-import org.apache.isis.testing.fixtures.applib.personas.WithPrereqs;
 
 import lombok.Getter;
 import lombok.Setter;
@@ -578,14 +577,6 @@ public abstract class FixtureScript {
             case EXECUTE_ONCE_BY_CLASS:
                 previouslyExecutedScript = fixtureScriptByClass.get(childFixtureScript.getClass());
                 if (previouslyExecutedScript == null) {
-                    if (childFixtureScript instanceof WithPrereqs) {
-                        final WithPrereqs<?> withPrereqs = (WithPrereqs<?>) childFixtureScript;
-                        withPrereqs.execPrereqs(this);
-                    }
-                }
-                // the prereqs might now result in a match, so we check again.
-                previouslyExecutedScript = fixtureScriptByClass.get(childFixtureScript.getClass());
-                if (previouslyExecutedScript == null) {
                     childFixtureScript.execute(this);
                     this.previouslyExecuted.add(childFixtureScript);
                     fixtureScriptByClass.put(childFixtureScript.getClass(), childFixtureScript);
@@ -623,14 +614,6 @@ public abstract class FixtureScript {
         private <T extends FixtureScript> T executeChildIfNotAlreadyWithValueSemantics(final T childFixtureScript) {
             FixtureScript previouslyExecutedScript = fixtureScriptByValue.get(childFixtureScript);
             if (previouslyExecutedScript == null) {
-                if (childFixtureScript instanceof WithPrereqs) {
-                    final WithPrereqs<?> withPrereqs = (WithPrereqs<?>) childFixtureScript;
-                    withPrereqs.execPrereqs(this);
-                }
-            }
-            // the prereqs might now result in a match, so we check again.
-            previouslyExecutedScript = fixtureScriptByValue.get(childFixtureScript);
-            if (previouslyExecutedScript == null) {
                 childFixtureScript.execute(this);
                 this.previouslyExecuted.add(childFixtureScript);
                 fixtureScriptByValue.put(childFixtureScript, childFixtureScript);
diff --git a/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/personas/BuilderScriptAbstract.java b/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/personas/BuilderScriptAbstract.java
index e8b1ada..927cca2 100644
--- a/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/personas/BuilderScriptAbstract.java
+++ b/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/personas/BuilderScriptAbstract.java
@@ -18,10 +18,7 @@
  */
 package org.apache.isis.testing.fixtures.applib.personas;
 
-import java.util.List;
-
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
 import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScriptWithExecutionStrategy;
 import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScripts;
@@ -39,7 +36,7 @@ import lombok.Getter;
  * @since 2.x {@index}
  */
 public abstract class BuilderScriptAbstract<T>
-extends FixtureScript implements WithPrereqs<T>, FixtureScriptWithExecutionStrategy {
+extends FixtureScript implements FixtureScriptWithExecutionStrategy {
 
     @Getter(onMethod=@__({@Override}))
     private final FixtureScripts.MultipleExecutionStrategy multipleExecutionStrategy;
@@ -70,8 +67,6 @@ extends FixtureScript implements WithPrereqs<T>, FixtureScriptWithExecutionStrat
 
         parentFixtureScript.getServiceInjector().injectServicesInto(this);
 
-        execPrereqs(executionContext);
-
         // returns the fixture script that is run
         // (either this one, or possibly one previously executed).
         return executionContext.executeChildT(parentFixtureScript, this);
@@ -99,23 +94,5 @@ extends FixtureScript implements WithPrereqs<T>, FixtureScriptWithExecutionStrat
         return persona.findUsing(serviceRegistry);
     }
 
-    // -- PREREQUISITES
-
-    private final List<WithPrereqs.Block<T>> prereqs = _Lists.newArrayList();
-
-    @Override
-    public BuilderScriptAbstract<T> addPrereq(WithPrereqs.Block<T> prereq) {
-        prereqs.add(prereq);
-        return this;
-    }
-
-    @Override
-    public void execPrereqs(final ExecutionContext executionContext) {
-        for (final WithPrereqs.Block<T> prereq : prereqs) {
-            prereq.execute(this, executionContext);
-        }
-    }
-
-
 }
 
diff --git a/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/personas/WithPrereqs.java b/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/personas/WithPrereqs.java
deleted file mode 100644
index 71a528b..0000000
--- a/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/personas/WithPrereqs.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.testing.fixtures.applib.personas;
-
-import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
-
-/**
- * Provides a mechanism for {@link FixtureScript}s to specify prerequisites
- * to be executed first.
- *
- * <p>
- *     Most commonly used to chain {@link BuilderScriptAbstract}s in conjunction
- *     with personas.
- * </p>
- *
- * @since 2.x {@index}
- */
-public interface WithPrereqs<T> {
-
-    BuilderScriptAbstract<T> addPrereq(Block<T> prereq);
-
-    void execPrereqs(FixtureScript.ExecutionContext executionContext);
-
-    interface Block<T> {
-        void execute(BuilderScriptAbstract<T> onFixture, FixtureScript.ExecutionContext executionContext);
-    }
-
-}
-