diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/mapper/prefilling/PrefillingMapper.java b/dmp-backend/web/src/main/java/eu/eudat/logic/mapper/prefilling/PrefillingMapper.java index f54086649..b869320e9 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/mapper/prefilling/PrefillingMapper.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/mapper/prefilling/PrefillingMapper.java @@ -67,7 +67,7 @@ public class PrefillingMapper { } JsonNode valueNode = mapper.readTree(value); List parsedValues = new ArrayList<>(); - if (valueNode.isArray() && (!valueNode.get(0).isTextual())) { + if (valueNode.isArray() && (valueNode.get(0) != null && !valueNode.get(0).isTextual())) { if (prefillingMapping.getSubSource() == null || prefillingMapping.getSubSource().isEmpty()) { throw new IllegalArgumentException("Source value is an array but no subSource field have been set"); } @@ -83,7 +83,7 @@ public class PrefillingMapper { String parsedValue = null; if (valueNode.isTextual()) { parsedValue = valueNode.textValue().replace(trimRegex, ""); - }else if (valueNode.isArray() && valueNode.get(0).isTextual()) { + }else if (valueNode.isArray() && (valueNode.get(0) != null && valueNode.get(0).isTextual())) { List values = new LinkedList<>(); for (int i = 0; i < valueNode.size(); i++) { values.add(valueNode.get(i).textValue().replace(trimRegex, ""));