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
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
}\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
}\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
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