From 699736addc45fa8e18c4877414f462a8c23e68e8 Mon Sep 17 00:00:00 2001 From: "michele.artini" Date: Wed, 11 Jan 2023 13:14:44 +0100 Subject: [PATCH] NPE prevention --- .../dhp/broker/oa/util/ConversionUtils.java | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/dhp-workflows/dhp-broker-events/src/main/java/eu/dnetlib/dhp/broker/oa/util/ConversionUtils.java b/dhp-workflows/dhp-broker-events/src/main/java/eu/dnetlib/dhp/broker/oa/util/ConversionUtils.java index cfe9ed61c..077ba3b3b 100644 --- a/dhp-workflows/dhp-broker-events/src/main/java/eu/dnetlib/dhp/broker/oa/util/ConversionUtils.java +++ b/dhp-workflows/dhp-broker-events/src/main/java/eu/dnetlib/dhp/broker/oa/util/ConversionUtils.java @@ -137,13 +137,22 @@ public class ConversionUtils { protected static List allResultPids(final Result result) { final Map map = new HashMap<>(); - result.getPid().forEach(sp -> map.put(sp.getValue(), sp)); - result.getInstance().forEach(i -> { - i.getPid().forEach(sp -> map.put(sp.getValue(), sp)); - i.getAlternateIdentifier().forEach(sp -> map.put(sp.getValue(), sp)); - }); - final List pids = mappedList(map.values(), ConversionUtils::oafPidToBrokerPid); - return pids; + + if (result.getPid() != null) { + result.getPid().forEach(sp -> map.put(sp.getValue(), sp)); + } + + if (result.getInstance() != null) { + result.getInstance().forEach(i -> { + if (i.getPid() != null) { + i.getPid().forEach(sp -> map.put(sp.getValue(), sp)); + } + if (i.getAlternateIdentifier() != null) { + i.getAlternateIdentifier().forEach(sp -> map.put(sp.getValue(), sp)); + } + }); + } + return mappedList(map.values(), ConversionUtils::oafPidToBrokerPid); } public static String cleanOpenaireId(final String id) {