improve taxon name check #5448
authorPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 23 May 2016 15:53:47 +0000 (17:53 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 23 May 2016 15:53:47 +0000 (17:53 +0200)
 - add new string constants

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 e6a5475b26b879418c6677478a62cca81d2b6310..6642324dcb4a20203ca4e8c4787ee4b49999979c 100644 (file)
@@ -113,6 +113,8 @@ public class RedListGefaesspflanzenImportNames extends DbImportBase<RedListGefae
         String nomZusatzString = rs.getString(RedListUtil.NOM_ZUSATZ);
         String taxZusatzString = rs.getString(RedListUtil.TAX_ZUSATZ);
         String zusatzString = rs.getString(RedListUtil.ZUSATZ);
+        String nonString = rs.getString(RedListUtil.NON);
+        String sensuString = rs.getString(RedListUtil.SENSU);
         String authorKombString = rs.getString(RedListUtil.AUTOR_KOMB);
         String authorBasiString = rs.getString(RedListUtil.AUTOR_BASI);
         String hybString = rs.getString(RedListUtil.HYB);
@@ -264,13 +266,20 @@ public class RedListGefaesspflanzenImportNames extends DbImportBase<RedListGefae
         }
 
         //check taxon name consistency
+        String nameCache = ((BotanicalName)taxonBase.getName()).getNameCache().trim();
+
         if(taxNameString.endsWith("agg.")){
             taxNameString = taxNameString.replace("agg.", "aggr.");
         }
         if(hybString.equalsIgnoreCase(RedListUtil.HYB_X)){
             taxNameString = taxNameString.replace("× ", "×");//hybrid sign has no space after it in titleCache for binomial hybrids
         }
-        String nameCache = ((BotanicalName)taxonBase.getName()).getNameCache().trim();
+        if(taxNameString.endsWith(Rank.SPECIESGROUP().toString())){
+            taxNameString.replaceAll(Rank.SPECIESGROUP().toString(), "- Gruppe");
+            if(!taxNameString.trim().equals(nameCache)){
+                taxNameString.replaceAll(Rank.SPECIESGROUP().toString(), "- group");
+            }
+        }
         if(!taxNameString.trim().equals(nameCache)){
             RedListUtil.logMessage(id, "Taxon name inconsistent! taxon.titleCache <-> Column "+RedListUtil.TAXNAME+": "+nameCache+" <-> "+taxNameString, logger);
         }
index 900dc37480023a249c4422b6b1d48238e17d271e..c296654e6f4a1964ec48b2d5139f549f0d2f61c7 100644 (file)
@@ -65,6 +65,8 @@ public class RedListUtil {
     public static final String ZUSATZ = "ZUSATZ";
     public static final String NOM_ZUSATZ = "NOM_ZUSATZ";
     public static final String TAX_ZUSATZ = "TAX_ZUSATZ";
+    public static final String NON = "NON";
+    public static final String SENSU = "SENSU";
     public static final String EPI3 = "EPI3";
     public static final String EPI2 = "EPI2";
     public static final String EPI1 = "EPI1";