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/03/11 07:14:01 UTC

[isis-app-simpleapp] branch jpa updated (1ea42fd -> 6977248)

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

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


    from 1ea42fd  api changes with approvaltests
     add f04665b  fixes datasource configuration
     add 9a36c32  CustomController: don't fail on empty result
     add 26c285d  framework packages had been renamed
     add b391bd9  api changes with approvaltests
     add 07fc201  updates approvals for metamodel
     add 15b2310  uses TransactionalProcessor service rather than TransactionService
     new 08261ee  reconciling with jdo
     new 5c8288a  more rationalizing
     add af2c09a  fixing up tests etc
     new 892e963  Merge branch 'jdo' into jpa
     new 620f3e6  splits out tests into their own modules (not yet building)
     new f1d82d2  fixes classpaths for tests; adds staging repository to top-level pom
     add 31ad3cb  splits out tests into their own modules (not yet building)
     add 51e3640  fixes compile issue
     add 4aeb68b  adds staging repository to top-level pom
     new c6ad1f6  Merge branch 'jdo' into jpa
     add 282a44c  updates github to run on all branches
     new 6977248  Merge branch 'jdo' into jpa

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


Summary of changes:
 .github/workflows/mavenJdk15.yml                   |  12 +-
 .github/workflows/mavenJdk8.yml                    |  12 +-
 {module-simple => module-simple-tests}/.gitignore  |   0
 .../log4j2-test.xml                                |   0
 {module-simple => module-simple-tests}/pom.xml     |  49 ++----
 .../modules/simple/dom/so/SimpleObject_Test.java   |   0
 .../modules/simple/dom/so/SimpleObjects_Test.java  |   7 +-
 .../integtests/SimpleModuleIntegTestAbstract.java  |   7 +-
 .../integtests/SimpleModuleTestConfiguration.java  |   2 +-
 .../integtests/tests/SimpleObject_IntegTest.java   |   0
 .../integtests/tests/SimpleObjects_IntegTest.java  |   3 +-
 .../src/test/resources/application-test.yml        |   4 +
 module-simple/pom.xml                              |  39 +----
 .../domainapp/modules/simple/SimpleModule.java     |   6 +-
 .../modules/simple/dom/so/SimpleObjects.java       |  19 +--
 pom.xml                                            |  43 ++++--
 {webapp => webapp-tests}/log4j2-test.xml           |   0
 webapp-tests/pom.xml                               | 172 +++++++++++++++++++++
 .../domainapp/webapp/bdd/CucumberTestAbstract.java |  12 +-
 .../domainapp/webapp/bdd/specs/CucumberTest.java   |   0
 .../webapp/bdd/stepdefs/BddStepDefsModule.java     |   0
 .../bdd/stepdefs/domain/SimpleObjectsContext.java  |   0
 .../domain/SimpleObjectsGivenThenStepDef.java      |   0
 .../stepdefs/domain/SimpleObjectsWhenStepDef.java  |   0
 .../stepdefs/fixtures/DomainAppDemoStepDef.java    |   0
 .../stepdefs/infrastructure/BootstrapStepDef.java  |   4 +-
 .../infrastructure/TransactionalStepDef.java       |   0
 .../webapp/integtests/WebAppIntegTestAbstract.java |  58 +++++++
 .../metamodel/SwaggerExport_IntegTest.java         |   4 +-
 .../metamodel/ValidateDomainModel_IntegTest.java   |  10 +-
 .../lockdown/LockDownMetaModel_IntegTest.java      |   6 +-
 ...ainapp.modules.simple.dom.impl.SimpleObject.xml |  18 ++-
 ...inapp.modules.simple.dom.impl.SimpleObjects.xml |   0
 ...omainapp.modules.simple.dom.so.SimpleObject.xml |  18 ++-
 ...mainapp.modules.simple.dom.so.SimpleObjects.xml |   0
 ...app.modules.simple.types.Name$Specification.xml |   0
 ...omainAppFixtureScriptsSpecificationProvider.xml |   0
 ...tion.services.health.HealthCheckServiceImpl.xml |   0
 ...ication.services.homepage.HomePageViewModel.xml |  18 ++-
 .../metamodel/lockdown/current/.gitignore          |   0
 .../webapp/integtests/smoke/Smoke_IntegTest.java   |   4 +-
 .../unittests/archunit/ArchitectureTests.java      |   0
 .../mavendeps/lockdown/LockDownMavenDeps_Test.java |   0
 .../approved/LockDownMavenDeps_Test.list.txt       |   0
 .../approved/LockDownMavenDeps_Test.tree.txt       |   0
 .../mavendeps/lockdown/current/.gitignore          |   0
 .../util/CurrentVsApprovedApprovalTextWriter.java  |  13 ++
 .../src/test/resources/application-test.yml        |   4 +
 .../SimpleObjectSpec_listAllAndCreate.feature      |   0
 .../bdd/specs/SimpleObjectSpec_updateName.feature  |   0
 .../src/test/resources/junit-platform.properties   |   0
 webapp/pom.xml                                     | 155 +------------------
 .../services/health/HealthCheckServiceImpl.java    |   1 -
 .../webapp/custom/restapi/CustomController.java    |  45 +++---
 .../integtests/ApplicationIntegTestAbstract.java   |  25 ---
 .../SimpleWebAppTestConfiguration_usingJpa.java    |  59 -------
 .../util/CurrentVsApprovedApprovalTextWriter.java  |  34 ----
 57 files changed, 412 insertions(+), 451 deletions(-)
 copy {module-simple => module-simple-tests}/.gitignore (100%)
 rename {module-simple => module-simple-tests}/log4j2-test.xml (100%)
 copy {module-simple => module-simple-tests}/pom.xml (56%)
 rename {module-simple => module-simple-tests}/src/test/java/domainapp/modules/simple/dom/so/SimpleObject_Test.java (100%)
 rename {module-simple => module-simple-tests}/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java (98%)
 rename {module-simple => module-simple-tests}/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java (66%)
 rename module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration_usingJpa.java => module-simple-tests/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration.java (97%)
 rename {module-simple => module-simple-tests}/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java (100%)
 rename {module-simple => module-simple-tests}/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java (94%)
 create mode 100644 module-simple-tests/src/test/resources/application-test.yml
 rename {webapp => webapp-tests}/log4j2-test.xml (100%)
 create mode 100644 webapp-tests/pom.xml
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/bdd/CucumberTestAbstract.java (78%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/bdd/specs/CucumberTest.java (100%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/bdd/stepdefs/BddStepDefsModule.java (100%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsContext.java (100%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsGivenThenStepDef.java (100%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsWhenStepDef.java (100%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/bdd/stepdefs/fixtures/DomainAppDemoStepDef.java (100%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/BootstrapStepDef.java (63%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/TransactionalStepDef.java (100%)
 create mode 100644 webapp-tests/src/test/java/domainapp/webapp/integtests/WebAppIntegTestAbstract.java
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/integtests/metamodel/SwaggerExport_IntegTest.java (86%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java (60%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java (95%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml (99%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml (100%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObject.xml (99%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObjects.xml (100%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.types.Name$Specification.xml (100%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml (100%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.health.HealthCheckServiceImpl.xml (100%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml (99%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/current/.gitignore (100%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java (94%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/unittests/archunit/ArchitectureTests.java (100%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/LockDownMavenDeps_Test.java (100%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.list.txt (100%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.tree.txt (100%)
 rename {webapp => webapp-tests}/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/current/.gitignore (100%)
 create mode 100644 webapp-tests/src/test/java/domainapp/webapp/util/CurrentVsApprovedApprovalTextWriter.java
 create mode 100644 webapp-tests/src/test/resources/application-test.yml
 rename {webapp => webapp-tests}/src/test/resources/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature (100%)
 rename {webapp => webapp-tests}/src/test/resources/domainapp/webapp/bdd/specs/SimpleObjectSpec_updateName.feature (100%)
 rename {webapp => webapp-tests}/src/test/resources/junit-platform.properties (100%)
 delete mode 100644 webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
 delete mode 100644 webapp/src/test/java/domainapp/webapp/integtests/smoke/SimpleWebAppTestConfiguration_usingJpa.java
 delete mode 100644 webapp/src/test/java/domainapp/webapp/util/CurrentVsApprovedApprovalTextWriter.java


[isis-app-simpleapp] 07/07: Merge branch 'jdo' into jpa

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 6977248748f018459019d23c5fd83ee4572e39db
Merge: c6ad1f6 282a44c
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Mar 11 07:13:01 2021 +0000

    Merge branch 'jdo' into jpa

 .github/workflows/mavenJdk15.yml | 12 ++++++++++--
 .github/workflows/mavenJdk8.yml  | 12 ++++++++++--
 2 files changed, 20 insertions(+), 4 deletions(-)


[isis-app-simpleapp] 02/07: more rationalizing

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 5c8288ad274b858ca98d1136366bc58703d28bd7
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Mar 9 22:02:49 2021 +0000

    more rationalizing
---
 .../modules/simple/dom/so/SimpleObjects.java       | 19 +++----
 .../modules/simple/dom/so/SimpleObjects_Test.java  |  7 ++-
 .../integtests/SimpleModuleIntegTestAbstract.java  |  7 ++-
 ...Jpa.java => SimpleModuleTestConfiguration.java} |  2 +-
 .../integtests/tests/SimpleObjects_IntegTest.java  |  3 +-
 .../src/test/resources/application-test.yml        |  4 ++
 pom.xml                                            |  2 +-
 .../services/health/HealthCheckServiceImpl.java    |  1 -
 .../webapp/custom/restapi/CustomController.java    | 45 +++++++++--------
 .../domainapp/webapp/bdd/CucumberTestAbstract.java | 12 ++---
 .../stepdefs/infrastructure/BootstrapStepDef.java  |  4 +-
 .../integtests/ApplicationIntegTestAbstract.java   | 25 ---------
 .../webapp/integtests/WebAppIntegTestAbstract.java | 58 +++++++++++++++++++++
 .../metamodel/SwaggerExport_IntegTest.java         |  4 +-
 .../metamodel/ValidateDomainModel_IntegTest.java   | 10 ++--
 .../lockdown/LockDownMetaModel_IntegTest.java      |  6 +--
 .../SimpleWebAppTestConfiguration_usingJpa.java    | 59 ----------------------
 .../webapp/integtests/smoke/Smoke_IntegTest.java   |  4 +-
 .../util/CurrentVsApprovedApprovalTextWriter.java  | 25 +--------
 webapp/src/test/resources/application-test.yml     |  4 ++
 20 files changed, 128 insertions(+), 173 deletions(-)

diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java
index b3e42c5..3eb9a5c 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java
@@ -64,17 +64,14 @@ public class SimpleObjects {
 
     @Programmatic
     public void ping() {
-        jpaSupportService.getEntityManager(SimpleObject.class).ifSuccess(x -> {
-            final TypedQuery<SimpleObject> q = x.createQuery("SELECT p FROM SimpleObject p ORDER BY p.name",
-                    SimpleObject.class).setMaxResults(1);
-            q.getResultList();
-        });
-
-//        final TypedQuery<SimpleObject> q = entityManager.createQuery("SELECT p FROM SimpleObject p ORDER BY p.name",
-//                SimpleObject.class).setMaxResults(1);
-//        q.getResultList();
+        jpaSupportService.getEntityManager(SimpleObject.class)
+            .ifSuccess(entityManager -> {
+                final TypedQuery<SimpleObject> q = entityManager.createQuery(
+                        "SELECT p FROM SimpleObject p ORDER BY p.name",
+                        SimpleObject.class)
+                    .setMaxResults(1);
+                q.getResultList();
+            });
     }
 
-//    @PersistenceContext EntityManager entityManager;
-
 }
diff --git a/module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java b/module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java
index 9d9dbc3..88eaeb0 100644
--- a/module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java
+++ b/module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java
@@ -5,7 +5,6 @@ import java.util.List;
 import java.util.Objects;
 
 import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
@@ -14,13 +13,13 @@ import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
 import org.mockito.stubbing.Answer;
 
-import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.persistence.jpa.applib.services.JpaSupportService;
-
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.ArgumentMatchers.argThat;
 import static org.mockito.Mockito.when;
 
+import org.apache.isis.applib.services.repository.RepositoryService;
+import org.apache.isis.persistence.jpa.applib.services.JpaSupportService;
+
 @ExtendWith(MockitoExtension.class)
 class SimpleObjects_Test {
 
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java b/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
index 952f6e4..dc42df0 100644
--- a/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
+++ b/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
@@ -1,16 +1,15 @@
 package domainapp.modules.simple.integtests;
 
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.ActiveProfiles;
 
 import org.apache.isis.testing.fixtures.applib.IsisIntegrationTestAbstractWithFixtures;
 
 
 @SpringBootTest(
-        classes = {
-                SimpleModuleTestConfiguration_usingJpa.class
-        },
-        properties = "isis.persistence.jpa.auto-create-schemas=simple"
+        classes = SimpleModuleTestConfiguration.class
 )
+@ActiveProfiles("test")
 public abstract class SimpleModuleIntegTestAbstract extends IsisIntegrationTestAbstractWithFixtures {
 
 }
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration_usingJpa.java b/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration.java
similarity index 97%
rename from module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration_usingJpa.java
rename to module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration.java
index 599f571..c2a63fb 100644
--- a/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration_usingJpa.java
+++ b/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration.java
@@ -53,7 +53,7 @@ import domainapp.modules.simple.SimpleModule;
     @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
     @PropertySource(IsisPresets.UseLog4j2Test),
 })
-public class SimpleModuleTestConfiguration_usingJpa {
+public class SimpleModuleTestConfiguration {
 
 
 }
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java b/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
index b3e1b02..443045c 100644
--- a/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
+++ b/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
@@ -6,6 +6,7 @@ import javax.inject.Inject;
 
 import org.hamcrest.MatcherAssert;
 import org.junit.jupiter.api.Test;
+import org.springframework.dao.DuplicateKeyException;
 import org.springframework.orm.jpa.JpaSystemException;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -82,7 +83,7 @@ public class SimpleObjects_IntegTest extends SimpleModuleIntegTestAbstract {
 
             // also expect
             MatcherAssert.assertThat(cause,
-                    ThrowableMatchers.causedBy(JpaSystemException.class));
+                    ThrowableMatchers.causedBy(DuplicateKeyException.class));
 
         }
 
diff --git a/module-simple/src/test/resources/application-test.yml b/module-simple/src/test/resources/application-test.yml
new file mode 100644
index 0000000..3a68cae
--- /dev/null
+++ b/module-simple/src/test/resources/application-test.yml
@@ -0,0 +1,4 @@
+isis:
+  persistence:
+    schema:
+      auto-create-schemas: "simple"
diff --git a/pom.xml b/pom.xml
index 4a3dc3a..2d61f86 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.apache.isis.app</groupId>
         <artifactId>isis-app-starter-parent</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath/>
     </parent>
 
diff --git a/webapp/src/main/java/domainapp/webapp/application/services/health/HealthCheckServiceImpl.java b/webapp/src/main/java/domainapp/webapp/application/services/health/HealthCheckServiceImpl.java
index 19a0dca..4f16352 100644
--- a/webapp/src/main/java/domainapp/webapp/application/services/health/HealthCheckServiceImpl.java
+++ b/webapp/src/main/java/domainapp/webapp/application/services/health/HealthCheckServiceImpl.java
@@ -12,7 +12,6 @@ import domainapp.modules.simple.dom.so.SimpleObjects;
 
 @Service
 @Named("domainapp.HealthCheckServiceImpl")
-//@Log4j2
 public class HealthCheckServiceImpl implements HealthCheckService {
 
     private final SimpleObjects simpleObjects;
diff --git a/webapp/src/main/java/domainapp/webapp/custom/restapi/CustomController.java b/webapp/src/main/java/domainapp/webapp/custom/restapi/CustomController.java
index 53f86bc..39972d8 100644
--- a/webapp/src/main/java/domainapp/webapp/custom/restapi/CustomController.java
+++ b/webapp/src/main/java/domainapp/webapp/custom/restapi/CustomController.java
@@ -23,26 +23,27 @@ import domainapp.modules.simple.dom.so.SimpleObjects;
 @RequiredArgsConstructor
 class CustomController {
 
-  private final InteractionFactory interactionFactory;
-  private final TransactionalProcessor transactionalProcessor;
-  private final SimpleObjects repository;
-
-  @GetMapping("/custom/simpleObjects")
-  List<SimpleObject> all() {
-    return callAuthenticated(newAuthentication(), () -> repository.listAll())
-            .optionalElseFail() // re-throws exception that has occurred, if any
-            .orElse(Collections.emptyList()); // handles null case, if required
-  }
-
-  private SimpleAuthentication newAuthentication() {
-    return SimpleAuthentication.validOf(UserMemento.ofName("sven"));
-  }
-
-  private <T> Result<T> callAuthenticated(
-          final Authentication authentication,
-          final Callable<T> task) {
-    return interactionFactory.callAuthenticated(
-            authentication,
-            () -> transactionalProcessor.callWithinCurrentTransactionElseCreateNew(task));
-  }
+    private final InteractionFactory interactionFactory;
+    private final TransactionalProcessor transactionalProcessor;
+    private final SimpleObjects repository;
+
+    @GetMapping("/custom/simpleObjects")
+    List<SimpleObject> all() {
+        return callAuthenticated(newAuthentication(), () -> repository.listAll())
+                .optionalElseFail() // re-throws exception that has occurred, if any
+                .orElse(Collections.emptyList()); // handles null case, if required
+    }
+
+    private SimpleAuthentication newAuthentication() {
+        return SimpleAuthentication.validOf(UserMemento.ofName("sven"));
+    }
+
+    private <T> Result<T> callAuthenticated(
+            final Authentication authentication,
+            final Callable<T> task) {
+
+        return interactionFactory.callAuthenticated(
+                authentication,
+                () -> transactionalProcessor.callWithinCurrentTransactionElseCreateNew(task));
+    }
 }
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/CucumberTestAbstract.java b/webapp/src/test/java/domainapp/webapp/bdd/CucumberTestAbstract.java
index 57f44c5..43c9e50 100644
--- a/webapp/src/test/java/domainapp/webapp/bdd/CucumberTestAbstract.java
+++ b/webapp/src/test/java/domainapp/webapp/bdd/CucumberTestAbstract.java
@@ -18,17 +18,17 @@
  */
 package domainapp.webapp.bdd;
 
-import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
+import domainapp.webapp.integtests.WebAppIntegTestAbstract;
 import io.cucumber.spring.CucumberContextConfiguration;
 
 /**
- * 
- * Provides the App's Spring Context for testing with Cucumber. 
+ *
+ * Provides the App's Spring Context for testing with Cucumber.
  *
  */
 @CucumberContextConfiguration
-public abstract class CucumberTestAbstract extends ApplicationIntegTestAbstract {
+public abstract class CucumberTestAbstract extends WebAppIntegTestAbstract {
+
+    // any cucumber specific stuff might go here
 
-    // any cucumber specific stuff might go here 
-    
 }
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/BootstrapStepDef.java b/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/BootstrapStepDef.java
index 860f6da..28e88b9 100644
--- a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/BootstrapStepDef.java
+++ b/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/BootstrapStepDef.java
@@ -2,9 +2,9 @@ package domainapp.webapp.bdd.stepdefs.infrastructure;
 
 import org.apache.isis.applib.annotation.OrderPrecedence;
 
-import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
+import domainapp.webapp.integtests.WebAppIntegTestAbstract;
 
-public class BootstrapStepDef extends ApplicationIntegTestAbstract {
+public class BootstrapStepDef extends WebAppIntegTestAbstract {
 
     @io.cucumber.java.Before(order= OrderPrecedence.FIRST)
     public void bootstrap() {
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java b/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
deleted file mode 100644
index 475b547..0000000
--- a/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package domainapp.webapp.integtests;
-
-import org.springframework.boot.test.context.SpringBootTest;
-
-import org.apache.isis.testing.integtestsupport.applib.IsisIntegrationTestAbstract;
-
-import domainapp.webapp.application.ApplicationModule;
-import domainapp.webapp.bdd.stepdefs.BddStepDefsModule;
-import domainapp.webapp.integtests.smoke.SimpleWebAppTestConfiguration_usingJpa;
-
-@SpringBootTest(
-    classes = {
-            // we use a slightly different confuguration compared to the production (AppManifest/webapp)
-            SimpleWebAppTestConfiguration_usingJpa.class,
-            BddStepDefsModule.class,
-            ApplicationModule.class,
-    },
-    properties = {
-            // "logging.level.io.cucumber.core.runner.Runner=DEBUG",
-            "isis.persistence.jpa.auto-create-schemas=simple"
-    }
-)
-public abstract class ApplicationIntegTestAbstract extends IsisIntegrationTestAbstract {
-
-}
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/WebAppIntegTestAbstract.java b/webapp/src/test/java/domainapp/webapp/integtests/WebAppIntegTestAbstract.java
new file mode 100644
index 0000000..06ed6e2
--- /dev/null
+++ b/webapp/src/test/java/domainapp/webapp/integtests/WebAppIntegTestAbstract.java
@@ -0,0 +1,58 @@
+package domainapp.webapp.integtests;
+
+import org.springframework.boot.SpringBootConfiguration;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Import;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.context.annotation.PropertySources;
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
+import org.springframework.test.context.ActiveProfiles;
+
+import org.apache.isis.core.config.presets.IsisPresets;
+import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
+import org.apache.isis.persistence.jpa.eclipselink.IsisModuleJpaEclipselink;
+import org.apache.isis.security.bypass.IsisModuleSecurityBypass;
+import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
+import org.apache.isis.testing.integtestsupport.applib.IsisIntegrationTestAbstract;
+
+import domainapp.modules.simple.SimpleModule;
+import domainapp.webapp.application.ApplicationModule;
+import domainapp.webapp.bdd.stepdefs.BddStepDefsModule;
+
+@SpringBootTest(
+    classes = {
+            // we use a slightly different configuration compared to the production (AppManifest/webapp)
+            WebAppIntegTestAbstract.TestApp.class,
+            BddStepDefsModule.class,
+            ApplicationModule.class,
+    }
+)
+@ActiveProfiles("test")
+public abstract class WebAppIntegTestAbstract extends IsisIntegrationTestAbstract {
+
+
+    /**
+     * Compared to the production app manifest <code>domainapp.webapp.AppManifest</code>,
+     * here we in effect disable security checks, and we exclude any web/UI modules.
+     */
+    @SpringBootConfiguration
+    @EnableAutoConfiguration
+    @EnableJpaRepositories
+    @Import({
+
+            IsisModuleCoreRuntimeServices.class,
+            IsisModuleSecurityBypass.class,
+            IsisModuleJpaEclipselink.class,
+            IsisModuleTestingFixturesApplib.class,
+
+            SimpleModule.class
+    })
+    @PropertySources({
+            @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
+            @PropertySource(IsisPresets.UseLog4j2Test),
+    })
+    public static class TestApp {
+
+    }
+}
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/SwaggerExport_IntegTest.java b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/SwaggerExport_IntegTest.java
index bbe3c92..8b7dea9 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/SwaggerExport_IntegTest.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/SwaggerExport_IntegTest.java
@@ -15,12 +15,12 @@ import org.apache.isis.viewer.restfulobjects.jaxrsresteasy4.IsisModuleViewerRest
 
 import lombok.val;
 
-import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
+import domainapp.webapp.integtests.WebAppIntegTestAbstract;
 
 @Import({
         IsisModuleViewerRestfulObjectsJaxrsResteasy4.class
 })
-class SwaggerExport_IntegTest extends ApplicationIntegTestAbstract {
+class SwaggerExport_IntegTest extends WebAppIntegTestAbstract {
 
     @Inject ServiceRegistry serviceRegistry;
 
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java
index 80bf4aa..84b9b0c 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java
@@ -4,15 +4,13 @@ import javax.inject.Inject;
 
 import org.junit.jupiter.api.Test;
 
-import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.applib.services.registry.ServiceRegistry;
 import org.apache.isis.testing.integtestsupport.applib.validate.DomainModelValidator;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 
-import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
+import domainapp.webapp.integtests.WebAppIntegTestAbstract;
+
+class ValidateDomainModel_IntegTest extends WebAppIntegTestAbstract {
 
-class ValidateDomainModel_IntegTest extends ApplicationIntegTestAbstract {
-    
     @Inject ServiceRegistry serviceRegistry;
 
     @Test
@@ -21,4 +19,4 @@ class ValidateDomainModel_IntegTest extends ApplicationIntegTestAbstract {
     }
 
 
-}
\ No newline at end of file
+}
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java
index 97dc0b9..b59d5d8 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java
@@ -22,10 +22,10 @@ import org.apache.isis.applib.services.metamodel.MetaModelService;
 import org.apache.isis.schema.metamodel.v2.DomainClassDto;
 import org.apache.isis.schema.metamodel.v2.MetamodelDto;
 
-import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
+import domainapp.webapp.integtests.WebAppIntegTestAbstract;
 import domainapp.webapp.util.CurrentVsApprovedApprovalTextWriter;
 
-class LockDownMetaModel_IntegTest extends ApplicationIntegTestAbstract {
+class LockDownMetaModel_IntegTest extends WebAppIntegTestAbstract {
 
     @Inject MetaModelService metaModelService;
     @Inject JaxbService jaxbService;
@@ -77,4 +77,4 @@ class LockDownMetaModel_IntegTest extends ApplicationIntegTestAbstract {
                 }, getReporter());
     }
 
-}
\ No newline at end of file
+}
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/smoke/SimpleWebAppTestConfiguration_usingJpa.java b/webapp/src/test/java/domainapp/webapp/integtests/smoke/SimpleWebAppTestConfiguration_usingJpa.java
deleted file mode 100644
index b3d0fe1..0000000
--- a/webapp/src/test/java/domainapp/webapp/integtests/smoke/SimpleWebAppTestConfiguration_usingJpa.java
+++ /dev/null
@@ -1,59 +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 domainapp.webapp.integtests.smoke;
-
-import org.springframework.boot.SpringBootConfiguration;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.context.annotation.Import;
-import org.springframework.context.annotation.PropertySource;
-import org.springframework.context.annotation.PropertySources;
-import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-
-import org.apache.isis.core.config.presets.IsisPresets;
-import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
-import org.apache.isis.persistence.jpa.eclipselink.IsisModuleJpaEclipselink;
-import org.apache.isis.security.bypass.IsisModuleSecurityBypass;
-import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
-
-import domainapp.modules.simple.SimpleModule;
-
-/**
- * Compared to the production app manifest <code>domainapp.webapp.AppManifest</code>,
- * here we in effect disable security checks, and we exclude any web/UI modules.
- */
-@SpringBootConfiguration
-@EnableAutoConfiguration
-@EnableJpaRepositories
-@Import({
-
-    IsisModuleCoreRuntimeServices.class,
-    IsisModuleSecurityBypass.class,
-    IsisModuleJpaEclipselink.class,
-    IsisModuleTestingFixturesApplib.class,
-
-    SimpleModule.class
-})
-@PropertySources({
-    @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
-    @PropertySource(IsisPresets.UseLog4j2Test),
-})
-public class SimpleWebAppTestConfiguration_usingJpa {
-
-
-}
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java b/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
index 94465ee..f8c5b56 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
@@ -13,12 +13,12 @@ import org.apache.isis.applib.services.xactn.TransactionService;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
+import domainapp.webapp.integtests.WebAppIntegTestAbstract;
 import domainapp.modules.simple.dom.so.SimpleObject;
 import domainapp.modules.simple.dom.so.SimpleObjects;
 
 @Transactional
-class Smoke_IntegTest extends ApplicationIntegTestAbstract {
+class Smoke_IntegTest extends WebAppIntegTestAbstract {
 
     @Inject SimpleObjects menu;
     @Inject TransactionService transactionService;
diff --git a/webapp/src/test/java/domainapp/webapp/util/CurrentVsApprovedApprovalTextWriter.java b/webapp/src/test/java/domainapp/webapp/util/CurrentVsApprovedApprovalTextWriter.java
index 8efe087..85e5073 100644
--- a/webapp/src/test/java/domainapp/webapp/util/CurrentVsApprovedApprovalTextWriter.java
+++ b/webapp/src/test/java/domainapp/webapp/util/CurrentVsApprovedApprovalTextWriter.java
@@ -5,30 +5,9 @@ import org.approvaltests.writers.ApprovalTextWriter;
 
 public class CurrentVsApprovedApprovalTextWriter extends ApprovalTextWriter {
 
-//    private final String fileExtensionWithoutDot;
-
     public CurrentVsApprovedApprovalTextWriter(String received, String fileExtensionWithoutDot) {
-        super(received, new Options().forFile().withExtension(fileExtensionWithoutDot));
-        //this.fileExtensionWithoutDot = fileExtensionWithoutDot;
+        super(received, new Options().forFile()
+                .withExtension(fileExtensionWithoutDot));
     }
 
-//    @Override
-//    public String getReceivedFilename(final String base) {
-//        return toFilename("current", base);
-//    }
-//
-//    @Override
-//    public String getApprovalFilename(final String base) {
-//        return toFilename("approved", base);
-//    }
-//
-//    private String toFilename(final String prefix, final String base) {
-//        final File file = new File(base);
-//        final File parentFile = file.getParentFile();
-//        final String localName = file.getName();
-//        final File newDir = new File(parentFile, prefix);
-//        final File newFile = new File(newDir, localName + "." + fileExtensionWithoutDot);
-//        return newFile.toString();
-//    }
-
 }
diff --git a/webapp/src/test/resources/application-test.yml b/webapp/src/test/resources/application-test.yml
new file mode 100644
index 0000000..3a68cae
--- /dev/null
+++ b/webapp/src/test/resources/application-test.yml
@@ -0,0 +1,4 @@
+isis:
+  persistence:
+    schema:
+      auto-create-schemas: "simple"


[isis-app-simpleapp] 06/07: Merge branch 'jdo' into jpa

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit c6ad1f602e1ea4b45e46cf084852e0babfcbbf84
Merge: f1d82d2 4aeb68b
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Mar 11 07:08:27 2021 +0000

    Merge branch 'jdo' into jpa

 module-simple/log4j2-test.xml | 60 -------------------------------------------
 1 file changed, 60 deletions(-)


[isis-app-simpleapp] 03/07: Merge branch 'jdo' into jpa

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 892e963020d0a8b324f9324adfd8f329c3e6442e
Merge: 5c8288a af2c09a
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Mar 9 22:04:19 2021 +0000

    Merge branch 'jdo' into jpa



[isis-app-simpleapp] 05/07: fixes classpaths for tests; adds staging repository to top-level pom

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit f1d82d2302596f051e1e1076519e6b596ec4fd13
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Mar 11 07:06:20 2021 +0000

    fixes classpaths for tests; adds staging repository to top-level pom
---
 pom.xml              | 17 +++++++++++++++++
 webapp-tests/pom.xml |  1 +
 webapp/pom.xml       | 10 +++-------
 3 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/pom.xml b/pom.xml
index 9bd17ef..c2b3fc3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,4 +69,21 @@
         <module>webapp-tests</module>
     </modules>
 
+    <profiles>
+        <profile>
+            <id>staging</id>
+            <activation>
+                <property>
+                    <name>!skip.staging</name>
+                </property>
+            </activation>
+            <repositories>
+                <repository>
+                    <id>staging</id>
+                    <url>https://repository.apache.org/content/groups/staging/</url>
+                </repository>
+            </repositories>
+        </profile>
+    </profiles>
+
 </project>
diff --git a/webapp-tests/pom.xml b/webapp-tests/pom.xml
index ecb0cd1..b4977c4 100644
--- a/webapp-tests/pom.xml
+++ b/webapp-tests/pom.xml
@@ -94,6 +94,7 @@
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>simpleapp-jpa-webapp</artifactId>
+            <scope>test</scope>
         </dependency>
 
         <!-- TESTING -->
diff --git a/webapp/pom.xml b/webapp/pom.xml
index fa25aee..5f1bb96 100644
--- a/webapp/pom.xml
+++ b/webapp/pom.xml
@@ -48,13 +48,9 @@
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>repackage</goal>
-                        </goals>
-                    </execution>
-                </executions>
+                <configuration>
+                    <classifier>exec</classifier>
+                </configuration>
             </plugin>
         </plugins>
     </build>


[isis-app-simpleapp] 04/07: splits out tests into their own modules (not yet building)

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 620f3e6a8ae485933b5990e8e167a73bdbce0b54
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Mar 10 06:44:02 2021 +0000

    splits out tests into their own modules (not yet building)
---
 module-simple-tests/.gitignore                     |   8 +
 {webapp => module-simple-tests}/log4j2-test.xml    |  10 --
 {module-simple => module-simple-tests}/pom.xml     |  49 ++----
 .../modules/simple/dom/so/SimpleObject_Test.java   |   0
 .../modules/simple/dom/so/SimpleObjects_Test.java  |   0
 .../integtests/SimpleModuleIntegTestAbstract.java  |   0
 .../integtests/SimpleModuleTestConfiguration.java  |   0
 .../integtests/tests/SimpleObject_IntegTest.java   |   0
 .../integtests/tests/SimpleObjects_IntegTest.java  |   0
 .../src/test/resources/application-test.yml        |   0
 module-simple/pom.xml                              |  39 +----
 .../domainapp/modules/simple/SimpleModule.java     |   6 +-
 pom.xml                                            |  24 ++-
 {webapp => webapp-tests}/log4j2-test.xml           |   0
 webapp-tests/pom.xml                               | 171 +++++++++++++++++++++
 .../domainapp/webapp/bdd/CucumberTestAbstract.java |   0
 .../domainapp/webapp/bdd/specs/CucumberTest.java   |   0
 .../webapp/bdd/stepdefs/BddStepDefsModule.java     |   0
 .../bdd/stepdefs/domain/SimpleObjectsContext.java  |   0
 .../domain/SimpleObjectsGivenThenStepDef.java      |   0
 .../stepdefs/domain/SimpleObjectsWhenStepDef.java  |   0
 .../stepdefs/fixtures/DomainAppDemoStepDef.java    |   0
 .../stepdefs/infrastructure/BootstrapStepDef.java  |   0
 .../infrastructure/TransactionalStepDef.java       |   0
 .../webapp/integtests/WebAppIntegTestAbstract.java |   0
 .../metamodel/SwaggerExport_IntegTest.java         |   0
 .../metamodel/ValidateDomainModel_IntegTest.java   |   0
 .../lockdown/LockDownMetaModel_IntegTest.java      |   0
 ...ainapp.modules.simple.dom.impl.SimpleObject.xml |   0
 ...inapp.modules.simple.dom.impl.SimpleObjects.xml |   0
 ...omainapp.modules.simple.dom.so.SimpleObject.xml |   0
 ...mainapp.modules.simple.dom.so.SimpleObjects.xml |   0
 ...app.modules.simple.types.Name$Specification.xml |   0
 ...omainAppFixtureScriptsSpecificationProvider.xml |   0
 ...tion.services.health.HealthCheckServiceImpl.xml |   0
 ...ication.services.homepage.HomePageViewModel.xml |   0
 .../metamodel/lockdown/current/.gitignore          |   0
 .../webapp/integtests/smoke/Smoke_IntegTest.java   |   0
 .../unittests/archunit/ArchitectureTests.java      |   0
 .../mavendeps/lockdown/LockDownMavenDeps_Test.java |   0
 .../approved/LockDownMavenDeps_Test.list.txt       |   0
 .../approved/LockDownMavenDeps_Test.tree.txt       |   0
 .../mavendeps/lockdown/current/.gitignore          |   0
 .../util/CurrentVsApprovedApprovalTextWriter.java  |   0
 .../src/test/resources/application-test.yml        |   0
 .../SimpleObjectSpec_listAllAndCreate.feature      |   0
 .../bdd/specs/SimpleObjectSpec_updateName.feature  |   0
 .../src/test/resources/junit-platform.properties   |   0
 webapp/pom.xml                                     | 145 +----------------
 49 files changed, 210 insertions(+), 242 deletions(-)

diff --git a/module-simple-tests/.gitignore b/module-simple-tests/.gitignore
new file mode 100644
index 0000000..85cb54f
--- /dev/null
+++ b/module-simple-tests/.gitignore
@@ -0,0 +1,8 @@
+.gradle
+translations.pot
+*.jar
+gradle/wrapper
+!gradle-wrapper.jar
+/.apt_generated/
+/.factorypath
+/.apt_generated_tests/
diff --git a/webapp/log4j2-test.xml b/module-simple-tests/log4j2-test.xml
similarity index 89%
copy from webapp/log4j2-test.xml
copy to module-simple-tests/log4j2-test.xml
index 60e8974..1d50129 100644
--- a/webapp/log4j2-test.xml
+++ b/module-simple-tests/log4j2-test.xml
@@ -12,11 +12,6 @@
         <Console name="Console" target="SYSTEM_OUT" follow="true">
             <PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}" />
         </Console>
-        <File name="TranslationsPoFile" fileName="translations.po" append="false" immediateFlush="true">
-            <PatternLayout>
-                <Pattern>%m%n</Pattern>
-            </PatternLayout>
-        </File>
     </Appenders>
     <Loggers>
         <Logger name="org.apache.catalina.startup.DigesterFactory" level="error" />
@@ -39,11 +34,6 @@
         <Root level="info">
             <AppenderRef ref="Console" />
         </Root>
-
-        <logger name="org.apache.isis.core.runtimeservices.i18n.po.PoWriter" level="info">
-            <AppenderRef ref="TranslationsPoFile"/>
-        </logger>
-
     </Loggers>
 </Configuration>
 
diff --git a/module-simple/pom.xml b/module-simple-tests/pom.xml
similarity index 56%
copy from module-simple/pom.xml
copy to module-simple-tests/pom.xml
index 25f6f3d..1824728 100644
--- a/module-simple/pom.xml
+++ b/module-simple-tests/pom.xml
@@ -10,25 +10,14 @@
         <version>1.0.0-SNAPSHOT</version>
     </parent>
 
-    <artifactId>simpleapp-module-simple-jpa</artifactId>
-    <name>SimpleApp - Simple Module</name>
+    <artifactId>simpleapp-jpa-module-simple-tests</artifactId>
+    <name>SimpleApp - Simple Module (tests)</name>
+
+    <description>
+        Integ tests for 'simple module'
+    </description>
 
     <build>
-        <resources>
-            <resource>
-                <directory>src/main/resources</directory>
-            </resource>
-            <resource>
-                <filtering>false</filtering>
-                <directory>src/main/java</directory>
-                <includes>
-                    <include>**</include>
-                </includes>
-                <excludes>
-                    <exclude>**/*.java</exclude>
-                </excludes>
-            </resource>
-        </resources>
         <testResources>
             <testResource>
                 <directory>src/test/resources</directory>
@@ -48,26 +37,13 @@
 
     <dependencies>
 
-        <!-- ISIS API -->
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-applib</artifactId>
-        </dependency>
-
         <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-jpa</artifactId>
-            <type>pom</type>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>simpleapp-jpa-module-simple</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>org.apache.isis.testing</groupId>
-            <artifactId>isis-testing-fixtures-applib</artifactId>
-        </dependency>
-        
         <!-- TESTS -->
-        
+
         <dependency>
             <groupId>org.apache.isis.mavendeps</groupId>
             <artifactId>isis-mavendeps-unittests</artifactId>
@@ -88,13 +64,6 @@
             <scope>test</scope>
         </dependency>
 
-        <!-- IDE support (optional) -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-configuration-processor</artifactId>
-            <optional>true</optional>
-        </dependency>
-
     </dependencies>
 
 </project>
diff --git a/module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObject_Test.java b/module-simple-tests/src/test/java/domainapp/modules/simple/dom/so/SimpleObject_Test.java
similarity index 100%
rename from module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObject_Test.java
rename to module-simple-tests/src/test/java/domainapp/modules/simple/dom/so/SimpleObject_Test.java
diff --git a/module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java b/module-simple-tests/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java
similarity index 100%
rename from module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java
rename to module-simple-tests/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java b/module-simple-tests/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
similarity index 100%
rename from module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
rename to module-simple-tests/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration.java b/module-simple-tests/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration.java
similarity index 100%
rename from module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration.java
rename to module-simple-tests/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration.java
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java b/module-simple-tests/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
similarity index 100%
rename from module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
rename to module-simple-tests/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java b/module-simple-tests/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
similarity index 100%
rename from module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
rename to module-simple-tests/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
diff --git a/webapp/src/test/resources/application-test.yml b/module-simple-tests/src/test/resources/application-test.yml
similarity index 100%
rename from webapp/src/test/resources/application-test.yml
rename to module-simple-tests/src/test/resources/application-test.yml
diff --git a/module-simple/pom.xml b/module-simple/pom.xml
index 25f6f3d..dab370b 100644
--- a/module-simple/pom.xml
+++ b/module-simple/pom.xml
@@ -10,7 +10,7 @@
         <version>1.0.0-SNAPSHOT</version>
     </parent>
 
-    <artifactId>simpleapp-module-simple-jpa</artifactId>
+    <artifactId>simpleapp-jpa-module-simple</artifactId>
     <name>SimpleApp - Simple Module</name>
 
     <build>
@@ -29,21 +29,6 @@
                 </excludes>
             </resource>
         </resources>
-        <testResources>
-            <testResource>
-                <directory>src/test/resources</directory>
-            </testResource>
-            <testResource>
-                <filtering>false</filtering>
-                <directory>src/test/java</directory>
-                <includes>
-                    <include>**</include>
-                </includes>
-                <excludes>
-                    <exclude>**/*.java</exclude>
-                </excludes>
-            </testResource>
-        </testResources>
     </build>
 
     <dependencies>
@@ -65,28 +50,6 @@
             <groupId>org.apache.isis.testing</groupId>
             <artifactId>isis-testing-fixtures-applib</artifactId>
         </dependency>
-        
-        <!-- TESTS -->
-        
-        <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-unittests</artifactId>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-            	<exclusion>
-            		<groupId>org.jmock</groupId>
-            		<artifactId>jmock-junit4</artifactId>
-            	</exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-integtests</artifactId>
-            <type>pom</type>
-            <scope>test</scope>
-        </dependency>
 
         <!-- IDE support (optional) -->
         <dependency>
diff --git a/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java b/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
index 9763d2a..08e564b 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
@@ -4,6 +4,7 @@ import org.springframework.boot.autoconfigure.domain.EntityScan;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
 import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
 import org.springframework.validation.annotation.Validated;
 
@@ -14,11 +15,10 @@ import lombok.Data;
 
 import domainapp.modules.simple.dom.so.SimpleObject;
 
-@org.springframework.context.annotation.Configuration
-//@Import({})
+@Configuration
 @ComponentScan
 @EnableJpaRepositories
-@EntityScan(basePackageClasses = {SimpleObject.class})
+@EntityScan(basePackageClasses = {SimpleModule.class})
 @EnableConfigurationProperties({
         SimpleModule.Configuration.class,
 })
diff --git a/pom.xml b/pom.xml
index 2d61f86..9bd17ef 100644
--- a/pom.xml
+++ b/pom.xml
@@ -18,30 +18,36 @@
 
     <packaging>pom</packaging>
 
+    <properties>
+        <maven-cucumber-reporting.version>5.3.0</maven-cucumber-reporting.version>
+        <archunit.version>0.14.1</archunit.version>
+        <skipBDD>${skipTests}</skipBDD>
+    </properties>
+
     <dependencyManagement>
         <dependencies>
 
             <!-- this project's own modules -->
             <dependency>
-                <groupId>org.apache.isis.starters</groupId>
-                <artifactId>simpleapp-module-simple-jpa</artifactId>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>simpleapp-jpa-module-simple</artifactId>
                 <version>${project.version}</version>
             </dependency>
             <dependency>
-                <groupId>org.apache.isis.starters</groupId>
-                <artifactId>simpleapp-module-simple-jpa</artifactId>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>simpleapp-jpa-module-simple-tests</artifactId>
                 <version>${project.version}</version>
                 <scope>test</scope>
                 <type>test-jar</type>
             </dependency>
             <dependency>
-                <groupId>org.apache.isis.starters</groupId>
-                <artifactId>simpleapp-application-jpa</artifactId>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>simpleapp-jpa-webapp</artifactId>
                 <version>${project.version}</version>
             </dependency>
             <dependency>
-                <groupId>org.apache.isis.starters</groupId>
-                <artifactId>simpleapp-webapp-jpa</artifactId>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>simpleapp-jpa-webapp-tests</artifactId>
                 <version>${project.version}</version>
             </dependency>
 
@@ -58,7 +64,9 @@
 
     <modules>
         <module>module-simple</module>
+        <module>module-simple-tests</module>
         <module>webapp</module>
+        <module>webapp-tests</module>
     </modules>
 
 </project>
diff --git a/webapp/log4j2-test.xml b/webapp-tests/log4j2-test.xml
similarity index 100%
rename from webapp/log4j2-test.xml
rename to webapp-tests/log4j2-test.xml
diff --git a/webapp-tests/pom.xml b/webapp-tests/pom.xml
new file mode 100644
index 0000000..ecb0cd1
--- /dev/null
+++ b/webapp-tests/pom.xml
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.isis.starters</groupId>
+        <artifactId>simpleapp-jpa</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>simpleapp-jpa-webapp-tests</artifactId>
+    <name>SimpleApp - Webapp (tests)</name>
+
+    <description>
+        Integ tests and BDD specs for entire app.
+    </description>
+
+    <packaging>jar</packaging>
+
+    <build>
+        <testResources>
+            <testResource>
+                <directory>src/test/resources</directory>
+            </testResource>
+            <testResource>
+                <filtering>false</filtering>
+                <directory>src/test/java</directory>
+                <excludes>
+                    <exclude>**/*.java</exclude>
+                </excludes>
+            </testResource>
+        </testResources>
+        <plugins>
+
+            <!-- generate cucumber json result -->
+            <plugin>
+              <groupId>org.apache.maven.plugins</groupId>
+              <artifactId>maven-antrun-plugin</artifactId>
+              <executions>
+                <execution>
+                  <id>cucumber-cli</id>
+                  <phase>integration-test</phase>
+                  <goals>
+                    <goal>run</goal>
+                  </goals>
+                  <configuration>
+                    <skip>${skipBDD}</skip>
+                    <target>
+                      <echo message="Running Cucumber CLI" />
+                      <java classname="io.cucumber.core.cli.Main"
+                            fork="true"
+                            failonerror="true"
+                            newenvironment="true"
+                            maxmemory="1024m"
+                            classpathref="maven.test.classpath">
+                        <arg value="--plugin" />
+                        <arg value="json:${project.build.directory}/cucumber-no-clobber.json" />
+                      </java>
+                    </target>
+                  </configuration>
+                </execution>
+              </executions>
+            </plugin>
+
+            <!-- generate html report from cucumber json result -->
+            <plugin>
+                <groupId>net.masterthought</groupId>
+                <artifactId>maven-cucumber-reporting</artifactId>
+                <version>${maven-cucumber-reporting.version}</version>
+                <executions>
+                    <execution>
+                        <id>default</id>
+                        <phase>post-integration-test</phase>
+                        <goals>
+                            <goal>generate</goal>
+                        </goals>
+                        <configuration>
+                            <projectName>SimpleApp</projectName>
+                            <outputDirectory>${project.build.directory}</outputDirectory>
+                            <inputDirectory>${project.build.directory}</inputDirectory>
+                            <jsonFiles>
+                                <param>**/cucumber-no-clobber.json</param>
+                            </jsonFiles>
+                            <skip>${skipBDD}</skip>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>simpleapp-jpa-webapp</artifactId>
+        </dependency>
+
+        <!-- TESTING -->
+
+        <dependency>
+            <groupId>org.apache.isis.mavendeps</groupId>
+            <artifactId>isis-mavendeps-integtests</artifactId>
+            <type>pom</type>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.isis.mavendeps</groupId>
+            <artifactId>isis-mavendeps-integspecs</artifactId>
+            <type>pom</type>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>com.tngtech.archunit</groupId>
+            <artifactId>archunit-junit5-api</artifactId>
+            <version>${archunit.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.tngtech.archunit</groupId>
+            <artifactId>archunit-junit5-engine</artifactId>
+            <version>${archunit.version}</version>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+
+    <profiles>
+
+        <profile>
+            <id>mavendeps-lockdown</id>
+            <activation>
+                <property>
+                    <name>mavendeps.lockdown</name>
+                </property>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <artifactId>maven-dependency-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>list</id>
+                                <phase>generate-test-resources</phase>
+                                <goals>
+                                    <goal>list</goal>
+                                </goals>
+                                <configuration>
+                                    <outputFile>${project.build.directory}/test-classes/domainapp/webapp/unittests/mavendeps/lockdown/current/LockDownMavenDeps_Test.list.txt</outputFile>
+                                </configuration>
+                            </execution>
+                            <execution>
+                                <id>tree</id>
+                                <phase>generate-test-resources</phase>
+                                <goals>
+                                    <goal>tree</goal>
+                                </goals>
+                                <configuration>
+                                    <outputFile>${project.build.directory}/test-classes/domainapp/webapp/unittests/mavendeps/lockdown/current/LockDownMavenDeps_Test.tree.txt</outputFile>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
+</project>
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/CucumberTestAbstract.java b/webapp-tests/src/test/java/domainapp/webapp/bdd/CucumberTestAbstract.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/bdd/CucumberTestAbstract.java
rename to webapp-tests/src/test/java/domainapp/webapp/bdd/CucumberTestAbstract.java
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/specs/CucumberTest.java b/webapp-tests/src/test/java/domainapp/webapp/bdd/specs/CucumberTest.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/bdd/specs/CucumberTest.java
rename to webapp-tests/src/test/java/domainapp/webapp/bdd/specs/CucumberTest.java
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/BddStepDefsModule.java b/webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/BddStepDefsModule.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/bdd/stepdefs/BddStepDefsModule.java
rename to webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/BddStepDefsModule.java
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsContext.java b/webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsContext.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsContext.java
rename to webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsContext.java
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsGivenThenStepDef.java b/webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsGivenThenStepDef.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsGivenThenStepDef.java
rename to webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsGivenThenStepDef.java
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsWhenStepDef.java b/webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsWhenStepDef.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsWhenStepDef.java
rename to webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsWhenStepDef.java
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/fixtures/DomainAppDemoStepDef.java b/webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/fixtures/DomainAppDemoStepDef.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/bdd/stepdefs/fixtures/DomainAppDemoStepDef.java
rename to webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/fixtures/DomainAppDemoStepDef.java
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/BootstrapStepDef.java b/webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/BootstrapStepDef.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/BootstrapStepDef.java
rename to webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/BootstrapStepDef.java
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/TransactionalStepDef.java b/webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/TransactionalStepDef.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/TransactionalStepDef.java
rename to webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/TransactionalStepDef.java
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/WebAppIntegTestAbstract.java b/webapp-tests/src/test/java/domainapp/webapp/integtests/WebAppIntegTestAbstract.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/WebAppIntegTestAbstract.java
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/WebAppIntegTestAbstract.java
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/SwaggerExport_IntegTest.java b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/SwaggerExport_IntegTest.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/SwaggerExport_IntegTest.java
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/SwaggerExport_IntegTest.java
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObject.xml b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObject.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObject.xml
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObject.xml
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObjects.xml b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObjects.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObjects.xml
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObjects.xml
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.types.Name$Specification.xml b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.types.Name$Specification.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.types.Name$Specification.xml
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.types.Name$Specification.xml
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.health.HealthCheckServiceImpl.xml b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.health.HealthCheckServiceImpl.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.health.HealthCheckServiceImpl.xml
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.health.HealthCheckServiceImpl.xml
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/current/.gitignore b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/current/.gitignore
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/current/.gitignore
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/current/.gitignore
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java b/webapp-tests/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
diff --git a/webapp/src/test/java/domainapp/webapp/unittests/archunit/ArchitectureTests.java b/webapp-tests/src/test/java/domainapp/webapp/unittests/archunit/ArchitectureTests.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/unittests/archunit/ArchitectureTests.java
rename to webapp-tests/src/test/java/domainapp/webapp/unittests/archunit/ArchitectureTests.java
diff --git a/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/LockDownMavenDeps_Test.java b/webapp-tests/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/LockDownMavenDeps_Test.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/LockDownMavenDeps_Test.java
rename to webapp-tests/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/LockDownMavenDeps_Test.java
diff --git a/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.list.txt b/webapp-tests/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.list.txt
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.list.txt
rename to webapp-tests/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.list.txt
diff --git a/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.tree.txt b/webapp-tests/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.tree.txt
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.tree.txt
rename to webapp-tests/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.tree.txt
diff --git a/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/current/.gitignore b/webapp-tests/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/current/.gitignore
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/current/.gitignore
rename to webapp-tests/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/current/.gitignore
diff --git a/webapp/src/test/java/domainapp/webapp/util/CurrentVsApprovedApprovalTextWriter.java b/webapp-tests/src/test/java/domainapp/webapp/util/CurrentVsApprovedApprovalTextWriter.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/util/CurrentVsApprovedApprovalTextWriter.java
rename to webapp-tests/src/test/java/domainapp/webapp/util/CurrentVsApprovedApprovalTextWriter.java
diff --git a/module-simple/src/test/resources/application-test.yml b/webapp-tests/src/test/resources/application-test.yml
similarity index 100%
rename from module-simple/src/test/resources/application-test.yml
rename to webapp-tests/src/test/resources/application-test.yml
diff --git a/webapp/src/test/resources/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature b/webapp-tests/src/test/resources/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
similarity index 100%
rename from webapp/src/test/resources/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
rename to webapp-tests/src/test/resources/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
diff --git a/webapp/src/test/resources/domainapp/webapp/bdd/specs/SimpleObjectSpec_updateName.feature b/webapp-tests/src/test/resources/domainapp/webapp/bdd/specs/SimpleObjectSpec_updateName.feature
similarity index 100%
rename from webapp/src/test/resources/domainapp/webapp/bdd/specs/SimpleObjectSpec_updateName.feature
rename to webapp-tests/src/test/resources/domainapp/webapp/bdd/specs/SimpleObjectSpec_updateName.feature
diff --git a/webapp/src/test/resources/junit-platform.properties b/webapp-tests/src/test/resources/junit-platform.properties
similarity index 100%
rename from webapp/src/test/resources/junit-platform.properties
rename to webapp-tests/src/test/resources/junit-platform.properties
diff --git a/webapp/pom.xml b/webapp/pom.xml
index b63c7cb..fa25aee 100644
--- a/webapp/pom.xml
+++ b/webapp/pom.xml
@@ -8,7 +8,7 @@
         <version>1.0.0-SNAPSHOT</version>
     </parent>
 
-    <artifactId>simpleapp-webapp-jpa</artifactId>
+    <artifactId>simpleapp-jpa-webapp</artifactId>
     <name>SimpleApp - Webapp</name>
 
     <description>
@@ -18,12 +18,6 @@
 
     <packaging>jar</packaging>
 
-    <properties>
-        <maven-cucumber-reporting.version>5.3.0</maven-cucumber-reporting.version>
-        <archunit.version>0.14.1</archunit.version>
-        <skipBDD>${skipTests}</skipBDD>
-    </properties>
-
     <build>
         <resources>
             <resource>
@@ -48,75 +42,8 @@
                 </excludes>
             </resource>
         </resources>
-        <testResources>
-            <testResource>
-                <directory>src/test/resources</directory>
-            </testResource>
-            <testResource>
-                <filtering>false</filtering>
-                <directory>src/test/java</directory>
-                <excludes>
-                    <exclude>**/*.java</exclude>
-                </excludes>
-            </testResource>
-        </testResources>
         <plugins>
 
-			<!-- generate cucumber json result -->
-			<plugin>
-			  <groupId>org.apache.maven.plugins</groupId>
-			  <artifactId>maven-antrun-plugin</artifactId>
-			  <executions>
-			    <execution>
-			      <id>cucumber-cli</id>
-			      <phase>integration-test</phase>
-			      <goals>
-			        <goal>run</goal>
-			      </goals>
-			      <configuration>
-                    <skip>${skipBDD}</skip>
-			        <target>
-			          <echo message="Running Cucumber CLI" />
-			          <java classname="io.cucumber.core.cli.Main"
-			                fork="true"
-			                failonerror="true"
-			                newenvironment="true"
-			                maxmemory="1024m"
-			                classpathref="maven.test.classpath">
-			            <arg value="--plugin" />
-			            <arg value="json:${project.build.directory}/cucumber-no-clobber.json" />
-			          </java>
-			        </target>
-			      </configuration>
-			    </execution>
-			  </executions>
-			</plugin>
-
-        	<!-- generate html report from cucumber json result -->
-            <plugin>
-                <groupId>net.masterthought</groupId>
-                <artifactId>maven-cucumber-reporting</artifactId>
-                <version>${maven-cucumber-reporting.version}</version>
-                <executions>
-                    <execution>
-                        <id>default</id>
-                        <phase>post-integration-test</phase>
-                        <goals>
-                            <goal>generate</goal>
-                        </goals>
-                        <configuration>
-                            <projectName>SimpleApp</projectName>
-                            <outputDirectory>${project.build.directory}</outputDirectory>
-                            <inputDirectory>${project.build.directory}</inputDirectory>
-                            <jsonFiles>
-                                <param>**/cucumber-no-clobber.json</param>
-                            </jsonFiles>
-                            <skip>${skipBDD}</skip>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
             <!-- running: mvn spring-boot:run -->
             <plugin>
                 <groupId>org.springframework.boot</groupId>
@@ -136,7 +63,7 @@
 
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>simpleapp-module-simple-jpa</artifactId>
+            <artifactId>simpleapp-jpa-module-simple</artifactId>
         </dependency>
 
         <!-- isis -->
@@ -173,78 +100,11 @@
             <artifactId>isis-extensions-flyway-impl</artifactId>
         </dependency>
 
-        <!-- TESTING -->
-
-        <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-integtests</artifactId>
-            <type>pom</type>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-integspecs</artifactId>
-            <type>pom</type>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>com.tngtech.archunit</groupId>
-            <artifactId>archunit-junit5-api</artifactId>
-            <version>${archunit.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.tngtech.archunit</groupId>
-            <artifactId>archunit-junit5-engine</artifactId>
-            <version>${archunit.version}</version>
-            <scope>test</scope>
-        </dependency>
-
     </dependencies>
 
     <profiles>
 
         <profile>
-            <id>mavendeps-lockdown</id>
-            <activation>
-                <property>
-                    <name>mavendeps.lockdown</name>
-                </property>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <artifactId>maven-dependency-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>list</id>
-                                <phase>generate-test-resources</phase>
-                                <goals>
-                                    <goal>list</goal>
-                                </goals>
-                                <configuration>
-                                    <outputFile>${project.build.directory}/test-classes/domainapp/webapp/unittests/mavendeps/lockdown/current/LockDownMavenDeps_Test.list.txt</outputFile>
-                                </configuration>
-                            </execution>
-                            <execution>
-                                <id>tree</id>
-                                <phase>generate-test-resources</phase>
-                                <goals>
-                                    <goal>tree</goal>
-                                </goals>
-                                <configuration>
-                                    <outputFile>${project.build.directory}/test-classes/domainapp/webapp/unittests/mavendeps/lockdown/current/LockDownMavenDeps_Test.tree.txt</outputFile>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-
-        <profile>
             <id>jdbc-sqlserver</id>
             <activation>
                 <property>
@@ -319,7 +179,6 @@
                 </plugins>
             </build>
         </profile>
-
     </profiles>
 
 </project>


[isis-app-simpleapp] 01/07: reconciling with jdo

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 08261ee655808ab86cc19248200baf196ce77cc4
Merge: 1ea42fd 15b2310
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Mar 9 06:33:08 2021 +0000

    reconciling with jdo

 .../domainapp.modules.simple.dom.impl.SimpleObject.xml | 18 ++++++++++--------
 .../domainapp.modules.simple.dom.so.SimpleObject.xml   | 18 ++++++++++--------
 ...application.services.homepage.HomePageViewModel.xml | 18 ++++++++++--------
 3 files changed, 30 insertions(+), 24 deletions(-)