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;