From 20ba7fe26f1660082708601ecc3266b0269b572e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andreas=20M=C3=BCller?= Date: Wed, 9 Oct 2013 16:37:32 +0000 Subject: [PATCH] handle long common names --- .../cdm/io/markup/MarkupFeatureImport.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/markup/MarkupFeatureImport.java b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/markup/MarkupFeatureImport.java index 460546640d..d3db15d876 100644 --- a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/markup/MarkupFeatureImport.java +++ b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/markup/MarkupFeatureImport.java @@ -562,15 +562,26 @@ public class MarkupFeatureImport extends MarkupImportBase { TermVocabulary voc = null; language = getLanguage(state, langUuid, languageStr, languageStr, null, voc); if (language == null){ - logger.warn("Language " + languageStr + " not recognized by transformer"); + String warning = "Language " + languageStr + " not recognized by transformer"; + fireWarningEvent(warning, state.getReader().peek(), 4); } } catch (UndefinedTransformerMethodException e) { throw new RuntimeException(e); } } - NamedArea area = null; - CommonTaxonName commonTaxonName = CommonTaxonName.NewInstance(name, language, area); - result.add(commonTaxonName); + DescriptionElementBase commonName; + if (name != null && name.length() < 255 ){ + NamedArea area = null; + commonName = CommonTaxonName.NewInstance(name, language, area); + }else{ + if (language == null){ + language = getDefaultLanguage(state); + } + commonName = TextData.NewInstance(Feature.COMMON_NAME(), name, language, null); + String warning = "Vernacular feature is >255 size. Therefore it is handled as TextData, not CommonTaxonName: " + name; + fireWarningEvent(warning, state.getReader().peek(), 1); + } + result.add(commonName); } return result; -- 2.34.1