From b42bdd5fb3f33f0d90770602ad4fea87af550751 Mon Sep 17 00:00:00 2001 From: "miriam.baglioni" Date: Tue, 2 Apr 2024 16:28:27 +0200 Subject: [PATCH] [UsageCount] add check in case the datasource is not matched against those present in the graph --- .../usagestats/SparkAtomicActionUsageJob.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/actionmanager/usagestats/SparkAtomicActionUsageJob.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/actionmanager/usagestats/SparkAtomicActionUsageJob.java index d6b52ad9b..d74b55475 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/actionmanager/usagestats/SparkAtomicActionUsageJob.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/actionmanager/usagestats/SparkAtomicActionUsageJob.java @@ -111,8 +111,11 @@ public class SparkAtomicActionUsageJob implements Serializable { resultModel .joinWith(datasource, resultModel.col("datasourceId").equalTo(datasource.col("id")), "left") .map((MapFunction, UsageStatsResultModel>) t2 -> { - UsageStatsResultModel usrm = t2._1(); - usrm.setDatasourceId(usrm.getDatasourceId() + "||" + t2._2().getOfficialname().getValue()); + if(Optional.ofNullable(t2._2()).isPresent()) + usrm.setDatasourceId(usrm.getDatasourceId() + "||" + t2._2().getOfficialname().getValue()); + else + usrm.setDatasourceId(usrm.getDatasourceId() + "||NO_MATCH_FOUND"); + return usrm; return usrm; }, Encoders.bean(UsageStatsResultModel.class)) .write()