Handle hybrid names (only binomial at the moment)
authorPatrick Plitzner <p.plitzner@bgbm.org>
Sun, 22 May 2016 08:24:34 +0000 (10:24 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Sun, 22 May 2016 08:24:34 +0000 (10:24 +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 d1d6db419b181c6c094952e103d75dd1c2e0fc80..069126689cada4cb6b146c26762de70f95f4ec3c 100644 (file)
@@ -115,6 +115,7 @@ public class RedListGefaesspflanzenImportNames extends DbImportBase<RedListGefae
         String zusatzString = rs.getString(RedListUtil.ZUSATZ);
         String authorKombString = rs.getString(RedListUtil.AUTOR_KOMB);
         String authorBasiString = rs.getString(RedListUtil.AUTOR_BASI);
+        String hybString = rs.getString(RedListUtil.HYB);
 
         //---NAME---
         if(CdmUtils.isBlank(taxNameString) && CdmUtils.isBlank(ep1String)){
@@ -145,6 +146,13 @@ public class RedListGefaesspflanzenImportNames extends DbImportBase<RedListGefae
                 name.addStatus(NomenclaturalStatus.NewInstance(status));
             }
         }
+        //hybrid
+        if(hybString.equals(RedListUtil.HYB_X)){
+            name.setBinomHybrid(true);
+        }
+        else if(hybString.equals(RedListUtil.HYB_XF)){
+
+        }
 
 
         //--- AUTHORS ---
@@ -259,6 +267,7 @@ public class RedListGefaesspflanzenImportNames extends DbImportBase<RedListGefae
         if(taxNameString.endsWith("agg.")){
             taxNameString = taxNameString.replace("agg.", "aggr.");
         }
+        taxNameString = taxNameString.replace("× ", "×");//hybrid sign has no space in titleCache
         String nameCache = ((BotanicalName)taxonBase.getName()).getNameCache().trim();
         if(!taxNameString.trim().equals(nameCache)){
             RedListUtil.logMessage(id, "Taxon name inconsistent! taxon.titleCache <-> Column "+RedListUtil.TAXNAME+": "+nameCache+" <-> "+taxNameString, logger);
index 412e8049e4e14b9f43081fdec6862dd3aebb8559..900dc37480023a249c4422b6b1d48238e17d271e 100644 (file)
@@ -41,12 +41,20 @@ public class RedListUtil {
 
 
     //cell content
-    public static final String HYBRID_CHAR = "";
     public static final String AUCT = "auct.";
     public static final String EX = " ex ";
     public static final String GUELT_BASIONYM = "b";
     public static final String GUELT_SYNONYM = "x";
     public static final String GUELT_ACCEPTED_TAXON = "1";
+    public static final String HYB_X = "x";
+    public static final String HYB_XF = "xf";
+    public static final String HYB_XS = "xs";
+    public static final String HYB_N = "n";
+    public static final String HYB_G = "g";
+    public static final String HYB_NF = "nf";
+    public static final String HYB_XU = "xu";
+    public static final String HYB_GF = "gf";
+
 
     //column names
     public static final String GUELT = "GUELT";
@@ -64,6 +72,7 @@ public class RedListUtil {
     public static final String TAXNAME = "TAXNAME";
     public static final String AUTOR = "AUTOR";
     public static final String CL_TAXON = "CL_TAXON";
+    public static final String HYB = "HYB";
 
     public static void logMessage(long id, String message, Logger logger){
         logger.error(NAMNR+": "+id+" "+message);