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),