handle long common names
authorAndreas Müller <a.mueller@bgbm.org>
Wed, 9 Oct 2013 16:37:32 +0000 (16:37 +0000)
committerAndreas Müller <a.mueller@bgbm.org>
Wed, 9 Oct 2013 16:37:32 +0000 (16:37 +0000)
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/markup/MarkupFeatureImport.java

index 460546640d6d029e941b856740ca99c7f455e429..d3db15d876dba7fe4238a6852d20e550a77b9cd6 100644 (file)
@@ -562,15 +562,26 @@ public class MarkupFeatureImport extends MarkupImportBase {
                                        TermVocabulary<?> voc = null;\r
                                        language = getLanguage(state, langUuid, languageStr, languageStr, null, voc);\r
                                        if (language == null){\r
-                                               logger.warn("Language " + languageStr + " not recognized by transformer");\r
+                                               String warning = "Language " + languageStr + " not recognized by transformer";\r
+                                               fireWarningEvent(warning, state.getReader().peek(), 4);\r
                                        }\r
                                } catch (UndefinedTransformerMethodException e) {\r
                                        throw new RuntimeException(e);\r
                                }\r
                        }\r
-                       NamedArea area = null;\r
-                       CommonTaxonName commonTaxonName = CommonTaxonName.NewInstance(name, language, area);\r
-                       result.add(commonTaxonName);\r
+                       DescriptionElementBase commonName;\r
+                       if (name != null && name.length() < 255 ){\r
+                               NamedArea area = null;\r
+                               commonName = CommonTaxonName.NewInstance(name, language, area);\r
+                       }else{\r
+                               if (language == null){\r
+                                       language = getDefaultLanguage(state);\r
+                               }\r
+                               commonName = TextData.NewInstance(Feature.COMMON_NAME(), name, language, null);\r
+                               String warning = "Vernacular feature is >255 size. Therefore it is handled as TextData, not CommonTaxonName: " + name;\r
+                               fireWarningEvent(warning, state.getReader().peek(), 1);\r
+                       }\r
+                       result.add(commonName);\r
                }\r
                \r
                return result;\r