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 2019/12/13 13:06:09 UTC
[isis] branch master updated: ISIS-2226: enable validation failure
logging
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new fe081d8 ISIS-2226: enable validation failure logging
fe081d8 is described below
commit fe081d835a2c4e2109e65ca2e83aafad6a503297
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Dec 13 14:05:56 2019 +0100
ISIS-2226: enable validation failure logging
---
.../isis/runtime/session/IsisSessionFactoryDefault.java | 14 ++++++++++++++
examples/demo/src/main/java/demoapp/webapp/DemoApp.java | 3 +++
.../isis/testdomain/conf/Configuration_headless.java | 2 +-
3 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/core/runtime/src/main/java/org/apache/isis/runtime/session/IsisSessionFactoryDefault.java b/core/runtime/src/main/java/org/apache/isis/runtime/session/IsisSessionFactoryDefault.java
index bd6e153..00f2e39 100644
--- a/core/runtime/src/main/java/org/apache/isis/runtime/session/IsisSessionFactoryDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/session/IsisSessionFactoryDefault.java
@@ -42,6 +42,7 @@ import org.apache.isis.commons.internal.collections._Sets;
import org.apache.isis.commons.internal.concurrent._ConcurrentContext;
import org.apache.isis.commons.internal.concurrent._ConcurrentTaskList;
import org.apache.isis.commons.internal.context._Context;
+import org.apache.isis.commons.internal.exceptions._Exceptions;
import org.apache.isis.config.IsisConfiguration;
import org.apache.isis.metamodel.context.MetaModelContext;
import org.apache.isis.metamodel.specloader.SpecificationLoader;
@@ -109,6 +110,19 @@ public class IsisSessionFactoryDefault implements IsisSessionFactory {
taskList.submit(_ConcurrentContext.forkJoin());
taskList.await();
+
+ { // log any validation failures, experimental code however, not sure how to best propagate failures
+ val validationResult = specificationLoader.getValidationResult();
+ if(validationResult.getNumberOfFailures()==0) {
+ log.info("Validation PASSED");
+ } else {
+ log.error("### Validation FAILED, failure count: {}", validationResult.getNumberOfFailures());
+ validationResult.forEach(failure->{
+ log.error("# " + failure.getMessage());
+ });
+ //throw _Exceptions.unrecoverable("Validation FAILED");
+ }
+ }
runtimeEventService.fireAppPostMetamodel();
diff --git a/examples/demo/src/main/java/demoapp/webapp/DemoApp.java b/examples/demo/src/main/java/demoapp/webapp/DemoApp.java
index a3e135d..5f26bf2 100644
--- a/examples/demo/src/main/java/demoapp/webapp/DemoApp.java
+++ b/examples/demo/src/main/java/demoapp/webapp/DemoApp.java
@@ -33,6 +33,7 @@ import org.apache.isis.extensions.secman.jdo.IsisModuleSecmanPersistenceJdo;
import org.apache.isis.extensions.secman.model.IsisModuleSecmanModel;
import org.apache.isis.extensions.secman.shiro.IsisModuleSecmanRealmShiro;
import org.apache.isis.extensions.sse.IsisModuleExtSse;
+import org.apache.isis.incubator.model.metamodel.IsisModuleIncModelMetaModel;
import org.apache.isis.persistence.jdo.datanucleus5.IsisModuleJdoDataNucleus5;
import org.apache.isis.security.shiro.IsisModuleSecurityShiro;
import org.apache.isis.viewer.restfulobjects.viewer.IsisModuleRestfulObjectsViewer;
@@ -94,6 +95,8 @@ public class DemoApp extends SpringBootServletInitializer {
IsisModuleExtFixtures.class,
+ IsisModuleIncModelMetaModel.class, // @Supporting support (incubator)
+
LibraryPreloadingService.class // just a performance enhancement
})
diff --git a/examples/smoketests/src/main/java/org/apache/isis/testdomain/conf/Configuration_headless.java b/examples/smoketests/src/main/java/org/apache/isis/testdomain/conf/Configuration_headless.java
index 72fcf3a..6f50110 100644
--- a/examples/smoketests/src/main/java/org/apache/isis/testdomain/conf/Configuration_headless.java
+++ b/examples/smoketests/src/main/java/org/apache/isis/testdomain/conf/Configuration_headless.java
@@ -45,7 +45,7 @@ import org.apache.isis.security.bypass.IsisModuleSecurityBypass;
@Import({
IsisModuleSpringBoot.class,
IsisModuleSecurityBypass.class,
- IsisModuleIncModelMetaModel.class // @Model support
+ IsisModuleIncModelMetaModel.class // @Supporting support
})
@PropertySources({
@PropertySource(IsisPresets.NoTranslations),