diff --git a/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/model/OpenaireDuplicate.java b/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/model/OpenaireDuplicate.java index de1c4989..9d756b60 100644 --- a/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/model/OpenaireDuplicate.java +++ b/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/model/OpenaireDuplicate.java @@ -29,12 +29,16 @@ public class OpenaireDuplicate implements Serializable { @Column(name = "reltype") private String relType; + @Column(name = "oa_collectedfrom") + private String oaCollectedFrom; + public OpenaireDuplicate() {} - public OpenaireDuplicate(final String localId, final String oaOriginalId, final String relType) { + public OpenaireDuplicate(final String localId, final String oaOriginalId, final String relType, final String oaCollectedFrom) { this.localId = localId; this.oaOriginalId = oaOriginalId; this.relType = relType; + this.oaCollectedFrom = oaCollectedFrom; } public String getLocalId() { @@ -61,9 +65,18 @@ public class OpenaireDuplicate implements Serializable { this.relType = relType; } + public String getOaCollectedFrom() { + return oaCollectedFrom; + } + + public void setOaCollectedFrom(final String oaCollectedFrom) { + this.oaCollectedFrom = oaCollectedFrom; + } + @Override public String toString() { - return String.format("OpenaireDuplicate [localId=%s, oaOriginalId=%s, relType=%s]", localId, oaOriginalId, relType); + return String + .format("OpenaireDuplicate [localId=%s, oaOriginalId=%s, relType=%s, oaCollectedFrom=%s]", localId, oaOriginalId, relType, oaCollectedFrom); } } diff --git a/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/utils/DatabaseUtils.java b/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/utils/DatabaseUtils.java index 490f3bb9..5c8f8ca4 100644 --- a/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/utils/DatabaseUtils.java +++ b/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/utils/DatabaseUtils.java @@ -143,10 +143,10 @@ public class DatabaseUtils { final List dups = new ArrayList<>(); - dups.add(new OpenaireDuplicate(newId, oldId, SimilarityType.is_similar.toString())); + dups.add(new OpenaireDuplicate(newId, oldId, SimilarityType.is_similar.toString(), "")); dups.addAll(openaireDuplicateRepository.findByLocalId(oldId) .stream() - .map(d -> new OpenaireDuplicate(newId, d.getOaOriginalId(), SimilarityType.suggested.toString())) + .map(d -> new OpenaireDuplicate(newId, d.getOaOriginalId(), SimilarityType.suggested.toString(), d.getOaCollectedFrom())) .collect(Collectors.toList())); openaireDuplicateRepository.saveAll(dups); @@ -383,7 +383,7 @@ public class DatabaseUtils { final List newDuplicates = similarIds.stream() .map(openaireDuplicateRepository::findByLocalId) .flatMap(l -> l.stream()) - .map(d -> new OpenaireDuplicate(masterId, d.getOaOriginalId(), d.getRelType())) + .map(d -> new OpenaireDuplicate(masterId, d.getOaOriginalId(), d.getRelType(), d.getOaCollectedFrom())) .collect(Collectors.toList()); openaireDuplicateRepository.saveAll(newDuplicates);