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 2019/12/07 13:06:57 UTC

[isis] branch master updated (1e11813 -> afb4339)

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

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


    from 1e11813  ISIS-2189: allows exception details to be returned in the health check
     new 1875ef3  ISIS-2189: further minor polishing
     new afb4339  ISIS-2216: further fix for disabled swagger menu service

The 2 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:
 .../java/org/apache/isis/applib/services/health/Health.java    |  6 +++---
 .../apache/isis/applib/services/registry/ServiceRegistry.java  |  8 +++++---
 .../isis/applib/services/swagger/SwaggerServiceMenu.java       |  7 +++++--
 .../org/apache/isis/commons/internal/ioc/IocContainer.java     |  2 ++
 .../isis/commons/internal/ioc/spring/IocContainerSpring.java   | 10 +++++++++-
 .../org/apache/isis/config/beans/IsisBeanTypeRegistry.java     |  2 +-
 .../metamodel/services/registry/ServiceRegistryDefault.java    |  6 ++++++
 .../org/apache/isis/metamodel/ServiceRegistry_forTesting.java  |  5 +++++
 .../webapp/health/HealthIndicatorUsingHealthCheckService.java  |  7 ++++++-
 9 files changed, 42 insertions(+), 11 deletions(-)


[isis] 02/02: ISIS-2216: further fix for disabled swagger menu service

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

danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git

commit afb4339395697dcf90e058b9f3e805405d42d71b
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Sat Dec 7 13:02:07 2019 +0000

    ISIS-2216: further fix for disabled swagger menu service
    
    Need to lookup @Service by Id (not necessarily a @DomainService).
---
 .../apache/isis/applib/services/registry/ServiceRegistry.java  |  8 +++++---
 .../isis/applib/services/swagger/SwaggerServiceMenu.java       |  7 +++++--
 .../org/apache/isis/commons/internal/ioc/IocContainer.java     |  2 ++
 .../isis/commons/internal/ioc/spring/IocContainerSpring.java   | 10 +++++++++-
 .../org/apache/isis/config/beans/IsisBeanTypeRegistry.java     |  2 +-
 .../metamodel/services/registry/ServiceRegistryDefault.java    |  6 ++++++
 .../org/apache/isis/metamodel/ServiceRegistry_forTesting.java  |  5 +++++
 7 files changed, 33 insertions(+), 7 deletions(-)

diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/registry/ServiceRegistry.java b/core/applib/src/main/java/org/apache/isis/applib/services/registry/ServiceRegistry.java
index f319546..e0549e4 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/registry/ServiceRegistry.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/registry/ServiceRegistry.java
@@ -45,7 +45,7 @@ public interface ServiceRegistry {
 
 
     /**
-     * Obtains a Bin container containing any matching instances for the given required type 
+     * Obtains a {@link Can} container containing any matching instances for the given required type
      * and additional required qualifiers. 
      * @param type
      * @param qualifiers
@@ -55,7 +55,7 @@ public interface ServiceRegistry {
     public <T> Can<T> select(Class<T> type, Annotation[] qualifiers);
 
     /**
-     * Obtains a Bin container containing any matching instances for the given required type. 
+     * Obtains a {@link Can} container containing any matching instances for the given required type.
      * @param type
      * @return non-null
      * 
@@ -90,12 +90,14 @@ public interface ServiceRegistry {
      *   
      * @param id - corresponds to the ObjectSpecificationId of the bean's type
      */
-    public default ManagedBeanAdapter lookupRegisteredBeanByNameElseFail(String id) {
+    public default ManagedBeanAdapter lookupRegisteredBeanByIdElseFail(String id) {
         return lookupRegisteredBeanById(id).orElseThrow(
                 ()->_Exceptions.unrecoverable(
                         "Failed to lookup BeanAdapter by id '" + id + "'")); 
     }
 
+    public Optional<?> lookupBeanById(final String id);
+
     /**
      * Returns a domain service implementing the requested type.
      * <p>
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerServiceMenu.java b/core/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerServiceMenu.java
index 964f915..3a23019 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerServiceMenu.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerServiceMenu.java
@@ -18,6 +18,8 @@
  */
 package org.apache.isis.applib.services.swagger;
 
+import java.util.Optional;
+
 import javax.inject.Inject;
 import javax.inject.Named;
 
@@ -118,9 +120,10 @@ public class SwaggerServiceMenu {
     // -- HELPER
     
     private String disableReasonWhenRequiresROViewer() {
-        return serviceRegistry.lookupRegisteredBeanById("isisRoViewer.WebModuleRestfulObjects").isPresent()
+        final Optional<?> moduleIfAny = serviceRegistry.lookupBeanById("isisRoViewer.WebModuleRestfulObjects");
+        return moduleIfAny.isPresent()
                 ? null
-                        : "RestfulObjects viewer is not configured";
+                : "RestfulObjects viewer is not configured";
     }
     
     
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/ioc/IocContainer.java b/core/commons/src/main/java/org/apache/isis/commons/internal/ioc/IocContainer.java
index 1f178bf..aecd551 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/ioc/IocContainer.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/ioc/IocContainer.java
@@ -38,6 +38,8 @@ public interface IocContainer {
 
     Stream<ManagedBeanAdapter> streamAllBeans();
 
+    Optional<?> lookupById(final String id);
+
     <T> Can<T> select(Class<T> requiredType);
     
     <T> Can<T> select(Class<T> requiredType, Set<Annotation> qualifiersRequired);
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/ioc/spring/IocContainerSpring.java b/core/commons/src/main/java/org/apache/isis/commons/internal/ioc/spring/IocContainerSpring.java
index c10fdf7..63ce48b 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/ioc/spring/IocContainerSpring.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/ioc/spring/IocContainerSpring.java
@@ -19,6 +19,7 @@
 package org.apache.isis.commons.internal.ioc.spring;
 
 import java.lang.annotation.Annotation;
+import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Stream;
 
@@ -72,7 +73,14 @@ public class IocContainerSpring implements IocContainer {
 
 
     }
-    
+
+    @Override
+    public Optional<?> lookupById(String id) {
+        return springContext.containsBean(id)
+                ? Optional.of(springContext.getBean(id))
+                : Optional.empty();
+    }
+
     @Override
     public <T> Can<T> select(final Class<T> requiredType) {
         requires(requiredType, "requiredType");
diff --git a/core/config/src/main/java/org/apache/isis/config/beans/IsisBeanTypeRegistry.java b/core/config/src/main/java/org/apache/isis/config/beans/IsisBeanTypeRegistry.java
index 15e715e..45a5f35 100644
--- a/core/config/src/main/java/org/apache/isis/config/beans/IsisBeanTypeRegistry.java
+++ b/core/config/src/main/java/org/apache/isis/config/beans/IsisBeanTypeRegistry.java
@@ -53,7 +53,7 @@ import lombok.val;
 import lombok.extern.log4j.Log4j2;
 
 /**
- * Holds the set of domain services, persistent entities and fixture scripts.services etc.
+ * Holds the set of domain services, persistent entities and fixture scripts etc.
  * @since 2.0
  */
 @NoArgsConstructor @Log4j2
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/registry/ServiceRegistryDefault.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/registry/ServiceRegistryDefault.java
index 8d0bdcc..652a80a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/registry/ServiceRegistryDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/registry/ServiceRegistryDefault.java
@@ -21,6 +21,7 @@ package org.apache.isis.metamodel.services.registry;
 
 import java.lang.annotation.Annotation;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Optional;
 import java.util.stream.Stream;
 
@@ -63,6 +64,11 @@ public final class ServiceRegistryDefault implements ServiceRegistry {
     }
 
     @Override
+    public Optional<?> lookupBeanById(final String id) {
+        return isisSystemEnvironment.getIocContainer().lookupById(id);
+    }
+
+    @Override
     public Stream<ManagedBeanAdapter> streamRegisteredBeans() {
         return managedBeansById.get().values().stream();
     }
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/ServiceRegistry_forTesting.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/ServiceRegistry_forTesting.java
index 4d0d508..3ddb912 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/ServiceRegistry_forTesting.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/ServiceRegistry_forTesting.java
@@ -93,6 +93,11 @@ class ServiceRegistry_forTesting implements ServiceRegistry {
         throw _Exceptions.notImplemented();
     }
 
+    @Override
+    public Optional<?> lookupBeanById(String id) {
+        throw _Exceptions.notImplemented();
+    }
+
 
     // -- HELPER
 


[isis] 01/02: ISIS-2189: further minor polishing

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

danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 1875ef3ce58974f9160e00c7d2530c70eb524a4e
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Sat Dec 7 12:35:47 2019 +0000

    ISIS-2189: further minor polishing
---
 .../main/java/org/apache/isis/applib/services/health/Health.java   | 6 +++---
 .../isis/webapp/health/HealthIndicatorUsingHealthCheckService.java | 7 ++++++-
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/health/Health.java b/core/applib/src/main/java/org/apache/isis/applib/services/health/Health.java
index 0315553..76cad7d 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/health/Health.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/health/Health.java
@@ -35,11 +35,11 @@ public class Health {
     @Getter
     private final String message;
     @Getter
-    private final Throwable throwable;
+    private final Throwable cause;
 
-    private Health(final String message, Throwable throwable) {
+    private Health(final String message, Throwable cause) {
         this.message = message;
-        this.throwable = throwable;
+        this.cause = cause;
     }
 
     public boolean getResult() { return message == null; }
diff --git a/core/webapp/src/main/java/org/apache/isis/webapp/health/HealthIndicatorUsingHealthCheckService.java b/core/webapp/src/main/java/org/apache/isis/webapp/health/HealthIndicatorUsingHealthCheckService.java
index ad003ae..b44ac94 100644
--- a/core/webapp/src/main/java/org/apache/isis/webapp/health/HealthIndicatorUsingHealthCheckService.java
+++ b/core/webapp/src/main/java/org/apache/isis/webapp/health/HealthIndicatorUsingHealthCheckService.java
@@ -34,7 +34,12 @@ public class HealthIndicatorUsingHealthCheckService extends AbstractHealthIndica
             if(result) {
                 builder.up();
             } else {
-                builder.down(health.getThrowable());
+                final Throwable cause = health.getCause();
+                if(cause != null) {
+                    builder.down(cause);
+                } else {
+                    builder.down();
+                }
             }
         } else {
             builder.unknown();