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 2020/01/22 14:48:40 UTC

[isis] 01/03: ISIS-2158: don't NPE on collectionLayoutData not found

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

commit b804ff2269ae589137fa30ef167e9199ed2baf01
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Jan 22 13:25:22 2020 +0100

    ISIS-2158: don't NPE on collectionLayoutData not found
---
 .../services/grid/bootstrap3/GridSystemServiceBS3.java       | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/bootstrap3/GridSystemServiceBS3.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/bootstrap3/GridSystemServiceBS3.java
index cbe8f23..0c9d0d0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/bootstrap3/GridSystemServiceBS3.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/bootstrap3/GridSystemServiceBS3.java
@@ -72,12 +72,14 @@ import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 import static org.apache.isis.core.commons.internal.base._NullSafe.stream;
 
 import lombok.val;
+import lombok.extern.log4j.Log4j2;
 
 @Service
 @Named("isisMetaModel.GridSystemServiceBS3")
 @Order(OrderPrecedence.MIDPOINT)
 @Primary
 @Qualifier("BS3")
+@Log4j2
 public class GridSystemServiceBS3 extends GridSystemServiceAbstract<BS3Grid> {
 
     public static final String TNS = "http://isis.apache.org/applib/layout/grid/bootstrap3";
@@ -517,9 +519,13 @@ public class GridSystemServiceBS3 extends GridSystemServiceAbstract<BS3Grid> {
                 if(!(memberOrderFacet instanceof MemberOrderFacetAnnotation)) {
                     // if binding not via annotation, then explicitly bind this
                     // action to the property
-                    final CollectionLayoutData collectionLayoutData = collectionLayoutDataById.get(id);
-                    final ActionLayoutData actionLayoutData = new ActionLayoutData(actionId);
-                    addActionTo(collectionLayoutData, actionLayoutData);
+                    val collectionLayoutData = collectionLayoutDataById.get(id);
+                    if(collectionLayoutData==null) {
+                        log.warn("failed to lookup CollectionLayoutData by id '{}'", id);
+                    } else {
+                        val actionLayoutData = new ActionLayoutData(actionId);
+                        addActionTo(collectionLayoutData, actionLayoutData);
+                    }
                 }
                 continue;
             }