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();