Import common name #5448
authorPatrick Plitzner <p.plitzner@bgbm.org>
Thu, 2 Jun 2016 06:53:57 +0000 (08:53 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Thu, 2 Jun 2016 12:09:36 +0000 (14:09 +0200)
app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/gefaesspflanzen/RedListGefaesspflanzenImportNames.java
app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/gefaesspflanzen/RedListUtil.java

index da0ccbc12dae65ffddc0f77da32d5007c0da3195..0d7e047de440b2cba03d4f23f11d14608d5a2f9e 100644 (file)
@@ -29,6 +29,9 @@ import eu.etaxonomy.cdm.io.common.mapping.UndefinedTransformerMethodException;
 import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
 import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.model.description.CommonTaxonName;
+import eu.etaxonomy.cdm.model.description.TaxonDescription;
 import eu.etaxonomy.cdm.model.name.BotanicalName;
 import eu.etaxonomy.cdm.model.name.NomenclaturalStatus;
 import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
@@ -119,6 +122,7 @@ public class RedListGefaesspflanzenImportNames extends DbImportBase<RedListGefae
         String zusatzString = rs.getString(RedListUtil.ZUSATZ);
         String nonString = rs.getString(RedListUtil.NON);
         String sensuString = rs.getString(RedListUtil.SENSU);
+        String trivialString = rs.getString(RedListUtil.TRIVIAL);
         String authorKombString = rs.getString(RedListUtil.AUTOR_KOMB);
         String authorBasiString = rs.getString(RedListUtil.AUTOR_BASI);
         String hybString = rs.getString(RedListUtil.HYB);
@@ -142,7 +146,7 @@ public class RedListGefaesspflanzenImportNames extends DbImportBase<RedListGefae
                 authorBasiString, name);
 
         //---TAXON---
-        TaxonBase taxonBase = importTaxon(id, taxNameString, gueltString, authorBasiString, hybString, name);
+        TaxonBase taxonBase = importTaxon(id, taxNameString, gueltString, authorBasiString, hybString, trivialString, name);
         if(taxonBase==null){
             RedListUtil.logMessage(id, "Taxon for name "+name+" could not be created.", logger);
             return;
@@ -213,7 +217,7 @@ public class RedListGefaesspflanzenImportNames extends DbImportBase<RedListGefae
     }
 
     private TaxonBase importTaxon(long id, String taxNameString, String gueltString, String authorBasiString,
-            String hybString, NonViralName name) {
+            String hybString, String trivialString, NonViralName name) {
         TaxonBase taxonBase = null;
         if(authorBasiString.trim().contains(RedListUtil.AUCT)){
             taxonBase = Taxon.NewInstance(name, null);
@@ -229,6 +233,13 @@ public class RedListGefaesspflanzenImportNames extends DbImportBase<RedListGefae
             return null;
         }
 
+        //common name
+        if(taxonBase.isInstanceOf(Taxon.class) && trivialString!=null){
+            Taxon taxon = HibernateProxyHelper.deproxy(taxonBase, Taxon.class);
+            TaxonDescription description = TaxonDescription.NewInstance(taxon);
+            description.addElement(CommonTaxonName.NewInstance(trivialString, Language.getDefaultLanguage()));
+        }
+
         //check taxon name consistency
         checkTaxonNameConsistency(id, taxNameString, hybString, taxonBase);
         return taxonBase;
index 454d63a9af245925d01f4b84e0c716818911a5b9..19b642049e2f4a22bf7b132c123846558b24a972 100644 (file)
@@ -89,6 +89,7 @@ public class RedListUtil {
     public static final String TAX_ZUSATZ = "TAX_ZUSATZ";
     public static final String NON = "NON";
     public static final String SENSU = "SENSU";
+    public static final String TRIVIAL = "TRIVIAL";
     public static final String EPI3 = "EPI3";
     public static final String EPI2 = "EPI2";
     public static final String EPI1 = "EPI1";