From 0d3cf0df17c8de6b99ff4820c2b23c8fb7cf0acb Mon Sep 17 00:00:00 2001
From: Johannes Mey <johannes.mey@tu-dresden.de>
Date: Tue, 12 Feb 2019 15:16:38 +0100
Subject: [PATCH] be much more resilient when getting current config of an
 attribute in a living partition

---
 .../inf/st/mquat/eris/coupling/ERISLivingPartition.java     | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/coupling/ERISLivingPartition.java b/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/coupling/ERISLivingPartition.java
index fb98050..7f18c5a 100644
--- a/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/coupling/ERISLivingPartition.java
+++ b/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/coupling/ERISLivingPartition.java
@@ -79,7 +79,13 @@ public class ERISLivingPartition {
     }
 
     public Optional<ERISLPConfiguration> getConfigForAttribute(ERISAttribute attribute, boolean index) {
+        if (this.configurations == null) {
+            return Optional.empty();
+        }
         for (ERISLPConfiguration config : this.configurations) {
+            if (config == null || config.getAttributesAndKeys() == null || config.getAccessPath() == null || config.getAccessPath().getAddressingMode() == null) {
+                continue;
+            }
             if (config.getAttributesAndKeys().contains(attribute) && config.getAccessPath().getAddressingMode().equals("index") == index) {
                 return Optional.of(config);
             }
-- 
GitLab