From 550e1a4e334f6c459fe56d30b0c6c92bc1fd152d Mon Sep 17 00:00:00 2001 From: "miriam.baglioni" Date: Wed, 13 Apr 2022 14:34:48 +0200 Subject: [PATCH] [Enrichment Step] issue of NPE on author should be fixed --- .../PrepareResultOrcidAssociationStep1.java | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/dhp-workflows/dhp-enrichment/src/main/java/eu/dnetlib/dhp/orcidtoresultfromsemrel/PrepareResultOrcidAssociationStep1.java b/dhp-workflows/dhp-enrichment/src/main/java/eu/dnetlib/dhp/orcidtoresultfromsemrel/PrepareResultOrcidAssociationStep1.java index 0346cd438..3b5684b5a 100644 --- a/dhp-workflows/dhp-enrichment/src/main/java/eu/dnetlib/dhp/orcidtoresultfromsemrel/PrepareResultOrcidAssociationStep1.java +++ b/dhp-workflows/dhp-enrichment/src/main/java/eu/dnetlib/dhp/orcidtoresultfromsemrel/PrepareResultOrcidAssociationStep1.java @@ -117,14 +117,22 @@ public class PrepareResultOrcidAssociationStep1 { Dataset relation = readPath(spark, outputPath + "/relationSubset", Relation.class); log.info("Reading Graph table from: {}", inputResultPath); + readPath(spark, inputResultPath, resultClazz) - .filter( - (FilterFunction) r -> !r.getDataInfo().getDeletedbyinference() && !r.getDataInfo().getInvisible()) - .filter((FilterFunction) r -> r.getAuthor().stream().anyMatch(a -> hasAllowedPid(a, allowedPids))) - .write() - .mode(SaveMode.Overwrite) - .option("compression", "gzip") - .json(outputPath + "/resultSubset"); + .filter( + (FilterFunction) r -> !r.getDataInfo().getDeletedbyinference() && !r.getDataInfo().getInvisible()) + .filter((FilterFunction) r -> + Optional.ofNullable(r.getAuthor()) + .map(al -> al.stream().anyMatch( + a -> hasAllowedPid(a, allowedPids))) + .orElse(false) + + ) + .write() + .mode(SaveMode.Overwrite) + .option("compression", "gzip") + .json(outputPath + "/resultSubset"); + Dataset result = readPath(spark, outputPath + "/resultSubset", resultClazz);