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:27 UTC

[isis] branch ISIS-2769 created (now d4f8e9e)

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

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


      at d4f8e9e  ISIS-2769: removes WithPrereqs for BuilderScripts

This branch includes the following new commits:

     new d4f8e9e  ISIS-2769: removes WithPrereqs for BuilderScripts

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


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

Posted by da...@apache.org.
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);
-    }
-
-}
-