From 314c62e1aa636b5f0cde2b0c84670f0d5c8335cd Mon Sep 17 00:00:00 2001 From: George Kalampokis Date: Tue, 9 Jun 2020 17:12:09 +0300 Subject: [PATCH] Prevent duplicate researchers to be added when importing from RDA json --- .../src/main/java/eu/eudat/models/rda/mapper/DmpRDAMapper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/DmpRDAMapper.java b/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/DmpRDAMapper.java index 35fe012a6..a4350b53a 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/DmpRDAMapper.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/DmpRDAMapper.java @@ -2,6 +2,7 @@ package eu.eudat.models.rda.mapper; import eu.eudat.data.entities.*; import eu.eudat.logic.services.ApiContext; +import eu.eudat.logic.utilities.helpers.StreamDistinctBy; import eu.eudat.models.rda.Dmp; import eu.eudat.models.rda.DmpId; import net.minidev.json.JSONObject; @@ -80,7 +81,7 @@ public class DmpRDAMapper { } } if (rda.getContributor() != null && !rda.getContributor().isEmpty()) { - entity.setResearchers(rda.getContributor().stream().map(ContributorRDAMapper::toEntity).collect(Collectors.toSet())); + entity.setResearchers(rda.getContributor().stream().map(ContributorRDAMapper::toEntity).filter(StreamDistinctBy.distinctByKey(Researcher::getReference)).collect(Collectors.toSet())); } entity.setCreated(rda.getCreated()); entity.setModified(rda.getModified());