diff --git a/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/model/view/OtherName.java b/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/model/view/OtherName.java index 3bfe9f91..e7f07d8a 100644 --- a/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/model/view/OtherName.java +++ b/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/model/view/OtherName.java @@ -14,6 +14,13 @@ public class OtherName implements Serializable { private String lang; + public OtherName() {} + + public OtherName(final String name, final String lang) { + this.name = name; + this.lang = lang; + } + public String getName() { return name; } diff --git a/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/repository/OpenaireConflictRepository.java b/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/repository/OpenaireConflictRepository.java index e3d33dc6..87f4939c 100644 --- a/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/repository/OpenaireConflictRepository.java +++ b/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/repository/OpenaireConflictRepository.java @@ -22,8 +22,8 @@ public interface OpenaireConflictRepository extends JpaRepository StringUtils.equalsIgnoreCase(s, newOrg.getName())) + .map(s -> new eu.dnetlib.organizations.model.view.OtherName(s, "UNKNOWN")) + .collect(Collectors.toList())); + final String masterId = insertOrUpdateOrganization(newOrg, user, false); // I hide the merged organizations @@ -406,6 +414,14 @@ public class DatabaseUtils { newDuplicates.forEach(d -> d.setLocalId(masterId)); saveDuplicates(newDuplicates, user); + final OffsetDateTime now = OffsetDateTime.now(); + + for (int i = 0; i < ids.size(); i++) { + for (int j = i + 1; j < ids.size(); j++) { + openaireConflictRepository.updateStatus(ids.get(i), ids.get(j), SimilarityType.is_similar.toString(), user, now); + } + } + return masterId; } diff --git a/apps/dnet-orgs-database-application/src/main/resources/sql/schema.sql b/apps/dnet-orgs-database-application/src/main/resources/sql/schema.sql index b046b5f4..b5f41ad7 100644 --- a/apps/dnet-orgs-database-application/src/main/resources/sql/schema.sql +++ b/apps/dnet-orgs-database-application/src/main/resources/sql/schema.sql @@ -536,7 +536,12 @@ FROM LEFT OUTER JOIN organizations o1 ON (c.id1 = o1.id) LEFT OUTER JOIN organizations o2 ON (c.id2 = o2.id) WHERE - o1.id IS NOT NULL AND O2.id IS NOT NULL AND c.idgroup IS NOT NULL; + o1.id IS NOT NULL + AND o2.id IS NOT NULL + AND o1.status = 'approved' + AND o2.status = 'approved' + AND c.idgroup IS NOT NULL + AND c.reltype = 'suggested'; CREATE VIEW duplicate_groups_view AS SELECT o.id,