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/01/10 09:34:43 UTC
[isis] 02/02: ISIS-2081: adds null guards for LayoutFacet
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 8d1e30aa768db8ec1896de15f22dd7f7277f634c
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Jan 10 10:34:20 2019 +0100
ISIS-2081: adds null guards for LayoutFacet
since can be invoked from GridFacetDefault when there may be no objectAdapter (eg in collections).
Also added null guards for other ui event facets.
---
...ClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.java | 4 ++++
...CssClassFacetViaViewModelLayoutAnnotationUsingCssClassUiEvent.java | 4 ++++
.../IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.java | 4 ++++
.../IconFacetViaViewModelLayoutAnnotationUsingIconUiEvent.java | 4 ++++
.../LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent.java | 4 ++++
.../LayoutFacetViaViewModelLayoutAnnotationUsingLayoutUiEvent.java | 4 ++++
.../TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java | 4 ++++
.../TitleFacetViaViewModelLayoutAnnotationUsingTitleUiEvent.java | 4 ++++
.../isis/core/metamodel/facets/object/grid/GridFacetDefault.java | 4 +++-
9 files changed, 35 insertions(+), 1 deletion(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.java
index 2f90964..50b340f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.java
@@ -82,6 +82,10 @@ public class CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent ex
@Override
public String cssClass(final ObjectAdapter owningAdapter) {
+ if(owningAdapter == null) {
+ return null;
+ }
+
final CssClassUiEvent<Object> cssClassUiEvent = newCssClassUiEvent(owningAdapter);
eventBusService.post(cssClassUiEvent);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetViaViewModelLayoutAnnotationUsingCssClassUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetViaViewModelLayoutAnnotationUsingCssClassUiEvent.java
index 0ad34b5..f9c1342 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetViaViewModelLayoutAnnotationUsingCssClassUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetViaViewModelLayoutAnnotationUsingCssClassUiEvent.java
@@ -83,6 +83,10 @@ public class CssClassFacetViaViewModelLayoutAnnotationUsingCssClassUiEvent exten
@Override
public String cssClass(final ObjectAdapter owningAdapter) {
+ if(owningAdapter == null) {
+ return null;
+ }
+
final CssClassUiEvent<Object> cssClassUiEvent = newCssClassUiEvent(owningAdapter);
eventBusService.post(cssClassUiEvent);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.java
index 10a7a9f..29594f9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.java
@@ -80,6 +80,10 @@ public class IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent extends Ic
@Override
public String iconName(final ObjectAdapter owningAdapter) {
+ if(owningAdapter == null) {
+ return null;
+ }
+
final IconUiEvent<Object> iconUiEvent = newIconUiEvent(owningAdapter);
eventBusService.post(iconUiEvent);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/IconFacetViaViewModelLayoutAnnotationUsingIconUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/IconFacetViaViewModelLayoutAnnotationUsingIconUiEvent.java
index 596f2d8..d628e98 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/IconFacetViaViewModelLayoutAnnotationUsingIconUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/IconFacetViaViewModelLayoutAnnotationUsingIconUiEvent.java
@@ -81,6 +81,10 @@ public class IconFacetViaViewModelLayoutAnnotationUsingIconUiEvent extends IconF
@Override
public String iconName(final ObjectAdapter owningAdapter) {
+ if(owningAdapter == null) {
+ return null;
+ }
+
final IconUiEvent<Object> iconUiEvent = newIconUiEvent(owningAdapter);
eventBusService.post(iconUiEvent);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent.java
index b2bd9bd..ea67259 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent.java
@@ -83,6 +83,10 @@ public class LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent extend
@Override
public String layout(final ObjectAdapter owningAdapter) {
+ if(owningAdapter == null) {
+ return null;
+ }
+
final LayoutUiEvent<Object> layoutUiEvent = newLayoutUiEvent(owningAdapter);
eventBusService.post(layoutUiEvent);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/LayoutFacetViaViewModelLayoutAnnotationUsingLayoutUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/LayoutFacetViaViewModelLayoutAnnotationUsingLayoutUiEvent.java
index a2c17b8..024ffa7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/LayoutFacetViaViewModelLayoutAnnotationUsingLayoutUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/LayoutFacetViaViewModelLayoutAnnotationUsingLayoutUiEvent.java
@@ -83,6 +83,10 @@ public class LayoutFacetViaViewModelLayoutAnnotationUsingLayoutUiEvent extends F
@Override
public String layout(final ObjectAdapter owningAdapter) {
+ if(owningAdapter == null) {
+ return null;
+ }
+
final LayoutUiEvent<Object> layoutUiEvent = newLayoutUiEvent(owningAdapter);
eventBusService.post(layoutUiEvent);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
index 87b2023..b83d04b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
@@ -92,6 +92,10 @@ public class TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent extends
@Override
public String title(final ObjectAdapter owningAdapter) {
+ if(owningAdapter == null) {
+ return null;
+ }
+
final TitleUiEvent<Object> titleUiEvent = newTitleUiEvent(owningAdapter);
eventBusService.post(titleUiEvent);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaViewModelLayoutAnnotationUsingTitleUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaViewModelLayoutAnnotationUsingTitleUiEvent.java
index e16b058..c5effcf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaViewModelLayoutAnnotationUsingTitleUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaViewModelLayoutAnnotationUsingTitleUiEvent.java
@@ -93,6 +93,10 @@ public class TitleFacetViaViewModelLayoutAnnotationUsingTitleUiEvent extends Tit
@Override
public String title(final ObjectAdapter owningAdapter) {
+ if(owningAdapter == null) {
+ return null;
+ }
+
final TitleUiEvent<Object> titleUiEvent = newTitleUiEvent(owningAdapter);
eventBusService.post(titleUiEvent);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/grid/GridFacetDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/grid/GridFacetDefault.java
index b36de92..77d8def 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/grid/GridFacetDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/grid/GridFacetDefault.java
@@ -65,7 +65,9 @@ public class GridFacetDefault
}
final Class<?> domainClass = getSpecification().getCorrespondingClass();
final LayoutFacet layoutFacet = getFacetHolder().getFacet(LayoutFacet.class);
- final String layout = layoutFacet != null ? layoutFacet.layout(objectAdapterIfAny) : null;
+ final String layout = layoutFacet != null && objectAdapterIfAny != null
+ ? layoutFacet.layout(objectAdapterIfAny)
+ : null;
this.grid = load(domainClass, layout);
return this.grid;