Latest updates to Specimen Excel import
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / excel / common / ExcelTaxonOrSpecimenImportBase.java
index 66b25b71876f7ba006b0e8a6e13ba81ca015c1a6..3fdf40fcdf9df044b4da5c48ef1870bc50cf870b 100644 (file)
@@ -48,6 +48,8 @@ public abstract class ExcelTaxonOrSpecimenImportBase<STATE extends ExcelImportSt
        protected static final String GENUS_COLUMN = "(?i)(Genus)";\r
        protected static final String SPECIFIC_EPITHET_COLUMN = "(?i)(SpecificEpi(thet)?)";\r
        protected static final String INFRASPECIFIC_EPITHET_COLUMN = "(?i)(InfraSpecificEpi(thet)?)";\r
+       \r
+       protected static final String LANGUAGE = "(?i)(Language)";\r
 \r
        @Override\r
        protected void analyzeRecord(HashMap<String, String> record, STATE state) {\r
@@ -171,7 +173,7 @@ public abstract class ExcelTaxonOrSpecimenImportBase<STATE extends ExcelImportSt
                        keyValue.index = 0;\r
                }\r
                //source\r
-               if (split.length > current){\r
+               if (split.length > current && ! isIgnore(keyValue.key)){\r
                        //refType\r
                        if (isRefType(split[current])){\r
                                String refTypeStr = split[current++];\r
@@ -204,7 +206,7 @@ public abstract class ExcelTaxonOrSpecimenImportBase<STATE extends ExcelImportSt
                        }\r
                        \r
                }\r
-               if (split.length > current){\r
+               if (split.length > current  && ! isIgnore(keyValue.key)){\r
                        String message = "Key has unexpected part at position %d of key. %s (and following parts) can not be handled";\r
                        message = String.format(message, current, split[current]);\r
                        fireWarningEvent(message, state, 10);\r
@@ -225,6 +227,10 @@ public abstract class ExcelTaxonOrSpecimenImportBase<STATE extends ExcelImportSt
        }\r
 \r
        \r
+       private boolean isIgnore(String key) {\r
+               return key.matches(IGNORE_COLUMN);\r
+       }\r
+\r
        private boolean isRefType(String string) {\r
                return SourceType.isKeyName(string);\r
        }\r
@@ -243,7 +249,7 @@ public abstract class ExcelTaxonOrSpecimenImportBase<STATE extends ExcelImportSt
                String key = keyValue.key;\r
                if (key.matches(CDM_UUID_COLUMN)){\r
                        return true;\r
-               } else if(keyValue.key.matches(IGNORE_COLUMN)) {\r
+               } else if(isIgnore(keyValue.key)) {\r
                        logger.debug("Ignored column" + keyValue.originalKey);\r
                        return true;\r
                }\r