From: Katja Luther Date: Mon, 19 Jun 2017 13:23:20 +0000 (+0200) Subject: smaller changes in specimen import and excel import X-Git-Tag: 4.8.0^2~74 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/cdmlib.git/commitdiff_plain/451fef0fce4ca56943497843dd27b22dfdfd9530 smaller changes in specimen import and excel import --- diff --git a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/excel/common/ExcelImportConfiguratorBase.java b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/excel/common/ExcelImportConfiguratorBase.java index e42b3d6b8d..db5c3a92da 100755 --- a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/excel/common/ExcelImportConfiguratorBase.java +++ b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/excel/common/ExcelImportConfiguratorBase.java @@ -29,7 +29,8 @@ public abstract class ExcelImportConfiguratorBase //TODO private static IInputTransformer defaultTransformer = null; private byte[] stream; - + private boolean deduplicateReferences = true; + private boolean deduplicateAuthors = false; /** * @param url * @param destination @@ -70,4 +71,26 @@ public abstract class ExcelImportConfiguratorBase public void setStream(byte[] stream) { this.stream = stream; } + + /** + * @return the deduplicateReferences + */ + public boolean isDeduplicateReferences() { + return deduplicateReferences; + } + + /** + * @param deduplicateReferences the deduplicateReferences to set + */ + public void setDeduplicateReferences(boolean deduplicateReferences) { + this.deduplicateReferences = deduplicateReferences; + } + + public boolean isDeduplicateAuthors() { + return deduplicateAuthors; + } + + public void setDeduplicateAuthors(boolean deduplicateAuthors) { + this.deduplicateAuthors = deduplicateAuthors; + } } diff --git a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/excel/common/ExcelImporterBase.java b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/excel/common/ExcelImporterBase.java index 3f3f1b1e63..63d04079b9 100755 --- a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/excel/common/ExcelImporterBase.java +++ b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/excel/common/ExcelImporterBase.java @@ -25,8 +25,10 @@ import eu.etaxonomy.cdm.common.ExcelUtils; import eu.etaxonomy.cdm.io.common.CdmImportBase; import eu.etaxonomy.cdm.io.distribution.excelupdate.ExcelDistributionUpdateConfigurator; import eu.etaxonomy.cdm.io.excel.taxa.NormalExplicitImportConfigurator; +import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase; import eu.etaxonomy.cdm.model.common.TimePeriod; import eu.etaxonomy.cdm.model.name.NomenclaturalCode; +import eu.etaxonomy.cdm.model.reference.Reference; import eu.etaxonomy.cdm.strategy.parser.TimePeriodParser; /** @@ -144,7 +146,12 @@ public abstract class ExcelImporterBase 1){ String detail = split[split.length-1]; taxonName.setNomenclaturalMicroReference(detail.trim()); - pub = pub.substring(0, pub.length() - detail.length() - 1).trim(); + } - ref.setAbbrevTitle(pub); + // ref.setAbbrevTitle(pub); if (ref.getAuthorship() == null){ @@ -817,15 +818,15 @@ public class NormalExplicitImport extends TaxonExcelImporterBase { } //Create the taxon - Reference sec = state.getConfig().getSourceReference(); + //Reference sec = state.getConfig().getSourceReference(); // Create the status nameStatus = CdmUtils.Nz(nameStatus).trim().toLowerCase(); if (validMarkers.contains(nameStatus)){ - taxonBase = Taxon.NewInstance(taxonName, sec); + taxonBase = Taxon.NewInstance(taxonName, null); }else if (synonymMarkers.contains(nameStatus)){ - taxonBase = Synonym.NewInstance(taxonName, sec); + taxonBase = Synonym.NewInstance(taxonName, null); }else { - Taxon taxon = Taxon.NewInstance(taxonName, sec); + Taxon taxon = Taxon.NewInstance(taxonName, null); if (nameStatusMarkers.contains(nameStatus)){ if (nameStatus.equals(NOM_ILLEG)){ taxonName.addStatus(NomenclaturalStatusType.ILLEGITIMATE(), null, null); @@ -839,8 +840,8 @@ public class NormalExplicitImport extends TaxonExcelImporterBase { } taxonBase = taxon; } - taxonBase.getName().addSource(OriginalSourceType.Import, null,"TaxonName" ,null, null); - taxonBase.addSource(OriginalSourceType.Import, null,"TaxonName" ,null, null); + taxonBase.getName().addSource(OriginalSourceType.Import, null,"TaxonName" ,state.getConfig().getSourceReference(), null); + taxonBase.addSource(OriginalSourceType.Import, null,"TaxonName" ,state.getConfig().getSourceReference(), null); return taxonBase; } @@ -852,14 +853,16 @@ public class NormalExplicitImport extends TaxonExcelImporterBase { //TODO implementation must be improved when matching of taxon names with existing names is implemented //=> the assumption that the only description is the description added by this import //is wrong then - private TaxonNameDescription getNameDescription(TaxonName name) { + private TaxonNameDescription getNameDescription(TaxonName name, TaxonExcelImportState state) { Set descriptions = name.getDescriptions(); if (descriptions.size()>1){ throw new IllegalStateException("Implementation does not yet support names with multiple descriptions"); }else if (descriptions.size()==1){ return descriptions.iterator().next(); }else{ - return TaxonNameDescription.NewInstance(name); + TaxonNameDescription desc = TaxonNameDescription.NewInstance(name); + desc.addSource(OriginalSourceType.Import, null, "NameDescription", state.getConfig().getSourceReference(), null); + return desc; } } diff --git a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/excel/taxa/TaxonExcelImportState.java b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/excel/taxa/TaxonExcelImportState.java index 8d13b78b50..c4da42f997 100644 --- a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/excel/taxa/TaxonExcelImportState.java +++ b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/excel/taxa/TaxonExcelImportState.java @@ -16,8 +16,8 @@ import java.util.Set; import org.apache.log4j.Logger; -import eu.etaxonomy.cdm.io.excel.common.ExcelImportConfiguratorBase; import eu.etaxonomy.cdm.io.excel.common.ExcelImportState; +import eu.etaxonomy.cdm.io.excel.common.ExcelImportConfiguratorBase; import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase; import eu.etaxonomy.cdm.model.taxon.Classification; import eu.etaxonomy.cdm.model.taxon.Taxon; diff --git a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/specimen/SpecimenImportBase.java b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/specimen/SpecimenImportBase.java index db92c0f27f..ef782c0cb2 100755 --- a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/specimen/SpecimenImportBase.java +++ b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/specimen/SpecimenImportBase.java @@ -553,7 +553,9 @@ public abstract class SpecimenImportBase