You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2021/01/22 08:46:54 UTC
[isis-app-simpleapp] 01/01: fixes webapp launch with build against
current Apache Isis 'master'
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch v2.0.0-jdo-SNAPSHOT
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git
commit ddf5559993bf06a3091bdbd16148f6352019974c
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Jan 22 09:46:16 2021 +0100
fixes webapp launch with build against current Apache Isis 'master'
some tests still fail
---
.../domainapp/modules/simple/SimpleModule.java | 8 ++--
.../modules/simple/dom/so/SimpleObject.java | 4 +-
.../integtests/SimpleModuleIntegTestAbstract.java | 28 +----------
.../SimpleModuleTestConfiguration_usingJdo.java | 55 ++++++++++++++++++++++
webapp/pom.xml | 8 ++++
.../main/java/domainapp/webapp/AppManifest.java | 7 ++-
.../integtests/ApplicationIntegTestAbstract.java | 40 +++-------------
.../metamodel/SwaggerExport_IntegTest.java | 12 ++---
8 files changed, 84 insertions(+), 78 deletions(-)
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 a5fd57f..a5868f8 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
@@ -3,11 +3,9 @@ package domainapp.modules.simple;
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.Import;
import org.springframework.validation.annotation.Validated;
import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
-import org.apache.isis.testing.fixtures.applib.teardown.TeardownFixtureAbstract;
import org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixtures;
import lombok.Data;
@@ -15,7 +13,7 @@ import lombok.Data;
import domainapp.modules.simple.dom.so.SimpleObject;
@org.springframework.context.annotation.Configuration
-@Import({})
+//@Import({})
@ComponentScan
@EnableConfigurationProperties({
SimpleModule.Configuration.class,
@@ -24,10 +22,10 @@ public class SimpleModule implements ModuleWithFixtures {
@Override
public FixtureScript getTeardownFixture() {
- return new TeardownFixtureAbstract() {
+ return new FixtureScript() {
@Override
protected void execute(ExecutionContext executionContext) {
- deleteFrom(SimpleObject.class);
+ repositoryService.removeAll(SimpleObject.class);
}
};
}
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java
index 7155a96..8fbf95a 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java
@@ -67,7 +67,7 @@ public class SimpleObject implements Comparable<SimpleObject> {
private String notes;
- public static class UpdateNameActionDomainEvent extends SimpleObject.ActionDomainEvent {}
+ public static class UpdateNameActionDomainEvent extends ActionDomainEvent {}
@Action(semantics = IDEMPOTENT,
commandPublishing = Publishing.ENABLED, executionPublishing = Publishing.ENABLED,
associateWith = "name", domainEvent = UpdateNameActionDomainEvent.class)
@@ -81,7 +81,7 @@ public class SimpleObject implements Comparable<SimpleObject> {
return getName();
}
- public static class DeleteActionDomainEvent extends SimpleObject.ActionDomainEvent {}
+ public static class DeleteActionDomainEvent extends ActionDomainEvent {}
@Action(semantics = NON_IDEMPOTENT_ARE_YOU_SURE, domainEvent = DeleteActionDomainEvent.class)
public void delete() {
final String title = titleService.titleOf(this);
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 6e76bd2..c225444 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,39 +1,13 @@
package domainapp.modules.simple.integtests;
import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-import org.springframework.test.context.TestPropertySource;
-import org.apache.isis.core.config.presets.IsisPresets;
-import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
-import org.apache.isis.persistence.jdo.integration.IsisModuleJdoIntegration;
-import org.apache.isis.security.bypass.IsisModuleSecurityBypass;
import org.apache.isis.testing.fixtures.applib.IsisIntegrationTestAbstractWithFixtures;
-import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
-
-import domainapp.modules.simple.SimpleModule;
@SpringBootTest(
- classes = SimpleModuleIntegTestAbstract.AppManifest.class
+ classes = SimpleModuleTestConfiguration_usingJdo.class
)
-@TestPropertySource({
- IsisPresets.H2InMemory_withUniqueSchema,
- IsisPresets.DataNucleusAutoCreate,
- IsisPresets.UseLog4j2Test,
-})
public abstract class SimpleModuleIntegTestAbstract extends IsisIntegrationTestAbstractWithFixtures {
- @Configuration
- @Import({
- IsisModuleCoreRuntimeServices.class,
- IsisModuleSecurityBypass.class,
- IsisModuleJdoIntegration.class,
- IsisModuleTestingFixturesApplib.class,
-
- SimpleModule.class
- })
- public static class AppManifest {
- }
}
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration_usingJdo.java b/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration_usingJdo.java
new file mode 100644
index 0000000..0174a63
--- /dev/null
+++ b/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration_usingJdo.java
@@ -0,0 +1,55 @@
+/*
+ * 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.modules.simple.integtests;
+
+import org.springframework.boot.SpringBootConfiguration;
+import org.springframework.context.annotation.Import;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.context.annotation.PropertySources;
+
+import org.apache.isis.core.config.presets.IsisPresets;
+import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
+import org.apache.isis.persistence.jdo.datanucleus.IsisModuleJdoDatanucleus;
+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
+@Import({
+
+ IsisModuleCoreRuntimeServices.class,
+ IsisModuleSecurityBypass.class,
+ IsisModuleJdoDatanucleus.class,
+ IsisModuleTestingFixturesApplib.class,
+
+ SimpleModule.class
+})
+@PropertySources({
+ @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
+ @PropertySource(IsisPresets.UseLog4j2Test),
+})
+public class SimpleModuleTestConfiguration_usingJdo {
+
+
+}
\ No newline at end of file
diff --git a/webapp/pom.xml b/webapp/pom.xml
index 8f5240b..bc012c6 100644
--- a/webapp/pom.xml
+++ b/webapp/pom.xml
@@ -174,6 +174,14 @@
</dependency>
<!-- TESTING -->
+
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>simpleapp-module-simple</artifactId>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+
<dependency>
<groupId>org.apache.isis.mavendeps</groupId>
<artifactId>isis-mavendeps-integtests</artifactId>
diff --git a/webapp/src/main/java/domainapp/webapp/AppManifest.java b/webapp/src/main/java/domainapp/webapp/AppManifest.java
index 262063d..be1f35f 100644
--- a/webapp/src/main/java/domainapp/webapp/AppManifest.java
+++ b/webapp/src/main/java/domainapp/webapp/AppManifest.java
@@ -8,7 +8,7 @@ import org.springframework.context.annotation.PropertySources;
import org.apache.isis.core.config.presets.IsisPresets;
import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
import org.apache.isis.extensions.flyway.impl.IsisModuleExtFlywayImpl;
-import org.apache.isis.persistence.jdo.integration.IsisModuleJdoIntegration;
+import org.apache.isis.persistence.jdo.datanucleus.IsisModuleJdoDatanucleus;
import org.apache.isis.security.shiro.IsisModuleSecurityShiro;
import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
import org.apache.isis.testing.h2console.ui.IsisModuleTestingH2ConsoleUi;
@@ -17,13 +17,14 @@ import org.apache.isis.viewer.wicket.viewer.IsisModuleViewerWicketViewer;
import domainapp.webapp.application.ApplicationModule;
import domainapp.webapp.application.fixture.scenarios.DomainAppDemo;
+import domainapp.webapp.application.services.health.HealthCheckServiceImpl;
import domainapp.webapp.custom.CustomModule;
@Configuration
@Import({
IsisModuleCoreRuntimeServices.class,
IsisModuleSecurityShiro.class,
- IsisModuleJdoIntegration.class,
+ IsisModuleJdoDatanucleus.class,
IsisModuleViewerRestfulObjectsJaxrsResteasy4.class,
IsisModuleViewerWicketViewer.class,
@@ -34,6 +35,8 @@ import domainapp.webapp.custom.CustomModule;
ApplicationModule.class,
CustomModule.class,
+
+ HealthCheckServiceImpl.class,
// discoverable fixtures
DomainAppDemo.class
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java b/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
index 1d37d79..082f5da 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
@@ -1,51 +1,23 @@
package domainapp.webapp.integtests;
import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.TestPropertySource;
-import org.apache.isis.core.config.presets.IsisPresets;
-import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
-import org.apache.isis.persistence.jdo.integration.IsisModuleJdoIntegration;
-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.integtests.SimpleModuleTestConfiguration_usingJdo;
import domainapp.webapp.application.ApplicationModule;
import domainapp.webapp.bdd.stepdefs.BddStepDefsModule;
@SpringBootTest(
- // we use a slightly different AppManifest compared to the production webapp (defined below)
- classes = ApplicationIntegTestAbstract.AppManifest.class,
+ classes = {
+ SimpleModuleTestConfiguration_usingJdo.class,
+ BddStepDefsModule.class,
+ ApplicationModule.class,
+ },
properties = {
// "logging.level.io.cucumber.core.runner.Runner=DEBUG"
}
)
-@TestPropertySource({
- IsisPresets.H2InMemory_withUniqueSchema,
- IsisPresets.DataNucleusAutoCreate,
- IsisPresets.UseLog4j2Test,
-})
-@ContextConfiguration
public abstract class ApplicationIntegTestAbstract 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.
- */
- @Configuration
- @Import({
- IsisModuleCoreRuntimeServices.class,
- IsisModuleJdoIntegration.class,
- IsisModuleSecurityBypass.class,
- IsisModuleTestingFixturesApplib.class,
-
- BddStepDefsModule.class,
- ApplicationModule.class,
- })
- public static class AppManifest {
- }
-
}
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 a7226a1..f622c73 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
@@ -5,24 +5,20 @@ import java.io.IOException;
import javax.inject.Inject;
import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Import;
import org.apache.isis.applib.services.registry.ServiceRegistry;
import org.apache.isis.applib.services.swagger.SwaggerService;
import org.apache.isis.testing.integtestsupport.applib.swagger.SwaggerExporter;
-import org.apache.isis.testing.integtestsupport.applib.validate.DomainModelValidator;
import org.apache.isis.viewer.restfulobjects.jaxrsresteasy4.IsisModuleViewerRestfulObjectsJaxrsResteasy4;
import lombok.val;
import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
-@SpringBootTest(
- classes = {
- ApplicationIntegTestAbstract.AppManifest.class,
- IsisModuleViewerRestfulObjectsJaxrsResteasy4.class
- }
-)
+@Import({
+ IsisModuleViewerRestfulObjectsJaxrsResteasy4.class
+})
class SwaggerExport_IntegTest extends ApplicationIntegTestAbstract {
@Inject ServiceRegistry serviceRegistry;