update Markup import for F. Guianas
authorAndreas Müller <a.mueller@bgbm.org>
Wed, 30 May 2012 11:46:47 +0000 (11:46 +0000)
committerAndreas Müller <a.mueller@bgbm.org>
Wed, 30 May 2012 11:46:47 +0000 (11:46 +0000)
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/markup/MarkupDocumentImport.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/markup/MarkupTransformer.java

index 4e31d15a0726da3508a5d399e36396b2ead592e0..b06e119f5123fd6da8e1b664b3f102250a171702 100644 (file)
@@ -142,6 +142,7 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
        private static final String COLLECTION_AND_TYPE = "collectionAndType";\r
        private static final String COLLECTION_TYPE_STATUS = "collectionTypeStatus";\r
        private static final String COLLECTOR = "collector";\r
+       private static final String COLLECTION = "collection";\r
        private static final String COORDINATES = "coordinates";\r
        private static final String COUPLET = "couplet";\r
        private static final String DATES = "dates";\r
@@ -553,6 +554,10 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
                                        checkMandatoryElement(hasTitle, parentEvent, TAXONTITLE);\r
                                        checkMandatoryElement(hasNomenclature, parentEvent,     NOMENCLATURE);\r
                                        handleUnexpectedAttributes(parentEvent.getLocation(),attributes);\r
+                                       if (taxon.getName().getRank() == null){\r
+                                               String warning = "No rank exists for taxon " + taxon.getTitleCache();\r
+                                               fireWarningEvent(warning, next, 12);\r
+                                       }\r
                                        \r
                                        makeKeyNodes(state, parentEvent, taxonTitle);\r
                                        state.setCurrentTaxon(null);\r
@@ -698,7 +703,7 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
                        } else if (isEndingElement(next, KEYNOTES)){\r
                                popUnimplemented(next.asEndElement());\r
                        } else if (isStartingElement(next, KEY_TITLE)) {\r
-                                       handleKeyTitle(state, reader, next);\r
+                               handleKeyTitle(state, reader, next);\r
                        } else if (isStartingElement(next, KEYNOTES)) {\r
                                //TODO\r
                                handleNotYetImplementedElement(next);\r
@@ -767,8 +772,7 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
         * @param childList\r
         */\r
        private void completeCouplet(MarkupImportState state, XMLEvent parentEvent,\r
-                       PolytomousKeyNode parentNode, String num,\r
-                       List<PolytomousKeyNode> childList) {\r
+                       PolytomousKeyNode parentNode, String num, List<PolytomousKeyNode> childList) {\r
                if (parentNode != null){\r
                        for (PolytomousKeyNode childNode : childList){\r
                                parentNode.addChild(childNode);\r
@@ -814,7 +818,6 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
                                handleToCouplet(state, reader, next, myNode);\r
                        } else if (isStartingElement(next, TO_TAXON)) {\r
                                handleToTaxon(state, reader, next, myNode);\r
-                       \r
                        } else if (isStartingElement(next, TO_KEY)) {\r
                                //TODO\r
                                handleNotYetImplementedElement(next);\r
@@ -1025,16 +1028,14 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
        private Taxon createTaxonAndName(MarkupImportState state,\r
                        Map<String, Attribute> attributes) {\r
                NonViralName<?> name;\r
-               Rank rank = Rank.SPECIES(); // default\r
-               boolean isCultivar = checkAndRemoveAttributeValue(attributes, CLASS,\r
-                               "cultivated");\r
+               Rank rank = null;  //Rank.SPECIES(); // default\r
+               boolean isCultivar = checkAndRemoveAttributeValue(attributes, CLASS, "cultivated");\r
                if (isCultivar) {\r
                        name = CultivarPlantName.NewInstance(rank);\r
                } else {\r
                        name = createNameByCode(state, rank);\r
                }\r
-               Taxon taxon = Taxon.NewInstance(name, state.getConfig()\r
-                               .getSourceReference());\r
+               Taxon taxon = Taxon.NewInstance(name, state.getConfig().getSourceReference());\r
                if (checkAndRemoveAttributeValue(attributes, CLASS, "dubious")) {\r
                        taxon.setDoubtful(true);\r
                } else if (checkAndRemoveAttributeValue(attributes, CLASS, "excluded")) {\r
@@ -1583,8 +1584,7 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
                throw new IllegalStateException("<Reference> has no closing tag");\r
        }\r
 \r
-       private void handleHomotypes(MarkupImportState state,\r
-                       XMLEventReader reader, StartElement parentEvent)\r
+       private void handleHomotypes(MarkupImportState state, XMLEventReader reader, StartElement parentEvent)\r
                        throws XMLStreamException {\r
                checkNoAttributes(parentEvent);\r
 \r
@@ -1609,8 +1609,7 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
                                }\r
                        } else if (next.isStartElement()) {\r
                                if (isStartingElement(next, NOM)) {\r
-                                       NonViralName<?> name = handleNom(state, reader, next,\r
-                                                       homotypicalGroup);\r
+                                       NonViralName<?> name = handleNom(state, reader, next, homotypicalGroup);\r
                                        homotypicalGroup = name.getHomotypicalGroup();\r
                                        hasNom = true;\r
                                } else if (isStartingElement(next, NAME_TYPE)) {\r
@@ -1692,9 +1691,8 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
 \r
        }\r
 \r
-       private void handleSpecimenType(MarkupImportState state,\r
-                       XMLEventReader reader, XMLEvent parentEvent,\r
-                       HomotypicalGroup homotypicalGroup) throws XMLStreamException {\r
+       private void handleSpecimenType(MarkupImportState state, XMLEventReader reader, XMLEvent parentEvent,\r
+                               HomotypicalGroup homotypicalGroup) throws XMLStreamException {\r
                // attributes\r
                Map<String, Attribute> attributes = getAttributes(parentEvent);\r
                String typeStatus = getAndRemoveAttributeValue(attributes, TYPE_STATUS);\r
@@ -1725,20 +1723,17 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
                        String message = "There is no name in a homotypical group. Can't create the specimen type";\r
                        fireWarningEvent(message, parentEvent, 8);\r
                } else {\r
-                       firstName = CdmBase.deproxy(names.iterator().next(),\r
-                                       NonViralName.class);\r
+                       firstName = CdmBase.deproxy(names.iterator().next(),NonViralName.class);\r
                }\r
 \r
-               DerivedUnitFacade facade = DerivedUnitFacade\r
-                               .NewInstance(DerivedUnitType.Specimen);\r
+               DerivedUnitFacade facade = DerivedUnitFacade.NewInstance(DerivedUnitType.Specimen);\r
                String text = "";\r
                // elements\r
                while (reader.hasNext()) {\r
                        XMLEvent next = readNoWhitespace(reader);\r
                        if (next.isEndElement()) {\r
                                if (isMyEndingElement(next, parentEvent)) {\r
-                                       makeSpecimenType(state, facade, text, firstName,\r
-                                                       parentEvent);\r
+                                       makeSpecimenType(state, facade, text, firstName, parentEvent);\r
                                        return;\r
                                } else {\r
                                        if (isEndingElement(next, FULL_TYPE)) {\r
@@ -1784,6 +1779,8 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
                                        handleNotYetImplementedElement(next);\r
                                } else if (isStartingElement(next, COLLECTION_AND_TYPE)) {\r
                                        handleNotYetImplementedElement(next);\r
+                               } else if (isStartingElement(next, CITATION)) {\r
+                                       handleNotYetImplementedElement(next);\r
                                } else if (isStartingElement(next, NOTES)) {\r
                                        handleNotYetImplementedElement(next);\r
                                } else if (isStartingElement(next, ANNOTATION)) {\r
@@ -1801,9 +1798,8 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
                throw new IllegalStateException("Specimen type has no closing tag"); \r
        }\r
 \r
-       private void makeSpecimenType(MarkupImportState state,\r
-                       DerivedUnitFacade facade, String text, NonViralName name,\r
-                       XMLEvent parentEvent) {\r
+       private void makeSpecimenType(MarkupImportState state, DerivedUnitFacade facade, String text, \r
+                       NonViralName name, XMLEvent parentEvent) {\r
                text = text.trim();\r
                // remove brackets\r
                if (text.matches("^\\(.*\\)\\.?$")) {\r
@@ -1885,6 +1881,9 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
                                        } else if (isEndingElement(next, COLLECTION_TYPE_STATUS)) {\r
                                                // NOT YET IMPLEMENTED\r
                                                popUnimplemented(next.asEndElement());\r
+                                       } else if (isEndingElement(next, COLLECTION_AND_TYPE)) {\r
+                                               // NOT YET IMPLEMENTED , does this make sense here? \r
+                                               popUnimplemented(next.asEndElement());\r
                                        } else if (isEndingElement(next,\r
                                                        ALTERNATIVE_COLLECTION_TYPE_STATUS)) {\r
                                                // NOT YET IMPLEMENTED\r
@@ -1892,6 +1891,9 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
                                        } else if (isEndingElement(next, SUB_COLLECTION)) {\r
                                                // NOT YET IMPLEMENTED\r
                                                popUnimplemented(next.asEndElement());\r
+                                       } else if (isEndingElement(next, COLLECTION)) {\r
+                                               // NOT YET IMPLEMENTED\r
+                                               popUnimplemented(next.asEndElement());\r
                                        } else if (isEndingElement(next, DATES)) {\r
                                                // NOT YET IMPLEMENTED\r
                                                popUnimplemented(next.asEndElement());\r
@@ -1918,11 +1920,14 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
                                        handleNotYetImplementedElement(next);\r
                                } else if (isStartingElement(next, COLLECTION_TYPE_STATUS)) {\r
                                        handleNotYetImplementedElement(next);\r
-                               } else if (isStartingElement(next,\r
-                                               ALTERNATIVE_COLLECTION_TYPE_STATUS)) {\r
+                               } else if (isStartingElement(next, COLLECTION_AND_TYPE)) {  //does this make sense here?\r
+                                       handleNotYetImplementedElement(next);\r
+                               } else if (isStartingElement(next, ALTERNATIVE_COLLECTION_TYPE_STATUS)) {\r
                                        handleNotYetImplementedElement(next);\r
                                } else if (isStartingElement(next, SUB_COLLECTION)) {\r
                                        handleNotYetImplementedElement(next);\r
+                               } else if (isStartingElement(next, COLLECTION)) {\r
+                                       handleNotYetImplementedElement(next);\r
                                } else if (isStartingElement(next, LOCALITY)) {\r
                                        handleLocality(state, reader, next, facade);\r
                                } else if (isStartingElement(next, DATES)) {\r
@@ -2094,9 +2099,6 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
                                        if (isEndingElement(next, FULL_NAME)) {\r
                                                // NOT YET IMPLEMENTED\r
                                                popUnimplemented(next.asEndElement());\r
-                                       } else if (isEndingElement(next, NUM)) {\r
-                                               // NOT YET IMPLEMENTED\r
-                                               popUnimplemented(next.asEndElement());\r
                                        } else if (isEndingElement(next, HOMONYM)) {\r
                                                // NOT YET IMPLEMENTED\r
                                                popUnimplemented(next.asEndElement());\r
@@ -2116,7 +2118,17 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
                                        // homotypicalGroup = handleNom(state, reader, next, taxon,\r
                                        // homotypicalGroup);\r
                                } else if (isStartingElement(next, NUM)) {\r
-                                       handleNotYetImplementedElement(next);\r
+                                       String num = getCData(state, reader, next);\r
+                                       num = num.replace(".", "");\r
+                                       num = num.replace(")", "");\r
+                                       if (StringUtils.isNotBlank(num)){\r
+                                               if (state.getCurrentTaxonNum() != null &&  ! state.getCurrentTaxonNum().equals(num) ){\r
+                                                       String message = "Taxontitle num and homotypes/nom/num differ ( %s <-> %s ). I use the later one.";\r
+                                                       message = String.format(message, state.getCurrentTaxonNum(), num);\r
+                                                       fireWarningEvent(message, next, 4);\r
+                                               }\r
+                                               state.setCurrentTaxonNum(num);\r
+                                       }\r
                                } else if (isStartingElement(next, NAME)) {\r
                                        handleName(state, reader, next, nameMap);\r
                                } else if (isStartingElement(next, CITATION)) {\r
@@ -2174,8 +2186,7 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
                        try {\r
                                // TODO handle trim earlier\r
                                statusStr = statusStr.trim();\r
-                               NomenclaturalStatusType nomStatusType = NomenclaturalStatusType\r
-                                               .getNomenclaturalStatusTypeByAbbreviation(statusStr);\r
+                               NomenclaturalStatusType nomStatusType = NomenclaturalStatusType.getNomenclaturalStatusTypeByAbbreviation(statusStr);\r
                                name.addStatus(NomenclaturalStatus.NewInstance(nomStatusType));\r
                        } catch (UnknownCdmTypeException e) {\r
                                String message = "Status '%s' could not be recognized";\r
@@ -2213,13 +2224,13 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
                                }\r
                                String value = nameMap.get(key);\r
                                if (rank.isSupraGeneric() || rank.isGenus()) {\r
-                                       name.setGenusOrUninomial(value);\r
+                                       name.setGenusOrUninomial(toFirstCapital(value));\r
                                } else if (rank.isInfraGeneric()) {\r
-                                       name.setInfraGenericEpithet(value);\r
+                                       name.setInfraGenericEpithet(toFirstCapital(value));\r
                                } else if (rank.isSpecies()) {\r
-                                       name.setSpecificEpithet(value);\r
+                                       name.setSpecificEpithet(value.toLowerCase());\r
                                } else if (rank.isInfraSpecific()) {\r
-                                       name.setInfraSpecificEpithet(value);\r
+                                       name.setInfraSpecificEpithet(value.toLowerCase());\r
                                } else {\r
                                        String message = "Invalid rank '%s'. Can't decide which epithet to fill with '%s'";\r
                                        message = String.format(message, rank.getTitleCache(),value);\r
@@ -2255,6 +2266,19 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
                }\r
        }\r
 \r
+       private String toFirstCapital(String value) {\r
+               if (StringUtils.isBlank(value)){\r
+                       return value;\r
+               }else{\r
+                       String result = "";\r
+                       result += value.substring(0,1).toUpperCase();\r
+                       if (value.length()>1){\r
+                               result += value.substring(1).toLowerCase();\r
+                       }\r
+                       return result;\r
+               }\r
+       }\r
+\r
        /**\r
         * @param name\r
         * @param event\r
@@ -2325,15 +2349,16 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
         * @param infrParAut\r
         * @param infrAut\r
         */\r
-       private void testRankAuthorConsistency(NonViralName name, XMLEvent event,\r
-                                       String authorStr, String paraut, String infrParAut, String infrAut) {\r
+       private void testRankAuthorConsistency(NonViralName name, XMLEvent event, \r
+                               String authorStr, String paraut, String infrParAut, String infrAut) {\r
                if (name.getRank() == null){\r
                        return;\r
                }\r
                if (name.getRank().isInfraSpecific()) {\r
                        if (StringUtils.isBlank(infrParAut)\r
-                                       && StringUtils.isNotBlank(infrAut)\r
-                                       && (StringUtils.isNotBlank(paraut) || StringUtils.isNotBlank(authorStr))) {\r
+                                       && StringUtils.isBlank(infrAut)    //was isNotBlank before 29.5.2012\r
+                                       && (StringUtils.isNotBlank(paraut) || StringUtils.isNotBlank(authorStr)) \r
+                                       && ! name.isAutonym()) {\r
                                String message = "Rank is infraspecicific but has only specific or higher author(s)";\r
                                fireWarningEvent(message, event, 4);\r
                        }\r
@@ -2365,8 +2390,7 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
                        if (homotypicalGroup != null) {\r
                                name.setHomotypicalGroup(homotypicalGroup);\r
                        }\r
-                       SynonymRelationshipType synonymType = SynonymRelationshipType\r
-                                       .HETEROTYPIC_SYNONYM_OF();\r
+                       SynonymRelationshipType synonymType = SynonymRelationshipType.HETEROTYPIC_SYNONYM_OF();\r
                        if (taxon.getHomotypicGroup().equals(homotypicalGroup)) {\r
                                synonymType = SynonymRelationshipType.HOMOTYPIC_SYNONYM_OF();\r
                        }\r
@@ -3659,7 +3683,7 @@ public class MarkupDocumentImport extends MarkupImportBase implements ICdmIO<Mar
                unmatchedLeads.saveToSession(getPolytomousKeyNodeService());\r
 \r
                // TODO generally do not store the reference object in the config\r
-               Reference sourceReference = state.getConfig().getSourceReference();\r
+               Reference<?> sourceReference = state.getConfig().getSourceReference();\r
                getReferenceService().saveOrUpdate(sourceReference);\r
        }\r
 \r
index cfd292e52d516c886a2484afe6ee96dbfc5680ba..6f6153eaec04b8139c46aba5babe9ef5c5c37ab7 100644 (file)
@@ -338,15 +338,21 @@ public class MarkupTransformer extends InputTransformerBase {
 //     public static final UUID uuid = UUID.fromString("");\r
 \r
        \r
+//     guianas\r
+       public static final UUID uuidExtraxylarySclerenchyma = UUID.fromString("cdddefbe-2f41-4d5c-89e8-4790b6d069fb");\r
+\r
+       \r
+       \r
 \r
        /* (non-Javadoc)\r
         * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getFeatureByKey(java.lang.String)\r
         */\r
        @Override\r
        public Feature getFeatureByKey(String key) throws UndefinedTransformerMethodException {\r
-               if (CdmUtils.isEmpty(key)){return null;\r
+               if (CdmUtils.isBlank(key)){return null;\r
                \r
                }else if (key.equalsIgnoreCase("ecology")){return Feature.ECOLOGY();\r
+               }else if (key.equalsIgnoreCase("phenology")){return Feature.PHENOLOGY();\r
                }else if (key.equalsIgnoreCase("uses")){return Feature.USES();\r
                }else if (key.equalsIgnoreCase("anatomy")){return Feature.ANATOMY();\r
                }else if (key.equalsIgnoreCase("description")){return Feature.DESCRIPTION();\r
@@ -368,9 +374,8 @@ public class MarkupTransformer extends InputTransformerBase {
         */\r
        @Override\r
        public UUID getFeatureUuid(String key)  throws UndefinedTransformerMethodException {\r
-               if (CdmUtils.isEmpty(key)){return null;\r
+               if (CdmUtils.isBlank(key)){return null;\r
 \r
-               \r
                }else if (key.equalsIgnoreCase("cultivation")){return uuidCultivation;\r
                }else if (key.equalsIgnoreCase("history")){return uuidHistory;\r
                }else if (key.equalsIgnoreCase("phylogeny")){return uuidPhylogeny;\r
@@ -620,6 +625,10 @@ public class MarkupTransformer extends InputTransformerBase {
                }else if (key.equalsIgnoreCase("teeth")){return uuidTeeth;\r
                \r
                \r
+               //guianas\r
+               }else if (key.equalsIgnoreCase("extraxylary sclerenchyma")){return uuidExtraxylarySclerenchyma;\r
+               \r
+               \r
 //             }else if (key.equalsIgnoreCase("Inflorescence")){return uuidInflorescence;\r
                \r
                \r
@@ -636,7 +645,7 @@ public class MarkupTransformer extends InputTransformerBase {
         */\r
        @Override\r
        public MarkerType getMarkerTypeByKey(String key) throws UndefinedTransformerMethodException {\r
-               if (CdmUtils.isEmpty(key)){return null;\r
+               if (CdmUtils.isBlank(key)){return null;\r
 //             }else if (key.equalsIgnoreCase("distribution")){return MarkerType.;\r
 //             }else if (key.equalsIgnoreCase("habitatecology")){return Feature.ECOLOGY();\r
                }else{\r
@@ -646,7 +655,7 @@ public class MarkupTransformer extends InputTransformerBase {
 \r
        @Override\r
        public UUID getMarkerTypeUuid(String key) throws UndefinedTransformerMethodException {\r
-               if (CdmUtils.isEmpty(key)){return null;\r
+               if (CdmUtils.isBlank(key)){return null;\r
                }else if (key.equalsIgnoreCase("INCOMPLETELY KNOWN SPECIES")){return uuidIncompleteTaxon;\r
                }else if (key.equalsIgnoreCase("INSUFICIENTLY KNOWN")){return uuidIncompleteTaxon;\r
                }else if (key.equalsIgnoreCase("INSUFFICIENTLY KNOWN")){return uuidIncompleteTaxon;\r
@@ -661,7 +670,7 @@ public class MarkupTransformer extends InputTransformerBase {
        \r
        @Override\r
        public NamedAreaLevel getNamedAreaLevelByKey(String key )throws UndefinedTransformerMethodException {\r
-               if (CdmUtils.isEmpty(key)){return null;\r
+               if (CdmUtils.isBlank(key)){return null;\r
                }else if (key.equalsIgnoreCase("country")){return NamedAreaLevel.COUNTRY();\r
                }else if (key.equalsIgnoreCase("province")){return NamedAreaLevel.PROVINCE();\r
                }else if (key.equalsIgnoreCase("town")){return NamedAreaLevel.TOWN();\r
@@ -680,7 +689,7 @@ public class MarkupTransformer extends InputTransformerBase {
         */\r
        @Override\r
        public UUID getNamedAreaLevelUuid(String key) throws UndefinedTransformerMethodException {\r
-               if (CdmUtils.isEmpty(key)){return null;\r
+               if (CdmUtils.isBlank(key)){return null;\r
                }else if (key.equalsIgnoreCase("region")){return uuidRegion;\r
                }else if (key.equalsIgnoreCase("continental region")){return uuidContinentalRegion;\r
                }else if (key.equalsIgnoreCase("world")){return uuidWorld;\r
@@ -701,7 +710,7 @@ public class MarkupTransformer extends InputTransformerBase {
         */\r
        @Override\r
        public NamedArea getNamedAreaByKey(String key) throws UndefinedTransformerMethodException {\r
-               if (CdmUtils.isEmpty(key)){return null;\r
+               if (CdmUtils.isBlank(key)){return null;\r
                }else if (key.equalsIgnoreCase("Kalimantan")){return TdwgArea.getAreaByTdwgAbbreviation("BOR-KA");\r
                }else if (key.equalsIgnoreCase("Borneo")){return TdwgArea.getAreaByTdwgAbbreviation("BOR");\r
                }else if (key.equalsIgnoreCase("Peninsular Malaysia")){return TdwgArea.getAreaByTdwgAbbreviation("MLY-PM");\r
@@ -734,7 +743,7 @@ public class MarkupTransformer extends InputTransformerBase {
         */\r
        @Override\r
        public UUID getNamedAreaUuid(String key) throws UndefinedTransformerMethodException {\r
-               if (CdmUtils.isEmpty(key)){return null;\r
+               if (CdmUtils.isBlank(key)){return null;\r
                }else if (key.equalsIgnoreCase("Kalimantan")){return uuidKalimantan;\r
                }else if (key.equalsIgnoreCase("Borneo")){return uuidBorneo;\r
                }else if (key.equalsIgnoreCase("Moluccas")){return uuidMoluccas;\r
@@ -773,7 +782,7 @@ public class MarkupTransformer extends InputTransformerBase {
         */\r
        @Override\r
        public PresenceTerm getPresenceTermByKey(String key) throws UndefinedTransformerMethodException {\r
-               if (CdmUtils.isEmpty(key)){return null;\r
+               if (CdmUtils.isBlank(key)){return null;\r
                }else if (key.equalsIgnoreCase("endemic")){return PresenceTerm.ENDEMIC_FOR_THE_RELEVANT_AREA();\r
                }else if (key.equalsIgnoreCase("cultivated")){return PresenceTerm.CULTIVATED();\r
                }else{\r
@@ -786,7 +795,7 @@ public class MarkupTransformer extends InputTransformerBase {
         */\r
        @Override\r
        public UUID getPresenceTermUuid(String key) throws UndefinedTransformerMethodException {\r
-               if (CdmUtils.isEmpty(key)){return null;\r
+               if (CdmUtils.isBlank(key)){return null;\r
 //             }else if (key.equalsIgnoreCase("region")){return uuidRegion;\r
                }else{\r
                        return null;\r
@@ -796,7 +805,7 @@ public class MarkupTransformer extends InputTransformerBase {
 \r
        @Override\r
        public UUID getLanguageUuid(String key) throws UndefinedTransformerMethodException {\r
-               if (CdmUtils.isEmpty(key)){return null;\r
+               if (CdmUtils.isBlank(key)){return null;\r
                }else if (key.equalsIgnoreCase("fang")){return uuidLanguageFang;\r
                }else if (key.equalsIgnoreCase("owimo")){return uuidLanguageOwimo;\r
                }else if (key.equalsIgnoreCase("batanga")){return uuidLanguageBatanga;\r