ref #9918 distinguish default and parsedEntity deduplication in ImportDeduplicationHe...
authorAndreas Müller <a.mueller@bgbm.org>
Tue, 8 Feb 2022 07:29:14 +0000 (08:29 +0100)
committerAndreas Müller <a.mueller@bgbm.org>
Tue, 8 Feb 2022 07:29:14 +0000 (08:29 +0100)
14 files changed:
app-import/src/main/java/eu/etaxonomy/cdm/app/cyprus/CyprusImagesActivator.java
app-import/src/main/java/eu/etaxonomy/cdm/io/berlinModel/in/BerlinModelAuthorTeamImport.java
app-import/src/main/java/eu/etaxonomy/cdm/io/berlinModel/in/BerlinModelReferenceImport.java
app-import/src/main/java/eu/etaxonomy/cdm/io/berlinModel/in/BerlinModelTaxonNameImport.java
app-import/src/main/java/eu/etaxonomy/cdm/io/berlinModel/in/BerlinModelUserImport.java
app-import/src/main/java/eu/etaxonomy/cdm/io/bogota/BogotaChecklistTaxonImport.java
app-import/src/main/java/eu/etaxonomy/cdm/io/bogota/BogotaSpecimenImport.java
app-import/src/main/java/eu/etaxonomy/cdm/io/greece/FloraHellenicaExcludedTaxonImport.java
app-import/src/main/java/eu/etaxonomy/cdm/io/greece/FloraHellenicaImageImport.java
app-import/src/main/java/eu/etaxonomy/cdm/io/greece/FloraHellenicaImportBase.java
app-import/src/main/java/eu/etaxonomy/cdm/io/greece/FloraHellenicaSynonymImport.java
app-import/src/main/java/eu/etaxonomy/cdm/io/greece/FloraHellenicaTaxonImport.java
app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/gefaesspflanzen/excel/RedListGefaesspflanzenTaxonExcelImport.java
app-import/src/main/java/eu/etaxonomy/cdm/io/salvador/SalvadorSpecimenImport.java

index 835c80878a08370bb6b3be09c6c2fca0b7c13bc2..344570ffe1fc2d1b7840a615cdb4dc09ad36c68d 100644 (file)
@@ -359,7 +359,7 @@ public class CyprusImagesActivator {
             logger.warn("Person could not be parsed: " + artist + " for file " + fileName);
         }
 
-        person = deduplicationHelper.getExistingAuthor(person);
+        person = deduplicationHelper.getExistingAuthor(person, false);
         return person;
     }
 
index 839e896d727b3091febcf01e12196d995e9edcd7..3c13259d3dfbe6e5334c9546d397775e6a181099 100644 (file)
@@ -323,12 +323,12 @@ public class BerlinModelAuthorTeamImport extends BerlinModelImportBase {
     }\r
 \r
     private Person deduplicatePerson(BerlinModelImportState state, Person person) {\r
-        Person result = state.getDeduplicationHelper().getExistingAuthor(person);\r
+        Person result = state.getDeduplicationHelper().getExistingAuthor(person, false);\r
         return result;\r
     }\r
 \r
     private Team deduplicateTeam(BerlinModelImportState state, Team team) {\r
-        Team result = state.getDeduplicationHelper().getExistingAuthor(team);\r
+        Team result = state.getDeduplicationHelper().getExistingAuthor(team, false);\r
         return result;\r
     }\r
 \r
index b832d3deb52662cc7cd80260f2a0269a571c6225..3563950d1051451fd9fc998cc3ee70a60866cb5e 100644 (file)
@@ -1297,12 +1297,12 @@ public class BerlinModelReferenceImport extends BerlinModelImportBase {
     }
 
     private <T extends TeamOrPersonBase<?>> T deduplicatePersonOrTeam(BerlinModelImportState state,T author) {
-        T result = state.getDeduplicationHelper().getExistingAuthor(author);
+        T result = state.getDeduplicationHelper().getExistingAuthor(author, true);
         return result;
     }
 
     private Reference deduplicateReference(BerlinModelImportState state,Reference ref) {
-        Reference result = state.getDeduplicationHelper().getExistingReference(ref);
+        Reference result = state.getDeduplicationHelper().getExistingReference(ref, true);
         return result;
     }
 
index 2a938e5a2633a4c669fb104a66a1f74301b8c1b1..3ae2aee1e2437e808a7476cff0166f638529ceed 100644 (file)
@@ -1176,7 +1176,7 @@ public class BerlinModelTaxonNameImport extends BerlinModelImportBase {
 //            getReferenceService().save(refCand.ref);\r
 //        }\r
 \r
-        Reference nomRef = state.getDeduplicationHelper().getExistingReference(refCand.ref);\r
+        Reference nomRef = state.getDeduplicationHelper().getExistingReference(refCand.ref, true);\r
         if (nomRef != refCand.ref){\r
             System.out.println("Ref deduplicated: " + nomRef.getTitleCache() + "(RefDetId: " + refDetailId + ")");\r
             if (nomRef.isPersited() && !getSession().contains(nomRef)){\r
index a5bee1487ef7e4bbf648443833fa058e7cb6e722..3d8a1a02f88c4a6e49fd786d0d8f1f8ec6e47a36 100644 (file)
@@ -154,7 +154,7 @@ public class BerlinModelUserImport extends BerlinModelImportBase {
 \r
 \r
     private Person deduplicatePerson(BerlinModelImportState state, Person person) {\r
-        Person result = state.getDeduplicationHelper().getExistingAuthor(person);\r
+        Person result = state.getDeduplicationHelper().getExistingAuthor(person, false);\r
         return result;\r
     }\r
 \r
index b144f4c4e7b9e5bf6d7f08189079e0edda4f03a6..0d00095901e432bb732da48690295ea1d05dcb87 100644 (file)
@@ -170,7 +170,7 @@ public class BogotaChecklistTaxonImport<CONFIG extends BogotaChecklistImportConf
         }
         TaxonName name = (TaxonName)parser.parseFullName(nameStr, state.getConfig().getNomenclaturalCode(), rank);
         name.addImportSource(noStr, getNamespace(state.getConfig()), getSourceCitation(state), null);
-        name = state.getDeduplicationHelper().getExistingName(name);
+        name = state.getDeduplicationHelper().getExistingName(name, true);
         if (name.isProtectedTitleCache()){
             logger.warn(line + "Misapplied name could not be parsed: " + nameStr);
         }
@@ -194,7 +194,7 @@ public class BogotaChecklistTaxonImport<CONFIG extends BogotaChecklistImportConf
         Rank rank = Rank.SPECIES();
         TaxonName name = (TaxonName)parser.parseFullName(nameStr, state.getConfig().getNomenclaturalCode(), rank);
         name.addImportSource(noStr, getNamespace(state.getConfig()), getSourceCitation(state), null);
-        name = state.getDeduplicationHelper().getExistingName(name);
+        name = state.getDeduplicationHelper().getExistingName(name, true);
         if (name.isProtectedTitleCache()){
             logger.warn(line + "Synonym could not be parsed: " + nameStr);
         }
@@ -217,7 +217,7 @@ public class BogotaChecklistTaxonImport<CONFIG extends BogotaChecklistImportConf
                 Rank rank = Rank.SUBSPECIES();
                 TaxonName name = (TaxonName)parser.parseFullName(split.trim(), state.getConfig().getNomenclaturalCode(), rank);
                 name.addImportSource(noStr, getNamespace(state.getConfig()), getSourceCitation(state), null);
-                name = state.getDeduplicationHelper().getExistingName(name);
+                name = state.getDeduplicationHelper().getExistingName(name, true);
                 if (name.isProtectedTitleCache()){
                     logger.warn(line + "Infraspecific taxon could not be parsed: " + split.trim());
                 }
@@ -247,7 +247,7 @@ public class BogotaChecklistTaxonImport<CONFIG extends BogotaChecklistImportConf
         Rank rank = Rank.SPECIES();
         TaxonName name = (TaxonName)parser.parseFullName(nameStr, state.getConfig().getNomenclaturalCode(), rank);
         name.addImportSource(noStr, getNamespace(state.getConfig()), getSourceCitation(state), null);
-        name = state.getDeduplicationHelper().getExistingName(name);
+        name = state.getDeduplicationHelper().getExistingName(name, true);
         if (name.isProtectedTitleCache()){
             logger.warn(line + "Name could not be parsed: " + nameStr);
         }
index 525aafb7f08773088d17ece8a8ddef2b5c342f63..ef31b62177e1cbdd9da08f6581da40b2e58d634e 100644 (file)
@@ -591,7 +591,7 @@ public class BogotaSpecimenImport<CONFIG extends BogotaSpecimenImportConfigurato
             state.getResult().addError(message, null, line);
             collector = null;
         }
-        collector = state.getDeduplicationHelper().getExistingAgent(collector);
+        collector = state.getDeduplicationHelper().getExistingAgent(collector, false);
         facade.setCollector(collector);
     }
 
@@ -674,7 +674,7 @@ public class BogotaSpecimenImport<CONFIG extends BogotaSpecimenImportConfigurato
             }
             person.setFamilyName(familyName);
             person.setInitials(initials);
-            TeamOrPersonBase<?> result = state.getDeduplicationHelper().getExistingAuthor(person);
+            TeamOrPersonBase<?> result = state.getDeduplicationHelper().getExistingAuthor(person, false);
             return result;
         }
     }
index a5f19d01a5edd29316b88ea7c2429bf047327d66..9136d4d3ced5ec8bd322531af1611b308a1ae105 100644 (file)
@@ -113,7 +113,7 @@ public class FloraHellenicaExcludedTaxonImport<CONFIG extends FloraHellenicaImpo
             taxonStr = taxonStr.substring(0, taxonStr.length() - "s.str.".length() ).trim();
         }
         TaxonName name = (TaxonName)parser.parseFullName(taxonStr, NomenclaturalCode.ICNAFP, null);
-        name = replaceNameAuthorsAndReferences(state, name);
+        name = replaceNameAuthorsAndReferences(state, name, true);
         if (name.isProtectedTitleCache()){
             logger.warn(line + "Name could not be parsed: " + taxonStr);
         }
@@ -154,7 +154,7 @@ public class FloraHellenicaExcludedTaxonImport<CONFIG extends FloraHellenicaImpo
             familyNode = family.getTaxonNodes().iterator().next();
         }else{
             TaxonName name = makeFamilyName(state, familyStr);
-            name = replaceNameAuthorsAndReferences(state, name);
+            name = replaceNameAuthorsAndReferences(state, name, false);
 
             Reference sec = getSecReference(state);
             family = Taxon.NewInstance(name, sec);
index f4f8b786097869160105fbc6716e6f10a07dcfc5..416cb6600758b36160a9fca7ec604dea845162f2 100644 (file)
@@ -154,7 +154,7 @@ public class FloraHellenicaImageImport<CONFIG extends FloraHellenicaImportConfig
                 }else{
                     person.setTitleCache("artistStr", true);
                 }
-                person = state.getDeduplicationHelper().getExistingAuthor(person);
+                person = state.getDeduplicationHelper().getExistingAuthor(person, false);
 
                 media.setArtist(person);
                 //copyright
index a4381eed18371166e043511c579ac5ab9e8a9fe1..55caaad5145b35757edd0f4d3023e24fcaafe8c8 100644 (file)
@@ -148,8 +148,8 @@ public abstract class FloraHellenicaImportBase<CONFIG extends FloraHellenicaImpo
         return name;
     }
 
-    protected TaxonName replaceNameAuthorsAndReferences(SimpleExcelTaxonImportState<CONFIG> state, TaxonName name) {
-        TaxonName result = state.getDeduplicationHelper().getExistingName(name);
+    protected TaxonName replaceNameAuthorsAndReferences(SimpleExcelTaxonImportState<CONFIG> state, TaxonName name, boolean parsed) {
+        TaxonName result = state.getDeduplicationHelper().getExistingName(name, parsed);
         state.getDeduplicationHelper().replaceAuthorNamesAndNomRef(result);
         return result;
     }
index 755396d8e28cb2a0b82efa813168bf36cb29cfa7..4621417f16b35bb43f4b024bd47b324601c8c49a 100644 (file)
@@ -140,7 +140,7 @@ public class FloraHellenicaSynonymImport<CONFIG extends FloraHellenicaImportConf
                 logger.warn(line + "Nom. status not recognized: " + parsedSynStr[3]);
             }
         }
-        name = replaceNameAuthorsAndReferences(state, name);
+        name = replaceNameAuthorsAndReferences(state, name, true);
 
 
         TaxonBase<?> result;
@@ -193,12 +193,12 @@ public class FloraHellenicaSynonymImport<CONFIG extends FloraHellenicaImportConf
                     split = split.replace("T.", "Taraxacum");
                 }
                 nonName = TaxonName.castAndDeproxy(this.parser.parseFullName(split));
-                nonName = replaceNameAuthorsAndReferences(state, nonName);
+                nonName = replaceNameAuthorsAndReferences(state, nonName, true);
                 name.addRelationshipFromName(nonName, NameRelationshipType.BLOCKING_NAME_FOR(), null, null);
             }else{
                 String nameStr = name.getNameCache().replace(" hort.", "") + " " + split;
                 nonName = TaxonName.castAndDeproxy(this.parser.parseFullName(nameStr));
-                nonName = replaceNameAuthorsAndReferences(state, nonName);
+                nonName = replaceNameAuthorsAndReferences(state, nonName, true);
                 name.addRelationshipToName(nonName, NameRelationshipType.LATER_HOMONYM(), null, null);
                 if (lastHomonym != null){
                     nonName.addRelationshipToName(lastHomonym, NameRelationshipType.LATER_HOMONYM(), null, null);
index d6e405c213be60fa9b9c70fadf1752d7f35e2a61..cc04e75196f5d2801ef15ac4777c11133d7b7520 100644 (file)
@@ -397,7 +397,7 @@ public class FloraHellenicaTaxonImport<CONFIG extends FloraHellenicaImportConfig
         if (name.isProtectedTitleCache()){
             logger.warn(line + "Name could not be parsed: " + nameStr);
         }
-        name = replaceNameAuthorsAndReferences(state, name);
+        name = replaceNameAuthorsAndReferences(state, name, true);
 
         Taxon taxon = Taxon.NewInstance(name, getSecReference(state));
         taxon.addImportSource(noStr, getWorksheetName(state.getConfig()), getSourceCitation(state), null);
@@ -454,7 +454,7 @@ public class FloraHellenicaTaxonImport<CONFIG extends FloraHellenicaImportConfig
             Map<String, String> record, String genusStr) {
         TaxonName name = TaxonNameFactory.NewBotanicalInstance(Rank.GENUS());
         name.setGenusOrUninomial(genusStr);
-        name = replaceNameAuthorsAndReferences(state, name);
+        name = replaceNameAuthorsAndReferences(state, name, false);
         Taxon genus = Taxon.NewInstance(name, getSecReference(state));
         TaxonNode family = getFamilyTaxon(record, state);
         TaxonNode genusNode = family.addChildTaxon(genus, getSecReference(state), null);
@@ -483,7 +483,7 @@ public class FloraHellenicaTaxonImport<CONFIG extends FloraHellenicaImportConfig
             familyNode = family.getTaxonNodes().iterator().next();
         }else{
             TaxonName name = makeFamilyName(state, familyStr);
-            name = replaceNameAuthorsAndReferences(state, name);
+            name = replaceNameAuthorsAndReferences(state, name, false);
 
             Reference sec = getSecReference(state);
             family = Taxon.NewInstance(name, sec);
@@ -515,7 +515,7 @@ public class FloraHellenicaTaxonImport<CONFIG extends FloraHellenicaImportConfig
             groupNode = group.getTaxonNodes().iterator().next();
         }else{
             TaxonName name = makeFamilyName(state, groupStr);
-            name = replaceNameAuthorsAndReferences(state, name);
+            name = replaceNameAuthorsAndReferences(state, name, false);
 
             Reference sec = getSecReference(state);
             group = Taxon.NewInstance(name, sec);
@@ -540,7 +540,7 @@ public class FloraHellenicaTaxonImport<CONFIG extends FloraHellenicaImportConfig
 
             TaxonName plantaeName = TaxonNameFactory.NewBotanicalInstance(Rank.KINGDOM());
             plantaeName.setGenusOrUninomial("Plantae");
-            plantaeName = replaceNameAuthorsAndReferences(state, plantaeName);
+            plantaeName = replaceNameAuthorsAndReferences(state, plantaeName, false);
 
             Taxon plantae = Taxon.NewInstance(plantaeName, sec);
             TaxonNode plantaeNode = classification.addChildTaxon(plantae, null, null);
index e7a199cb7f122ca5a1217d7327af5e25460dbab9..7b127cec703a183bdd4735b28bbccf9cb9392a14 100644 (file)
@@ -156,7 +156,7 @@ public class RedListGefaesspflanzenTaxonExcelImport<CONFIG extends RedListGefaes
         Rank rank = Rank.SPECIES();
         TaxonName name = (TaxonName)parser.parseFullName(nameStr, state.getConfig().getNomenclaturalCode(), rank);
         name.addImportSource(noStr, getNamespace(state.getConfig()), getSourceCitation(state), null);
-        name = state.getDeduplicationHelper().getExistingName(name);
+        name = state.getDeduplicationHelper().getExistingName(name, true);
         if (name.isProtectedTitleCache()){
             logger.warn(line + "Name could not be parsed: " + nameStr);
         }
index f89d66d957d2211bc445347d45e6a39895c394b1..7d2ebee30c2a2a14d6db04925e3b3a525aa9abd5 100644 (file)
@@ -262,7 +262,7 @@ public class SalvadorSpecimenImport
         //collector
         TeamOrPersonBase<?> collector = makeCollectorTeam(state, record, row);
         if (collector != null){
-            collector = state.getDeduplicationHelper().getExistingAuthor(collector);
+            collector = state.getDeduplicationHelper().getExistingAuthor(collector, false);
             facade.setCollector(collector);
         }
 
@@ -569,7 +569,7 @@ public class SalvadorSpecimenImport
             state.getResult().addWarning(message, row);
             result.setTitleCache(str, true);
         }
-        result = state.getDeduplicationHelper().getExistingAuthor(result);
+        result = state.getDeduplicationHelper().getExistingAuthor(result, false);
 
         team.addTeamMember(result);
         return ;