From e138a1024c30960f4dd62812c775b16c4247316e Mon Sep 17 00:00:00 2001 From: Patrick Plitzner Date: Fri, 15 Jul 2016 11:52:05 +0200 Subject: [PATCH] #5448 Avoid clonig of all taxa for all classifications --- .../RedListGefaesspflanzenImportNames.java | 56 +++++++++++-------- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/gefaesspflanzen/RedListGefaesspflanzenImportNames.java b/app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/gefaesspflanzen/RedListGefaesspflanzenImportNames.java index 1b98e332..9713e498 100644 --- a/app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/gefaesspflanzen/RedListGefaesspflanzenImportNames.java +++ b/app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/gefaesspflanzen/RedListGefaesspflanzenImportNames.java @@ -117,6 +117,14 @@ public class RedListGefaesspflanzenImportNames extends DbImportBase name = importName(state, rs, namesToSave); @@ -133,6 +141,15 @@ public class RedListGefaesspflanzenImportNames extends DbImportBase checklistTaxon = null; if(CdmUtils.isNotBlank(clTaxonString) && !clTaxonString.trim().equals("-")){ @@ -145,38 +162,29 @@ public class RedListGefaesspflanzenImportNames extends DbImportBase gesamtListeTaxon, String sourceNameSpace, Set taxaToSave, long id, RedListGefaesspflanzenImportState state){ - Taxon clonedTaxon = null; + private void cloneTaxon(final TaxonBase gesamtListeTaxon, String relationString, String sourceNameSpace, Set taxaToSave, long id, RedListGefaesspflanzenImportState state){ + if(CdmUtils.isNotBlank(relationString) && !relationString.equals(".")){ + Taxon clonedTaxon = null; - if(gesamtListeTaxon.isInstanceOf(Taxon.class)){ - clonedTaxon = HibernateProxyHelper.deproxy(gesamtListeTaxon.clone(), Taxon.class); - } - else if(gesamtListeTaxon.isInstanceOf(Synonym.class)){ - clonedTaxon = Taxon.NewInstance(gesamtListeTaxon.getName(), gesamtListeTaxon.getSec()); - } - else{ - RedListUtil.logMessage(id, "Taxon base "+gesamtListeTaxon+" is neither taxon nor synonym! Taxon could not be cloned", logger); - return null; + if(gesamtListeTaxon.isInstanceOf(Taxon.class)){ + clonedTaxon = HibernateProxyHelper.deproxy(gesamtListeTaxon.clone(), Taxon.class); + } + else if(gesamtListeTaxon.isInstanceOf(Synonym.class)){ + clonedTaxon = Taxon.NewInstance(gesamtListeTaxon.getName(), gesamtListeTaxon.getSec()); + } + else{ + RedListUtil.logMessage(id, "Taxon base "+gesamtListeTaxon+" is neither taxon nor synonym! Taxon could not be cloned", logger); + return; + } + ImportHelper.setOriginalSource(clonedTaxon, state.getTransactionalSourceReference(), id, sourceNameSpace); + taxaToSave.add(clonedTaxon); } - - ImportHelper.setOriginalSource(clonedTaxon, state.getTransactionalSourceReference(), id, sourceNameSpace); - taxaToSave.add(clonedTaxon); - return clonedTaxon; } private TaxonBase importTaxon(ResultSet rs, NonViralName name) throws SQLException { -- 2.34.1