3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
11 package eu
.etaxonomy
.cdm
.io
.pesi
.erms
;
13 import java
.util
.HashSet
;
15 import java
.util
.UUID
;
17 import org
.apache
.commons
.lang
.StringUtils
;
18 import org
.apache
.log4j
.Logger
;
20 import eu
.etaxonomy
.cdm
.common
.CdmUtils
;
21 import eu
.etaxonomy
.cdm
.io
.common
.mapping
.InputTransformerBase
;
22 import eu
.etaxonomy
.cdm
.io
.common
.mapping
.UndefinedTransformerMethodException
;
23 import eu
.etaxonomy
.cdm
.model
.common
.ExtensionType
;
24 import eu
.etaxonomy
.cdm
.model
.common
.Language
;
25 import eu
.etaxonomy
.cdm
.model
.description
.Feature
;
26 import eu
.etaxonomy
.cdm
.model
.name
.NameTypeDesignationStatus
;
27 import eu
.etaxonomy
.cdm
.model
.name
.NomenclaturalCode
;
33 public final class ErmsTransformer
extends InputTransformerBase
{
34 private static final Logger logger
= Logger
.getLogger(ErmsTransformer
.class);
36 public static final int SOURCE_USE_ORIGINAL_DESCRIPTION
= 1;
37 public static final int SOURCE_USE_BASIS_OF_RECORD
= 2;
38 public static final int SOURCE_USE_ADDITIONAL_SOURCE
= 3;
39 public static final int SOURCE_USE_SOURCE_OF_SYNONYMY
= 4;
40 public static final int SOURCE_USE_REDESCRIPTION
= 5;
41 public static final int SOURCE_USE_NEW_COMBINATION_REFERENCE
= 6;
42 public static final int SOURCE_USE_STATUS_SOURCE
= 7;
43 public static final int SOURCE_USE_EMENDATION
= 8;
45 //taxon relationship type uuids
46 public static final UUID uuidTaxRelTypeIsTaxonSynonymOf
= UUID
.fromString("cc648276-0823-47b1-9deb-fa7c046e4afd");
50 public static final UUID uuidRankSuperdomain
= UUID
.fromString("66d4d773-4946-4e02-b758-8903563eaa26");
53 public static final UUID uuidEuropeanMarineWaters
= UUID
.fromString("47389e42-3b3c-4873-bded-ac030db86462");
54 public static final UUID uuidMediterraneanSea
= UUID
.fromString("bde8a624-23c4-4ac3-b381-11287f5d656a");
55 public static final UUID uuidWhiteSea
= UUID
.fromString("bf14bfb6-8925-4696-911c-56d3e90d4491");
56 public static final UUID uuidNorthSea
= UUID
.fromString("d5ea2d46-ed97-4996-8702-0619231626b6");
57 public static final UUID uuidBalticSea
= UUID
.fromString("0031cda2-4b27-49de-afa3-fdec75ee5060");
58 public static final UUID uuidBlackSea
= UUID
.fromString("1f110909-7462-4ee8-a7ff-9f976701dd1d");
59 public static final UUID uuidBarentsSea
= UUID
.fromString("b6fd9a4d-0ad0-4481-a0b4-5dd71c8fda8b");
60 public static final UUID uuidCaspianSea
= UUID
.fromString("0d3c3850-0cec-48d0-ac0d-9cbcc2c60552");
61 public static final UUID uuidPortugueseExclusiveEconomicZone
= UUID
.fromString("642336f3-41cb-4546-9a1c-ffeccbad2ef5");
62 public static final UUID uuidBelgianExclusiveEconomicZone
= UUID
.fromString("02138b0f-cee1-4c56-ae12-72a5b36839af");
63 public static final UUID uuidFrenchExclusiveEconomicZone
= UUID
.fromString("9f6a61c0-c329-4a61-a47a-f5f383737c36");
64 public static final UUID uuidEnglishChannel
= UUID
.fromString("3ed96112-bb4a-47df-b489-2c198d6f0fd2");
65 public static final UUID uuidAdriaticSea
= UUID
.fromString("da376165-f970-4f0c-99db-773686d66591");
66 public static final UUID uuidBiscayBay
= UUID
.fromString("1461cf85-e0b4-4ac3-bdf5-efe6053af174");
67 public static final UUID uuidDutchExclusiveEconomicZone
= UUID
.fromString("a1bd019e-e2af-41c8-a5e4-c7245b575759");
68 public static final UUID uuidUnitedKingdomExclusiveEconomicZone
= UUID
.fromString("18ab29c0-3104-4102-ada8-6711fcdbdbb8");
69 public static final UUID uuidSpanishExclusiveEconomicZone
= UUID
.fromString("68c2823a-2173-4c31-89e8-bc1439abf448");
70 public static final UUID uuidEgyptianExclusiveEconomicZone
= UUID
.fromString("e542bcfd-0ff1-49ac-a6ae-c0b3db39e560");
71 public static final UUID uuidGrecianExclusiveEconomicZone
= UUID
.fromString("1d14857c-30be-4d3a-bae9-8e79da0d9d1d");
72 public static final UUID uuidTirrenoSea
= UUID
.fromString("6e4f8a9d-ca6e-4b23-9211-446fac35a052");
73 public static final UUID uuidIcelandicExclusiveEconomicZone
= UUID
.fromString("a121a8fb-6287-4661-9228-0816affdf3f5");
74 public static final UUID uuidIrishExclusiveeconomicZone
= UUID
.fromString("c8fe2626-53d2-4eaa-962b-99662470b96e");
75 public static final UUID uuidIrishSea
= UUID
.fromString("9e972ad5-b153-419e-ab7e-935b93ff881b");
76 public static final UUID uuidItalianExclusiveEconomicZone
= UUID
.fromString("10557c6f-a33f-443a-ad8b-cd31c105bddd");
77 public static final UUID uuidNorwegianSea
= UUID
.fromString("c6c44372-a963-41b2-8c12-a0b46425c523");
78 public static final UUID uuidMoroccanExclusiveEconomicZone
= UUID
.fromString("e62e5cc2-922f-4807-abd6-1b4bffbced49");
79 public static final UUID uuidNorwegianExclusiveEconomicZone
= UUID
.fromString("bd317f3e-9719-4943-ae3e-19ff0c9761be");
80 public static final UUID uuidSkagerrak
= UUID
.fromString("5f63ece2-d112-4b39-80a0-bffb6c78654c");
81 public static final UUID uuidTunisianExclusiveEconomicZone
= UUID
.fromString("b5972b59-6a36-45ea-88f7-0c520c99b99d");
82 public static final UUID uuidWaddenSea
= UUID
.fromString("ae0c4555-8e19-479d-8a4f-e1b62939c09b");
83 public static final UUID uuidBeltSea
= UUID
.fromString("780f4144-f157-45e8-ae42-cacb3ec369ba");
84 public static final UUID uuidMarmaraSea
= UUID
.fromString("3db5d470-3265-4187-ba5a-01ecfb94ce6e");
85 public static final UUID uuidSeaofAzov
= UUID
.fromString("5b02cb7e-8a83-446c-af47-936a2ea31a8a");
86 public static final UUID uuidAegeanSea
= UUID
.fromString("65d6c443-225f-4ac0-9c86-da51502b46df");
87 public static final UUID uuidBulgarianExclusiveEconomicZone
= UUID
.fromString("13e5aa21-3971-4d06-bc34-ed75a31c2f66");
88 public static final UUID uuidSouthBalticproper
= UUID
.fromString("1c2a672d-4948-455d-9877-42a8da1ff1d0");
89 public static final UUID uuidBalticProper
= UUID
.fromString("12ddfcad-bf8f-43d8-a772-15ae69d37b20");
90 public static final UUID uuidNorthBalticproper
= UUID
.fromString("183ec305-1e9e-4cb1-93cc-703bd64de28f");
91 public static final UUID uuidArchipelagoSea
= UUID
.fromString("d9ea9d63-ec4d-4b01-967d-13f28b09a715");
92 public static final UUID uuidBothnianSea
= UUID
.fromString("926f7fa3-b0a4-4763-85eb-4c3804a72333");
93 public static final UUID uuidGermanExclusiveEconomicZone
= UUID
.fromString("a6dbea03-090f-4f5f-bf5e-27a00ab4cc1d");
94 public static final UUID uuidSwedishExclusiveEconomicZone
= UUID
.fromString("94b0e605-d241-44e1-a301-d8911c34fdef");
95 public static final UUID uuidUkrainianExclusiveEconomicZone
= UUID
.fromString("b7335968-e34f-412c-91a5-5dc0b73310e7");
96 public static final UUID uuidMadeiranExclusiveEconomicZone
= UUID
.fromString("c00f442a-4c08-4452-b979-825fa3ff97b2");
97 public static final UUID uuidLebaneseExclusiveEconomicZone
= UUID
.fromString("d9f7dc8b-9041-4206-bf5f-5226c42a5978");
98 public static final UUID uuidSpanishExclusiveEconomicZoneMediterraneanpart
= UUID
.fromString("94ccf304-9687-41b6-a14b-019509adb723");
99 public static final UUID uuidEstonianExclusiveEconomicZone
= UUID
.fromString("ed17f07b-357f-4b4a-9653-3a564fdd32e5");
100 public static final UUID uuidCroatianExclusiveEconomicZone
= UUID
.fromString("028b045a-b1bd-4a72-a4c2-a3d0473b8257");
101 public static final UUID uuidBalearSea
= UUID
.fromString("478f30f0-01b1-4772-9d01-3a0a571f41c3");
102 public static final UUID uuidTurkishExclusiveEconomicZone
= UUID
.fromString("3d552e73-2bf5-4f36-8a91-94fbead970e5");
103 public static final UUID uuidDanishExclusiveEconomicZone
= UUID
.fromString("53d5a8bd-804b-4cbb-b5ad-f47ff6433db0");
105 public static final UUID uuidBayOfBiscay
= UUID
.fromString("36ffc01e-85a2-4f71-91fd-012d0b1eeff5");
106 public static final UUID uuidGreekExclusiveEconomicZone
= UUID
.fromString("6e587a2b-d681-46d3-bede-30411b0707a9");
107 public static final UUID uuidTyrrhenianSea
= UUID
.fromString("26c39604-b7fd-425a-93a5-958774261d04");
108 public static final UUID uuidBaeltSea
= UUID
.fromString("66ebf77f-77c1-4aea-8610-7c679835caee");
109 public static final UUID uuidSeaOfMarmara
= UUID
.fromString("326da4d1-0c6c-4621-baf5-fdd04b0dc26c");
110 public static final UUID uuidAzoresExclusiveEconomicZone
= UUID
.fromString("e0297e2c-d28a-46aa-8b30-694148b0640d");
111 public static final UUID uuidIsraeliExclusiveEconomicZoneMediterranean
= UUID
.fromString("d947e1c1-6d7b-47e1-ad91-703d15c5c55b");
112 public static final UUID uuidPolishExclusiveEconomicZone
= UUID
.fromString("dc7f8339-528b-49ec-a8d9-c2be0441e933");
117 public static final UUID uuidRemark
= UUID
.fromString("648eab77-8469-4139-bbf4-3fb26ec15864");
118 public static final UUID uuidAdditionalinformation
= UUID
.fromString("ef00c304-ce33-45ef-9543-0b9336a2b6eb");
119 public static final UUID uuidSpelling
= UUID
.fromString("536594a1-21a5-4d99-aa46-132bc7b31316");
120 public static final UUID uuidPublicationdate
= UUID
.fromString("b996b34f-1313-4575-bf46-732676674290");
121 public static final UUID uuidSystematics
= UUID
.fromString("caac0f7f-f43e-4b7c-b296-ec2d930c4d05");
122 public static final UUID uuidClassification
= UUID
.fromString("aa9bffd3-1fa8-4bd7-9e25-e2d162177b3d");
123 public static final UUID uuidEnvironment
= UUID
.fromString("4f8ea10d-2242-443f-9d7d-4ecccdee4953");
124 public static final UUID uuidHabitat
= UUID
.fromString("b7387877-51e3-4192-b9e4-025a359f4b59");
125 public static final UUID uuidAuthority
= UUID
.fromString("9c7f8908-2530-4900-8da9-d328f7ac9031");
126 public static final UUID uuidMorphology
= UUID
.fromString("5be1f948-d85f-497f-a0d5-4e5f3b227274");
127 public static final UUID uuidTaxonomicRemarks
= UUID
.fromString("cc863aee-8da9-448b-82cd-47e3af942998");
128 public static final UUID uuidNote
= UUID
.fromString("2c66d35f-c76e-40e0-951b-f2c340e5973f");
129 public static final UUID uuidTaxonomy
= UUID
.fromString("d5734631-c86b-4212-9b8d-cb62f813e0a0");
130 public static final UUID uuidTaxonomicstatus
= UUID
.fromString("ffbadab5-a8bc-4fb6-a6b3-d1f2593187ff");
131 public static final UUID uuidStatus
= UUID
.fromString("fcc50853-bcff-4d0f-bc9a-123d7f175490");
132 public static final UUID uuidRank
= UUID
.fromString("cabada57-a098-47fc-929f-31c8c910f6cf");
133 public static final UUID uuidHomonymy
= UUID
.fromString("2791a14f-49b2-417f-a248-84c3d022d75f");
134 public static final UUID uuidNomenclature
= UUID
.fromString("15fe184f-4aab-4076-8bbb-3415d6f1f27f");
135 public static final UUID uuidTypespecies
= UUID
.fromString("cf674b0d-76e2-4628-952c-2cd06e209c6e");
136 public static final UUID uuidTaxonomicRemark
= UUID
.fromString("044e7c4e-aab8-4f44-bfa5-0339e7576c74");
137 public static final UUID uuidDateofPublication
= UUID
.fromString("2a416574-69db-4f80-b9a7-b912d5ed1816");
138 public static final UUID uuidAcknowledgments
= UUID
.fromString("3b2fd495-3f9a-480e-986a-7643741177da");
139 public static final UUID uuidOriginalpublication
= UUID
.fromString("ea9b7e53-0487-499f-a281-3d82d10e76dd");
140 public static final UUID uuidTypelocality
= UUID
.fromString("7c1c5779-2b4b-467b-b2ca-5ca2e029e116");
141 public static final UUID uuidValidity
= UUID
.fromString("bd066f25-935b-4b4e-a2eb-3fbfcd5e608f");
142 public static final UUID uuidIdentification
= UUID
.fromString("dec3cd5b-0690-4035-825d-bda9aee96bc1");
143 public static final UUID uuidSynonymy
= UUID
.fromString("f5c8be5f-8d33-47df-838e-55fc7999fc81");
145 //extension type uuids
146 public static final UUID uuidErmsTaxonStatus
= UUID
.fromString("859eee7f-5240-48a0-8edc-7af63557fa6e");
148 public static final UUID GAZETTEER_UUID
= UUID
.fromString("dcfa124a-1028-49cd-aea5-fdf9bd396c1a");
149 public static final UUID IMIS_UUID
= UUID
.fromString("ee2ac2ca-b60c-4e6f-9cad-720fcdb0a6ae");
150 public static final UUID uuidFossilStatus
= UUID
.fromString("ec3dffbe-a0c8-4d76-845f-5fc166a33d5b");
151 public static final UUID uuidTsn
= UUID
.fromString("6b0df02b-7278-4ce0-8fc9-0e6523832eb5");
152 public static final UUID uuidDisplayName
= UUID
.fromString("cd72225d-32c7-4b2d-a973-a95184392690");
153 public static final UUID uuidFuzzyName
= UUID
.fromString("8870dc69-d3a4-425f-a5a8-093a79f527a8");
154 public static final UUID uuidCredibility
= UUID
.fromString("909a3886-8744-49dc-b9cc-277378b81b42");
155 public static final UUID uuidCompleteness
= UUID
.fromString("141f4816-78c0-4da1-8a79-5c9031e6b149");
156 public static final UUID uuidUnacceptReason
= UUID
.fromString("3883fb79-374d-4120-964b-9666307e3567");
157 public static final UUID uuidQualityStatus
= UUID
.fromString("4de84c6e-41bd-4a0e-894d-77e9ec3103d2");
160 public static final UUID uuidMarkerMarine
= UUID
.fromString("5da78a28-5668-4ed5-b788-10c69343f91e");
161 public static final UUID uuidMarkerBrackish
= UUID
.fromString("2da39f5d-67d6-4779-b40d-923dca85fe14");
162 public static final UUID uuidMarkerFreshwater
= UUID
.fromString("1190b182-e1d3-4986-8cc3-a6de3c115cf7");
163 public static final UUID uuidMarkerTerrestrial
= UUID
.fromString("5ed92edb-e2c6-48da-8367-6e82071c888f");
167 public static final UUID uuidLangAuns
= UUID
.fromString("7bb29f8f-d74b-4f7d-b673-c52debb7ae20"); //au
168 public static final UUID uuidLangChukchiLouravetlany
= UUID
.fromString("f85797cc-5ab3-454d-b9eb-beb75bc8eb37"); //cl
169 public static final UUID uuidLangChleuh
= UUID
.fromString("85132635-d696-4fc0-af12-207175b11773"); //cu
170 public static final UUID uuidLangEnglishCanadian
= UUID
.fromString("43d244c4-e8cb-4c7f-951a-14d71666999c"); //ec
171 public static final UUID uuidLangEnglishUs
= UUID
.fromString("037bc818-b992-48ce-a40b-994980bc46d7"); //eu
172 public static final UUID uuidLangEvenKamchatcka
= UUID
.fromString("6ff3e21e-cabe-4583-b416-11b7120c5c0a"); //ek
173 public static final UUID uuidLangEvenki
= UUID
.fromString("2773fa25-8b37-4c58-8936-b666ccbb8e1c"); //ev
174 public static final UUID uuidLangFrenchCanadian
= UUID
.fromString("2b9a24d1-df9d-45bf-9310-11afa1256b9a"); //fc
175 public static final UUID uuidLangHassanya
= UUID
.fromString("ece61834-448c-4897-98ed-a90d1253a215"); //ha
176 public static final UUID uuidLangKamchadal
= UUID
.fromString("61671224-9fc5-4e59-a29b-04fc3e9ffab2"); //ka
177 public static final UUID uuidLangKrio
= UUID
.fromString("93a1899a-dd23-4d55-b159-a427dc44ab19"); // ki
178 public static final UUID uuidLangKoryak
= UUID
.fromString("e5c71f03-691c-440c-ad5c-2e120b2795d7"); //kr
179 public static final UUID uuidLangLapp
= UUID
.fromString("8405e039-a45c-491e-84dd-6779d1980e53"); //lp
180 public static final UUID uuidLangMonegasque
= UUID
.fromString("05dbbcdd-6ea1-4091-8a8b-ed023dff8070"); //mo
181 public static final UUID uuidLangOstyak
= UUID
.fromString("c3fda8b6-a7ce-4846-8d18-b112477316fb");//os
182 public static final UUID uuidLangTamul
= UUID
.fromString("9f55f493-9f2b-427c-bb55-d970822726c9"); //tm
183 public static final UUID uuidLangNentsiNenets
= UUID
.fromString("4697b87e-2718-4986-8f9b-361dd47b0c90"); //ne
190 public static NomenclaturalCode
kingdomId2NomCode(Integer kingdomId
){
193 case 2: return NomenclaturalCode
.ICZN
; //Animalia
194 case 3: return NomenclaturalCode
.ICNAFP
; //Plantae
195 case 4: return NomenclaturalCode
.ICNAFP
; //Fungi
196 case 5: return NomenclaturalCode
.ICZN
; //Protozoa
197 case 6: return NomenclaturalCode
.ICNB
; //Bacteria
198 case 7: return NomenclaturalCode
.ICNAFP
; //Chromista ??
199 case 147415: return NomenclaturalCode
.ICNB
; //Monera
200 default: return null;
210 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getNameTypeDesignationStatusByKey(java.lang.String)
213 public NameTypeDesignationStatus
getNameTypeDesignationStatusByKey(String key
) throws UndefinedTransformerMethodException
{
217 Integer intDesignationId
= Integer
.valueOf(key
);
218 switch (intDesignationId
){
219 case 1: return NameTypeDesignationStatus
.ORIGINAL_DESIGNATION();
220 case 2: return NameTypeDesignationStatus
.SUBSEQUENT_DESIGNATION();
221 case 3: return NameTypeDesignationStatus
.MONOTYPY();
223 String warning
= "Unknown name type designation status id " + key
;
224 logger
.warn(warning
);
233 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getNameTypeDesignationStatusUuid(java.lang.String)
236 public UUID
getNameTypeDesignationStatusUuid(String key
) throws UndefinedTransformerMethodException
{
238 return super.getNameTypeDesignationStatusUuid(key
);
242 public Language
getLanguageByKey(String ermsAbbrev
) throws IllegalArgumentException
{
243 Set
<String
> unhandledLanguages
= new HashSet
<String
>();
244 if (CdmUtils
.isEmpty(ermsAbbrev
)){return null;
245 }else if (ermsAbbrev
.equals("ab")){return Language
.ALBANIAN();
246 }else if (ermsAbbrev
.equals("af")){return Language
.AFRIKAANS();
247 }else if (ermsAbbrev
.equals("al")){return Language
.ALEUT();
248 }else if (ermsAbbrev
.equals("ar")){return Language
.ARABIC();
249 }else if (ermsAbbrev
.equals("as")){return Language
.ASSAMESE();
250 // }else if (ermsAbbrev.equals("au")){return Language.AUNS(); //??
251 }else if (ermsAbbrev
.equals("az")){return Language
.AZERBAIJANI();
252 }else if (ermsAbbrev
.equals("ba")){return Language
.BASQUE();
253 }else if (ermsAbbrev
.equals("be")){return Language
.BELORUSSIAN();
254 }else if (ermsAbbrev
.equals("bg")){return Language
.BULGARIAN();
255 }else if (ermsAbbrev
.equals("bl")){return Language
.BALUCHI();
256 }else if (ermsAbbrev
.equals("bn")){return Language
.BENGALI();
257 }else if (ermsAbbrev
.equals("br")){return Language
.BRETON();
258 }else if (ermsAbbrev
.equals("bu")){return Language
.BURMESE();
259 }else if (ermsAbbrev
.equals("ca")){return Language
.CATALAN_VALENCIAN(); //??? (Catalan)
260 }else if (ermsAbbrev
.equals("ce")){return Language
.CEBUANO();
261 }else if (ermsAbbrev
.equals("ch")){return Language
.CHINESE();
262 // }else if (ermsAbbrev.equals("cl")){return Language.CHUKCHI(); // (LOURAVETLANY)(); //iso639-3: ckt //also known as Luoravetlan, Chukot and Chukcha is a Palaeosiberian language spoken by Chukchi people in the easternmost extremity of Siberia, mainly in Chukotka Autonomous Okrug.
263 }else if (ermsAbbrev
.equals("cr")){return Language
.CROATIAN();
264 }else if (ermsAbbrev
.equals("cs")){return Language
.CZECH();
265 // }else if (ermsAbbrev.equals("cu")){return Language.CHLEUH();
266 }else if (ermsAbbrev
.equals("da")){return Language
.DANISH();
267 }else if (ermsAbbrev
.equals("de")){return Language
.GERMAN();
268 // }else if (ermsAbbrev.equals("ec")){return Language.ENGLISH-CANADIAN(); //no iso
269 }else if (ermsAbbrev
.equals("ee")){return Language
.ESTONIAN();
270 // }else if (ermsAbbrev.equals("ek")){return Language.EVEN-KAMCHATKA(); //iso639-3: eve Lamut, Ewen, Eben, Orich, Ilqan; Russian: ???´????? ???´?, earlier also ????????? ???´?) is a Tungusic language spoken by the Evens in Siberia
271 }else if (ermsAbbrev
.equals("en")){return Language
.ENGLISH();
272 }else if (ermsAbbrev
.equals("ep")){return Language
.ESPERANTO();
273 }else if (ermsAbbrev
.equals("es")){return Language
.SPANISH_CASTILIAN();
274 // }else if (ermsAbbrev.equals("eu")){return Language.ENGLISH-UNITED STATES(); no iso //ENGLISH();
275 // }else if (ermsAbbrev.equals("ev")){return Language.EVENKI(); iso: evn //languages of Tungusic family
276 }else if (ermsAbbrev
.equals("fa")){return Language
.PERSIAN();
277 // }else if (ermsAbbrev.equals("fc")){return Language.FRENCH-CANADIAN(); no iso //FRENCH();
278 }else if (ermsAbbrev
.equals("fi")){return Language
.FINNISH();
279 }else if (ermsAbbrev
.equals("fj")){return Language
.FIJIAN();
280 }else if (ermsAbbrev
.equals("fl")){return Language
.DUTCH_FLEMISH();
281 }else if (ermsAbbrev
.equals("fo")){return Language
.FAROESE();
282 }else if (ermsAbbrev
.equals("fr")){return Language
.FRENCH();
283 }else if (ermsAbbrev
.equals("ga")){return Language
.GAELIC_SCOTTISH_GAELIC(); //??
284 }else if (ermsAbbrev
.equals("ge")){return Language
.KALAALLISUT_GREENLANDIC(); // GREENLANDIC
285 }else if (ermsAbbrev
.equals("gl")){return Language
.GALICIAN();
286 }else if (ermsAbbrev
.equals("gr")){return Language
.GREEK_MODERN(); //(Greek)
287 // }else if (ermsAbbrev.equals("gu")){return Language.GUARAYO(); //GUARANI() ??
288 // }else if (ermsAbbrev.equals("ha")){return Language.HASSANYA(); Hassaniyya Arabic ios 639-3: mey
289 }else if (ermsAbbrev
.equals("he")){return Language
.HEBREW();
290 }else if (ermsAbbrev
.equals("hi")){return Language
.HINDI();
291 }else if (ermsAbbrev
.equals("hu")){return Language
.HUNGARIAN();
292 }else if (ermsAbbrev
.equals("hw")){return Language
.HAWAIIAN();
293 }else if (ermsAbbrev
.equals("hy")){return Language
.ARMENIAN();
294 }else if (ermsAbbrev
.equals("in")){return Language
.INDONESIAN();
295 }else if (ermsAbbrev
.equals("iq")){return Language
.INUPIAQ();
296 }else if (ermsAbbrev
.equals("ir")){return Language
.IRISH();
297 }else if (ermsAbbrev
.equals("is")){return Language
.ICELANDIC();
298 }else if (ermsAbbrev
.equals("it")){return Language
.ITALIAN();
299 }else if (ermsAbbrev
.equals("ja")){return Language
.JAPANESE();
300 // }else if (ermsAbbrev.equals("ji")){return Language.JIVARA(); //??
301 // }else if (ermsAbbrev.equals("ka")){return Language.KAMCHADAL(); iso 639-3:itl //Itelmen, formerly also known as Kamchadal, is a language belonging to the Chukotko-Kamchatkan family traditionally spoken in the Kamchatka Peninsula.
302 // }else if (ermsAbbrev.equals("ki")){return Language.CREOLES_PIDGINS_ENGLISH_BASED_OTHER()
303 }else if (ermsAbbrev
.equals("ko")){return Language
.KOREAN();
304 // }else if (ermsAbbrev.equals("kr")){return Language.KORYAK(); //iso639-3: kpy
305 }else if (ermsAbbrev
.equals("la")){return Language
.LATIN();
306 }else if (ermsAbbrev
.equals("li")){return Language
.LITHUANIAN();
307 // }else if (ermsAbbrev.equals("lp")){return Language.LAPP(); //??
308 }else if (ermsAbbrev
.equals("lv")){return Language
.LATVIAN();
309 }else if (ermsAbbrev
.equals("lt")){return Language
.LITHUANIAN();
310 }else if (ermsAbbrev
.equals("ma")){return Language
.MACEDONIAN();
311 // }else if (ermsAbbrev.equals("mh")){return Language.MAHR(); //Marathi ; Mari ??
312 // }else if (ermsAbbrev.equals("mk")){return Language.MAKAH (QWIQWIDICCIAT)(); //iso639-3: myh
313 }else if (ermsAbbrev
.equals("ml")){return Language
.MALAY();
314 }else if (ermsAbbrev
.equals("mr")){return Language
.MAORI();
315 }else if (ermsAbbrev
.equals("mt")){return Language
.MALTESE();
316 }else if (ermsAbbrev
.equals("nb")){return Language
.NORWEGIAN_BOKMOL();
317 // }else if (ermsAbbrev.equals("ne")){return Language.NENETS(); iso639-3 yrk; iso639-2: mis
318 }else if (ermsAbbrev
.equals("nl")){return Language
.DUTCH_FLEMISH();
319 }else if (ermsAbbrev
.equals("nn")){return Language
.NORWEGIAN_NYNORSK();
320 }else if (ermsAbbrev
.equals("no")){return Language
.NORWEGIAN();
321 }else if (ermsAbbrev
.equals("np")){return Language
.NEPALI();
322 // }else if (ermsAbbrev.equals("os")){return Language.OSTYAK(); //Ostyak on its own or in combination, can refer, especially in older literature, to several Siberian peoples and languages:
323 // Khanty language (kca; 639-2: fiu); Ket language(ket); Selkup language(sel; 639-2: sel)
324 // }else if (ermsAbbrev.equals("pi")){return Language.PIRAYAGUARA(); //??
325 }else if (ermsAbbrev
.equals("pl")){return Language
.POLISH();
326 }else if (ermsAbbrev
.equals("pt")){return Language
.PORTUGUESE();
327 }else if (ermsAbbrev
.equals("ro")){return Language
.ROMANIAN();
328 }else if (ermsAbbrev
.equals("ru")){return Language
.RUSSIAN();
329 }else if (ermsAbbrev
.equals("sa")){return Language
.SAMOAN();
330 }else if (ermsAbbrev
.equals("sc")){return Language
.SCOTS();
331 }else if (ermsAbbrev
.equals("sd")){return Language
.SINDHI();
332 // }else if (ermsAbbrev.equals("sh")){return Language.SERBO_CROATIAN(); //hbs
333 }else if (ermsAbbrev
.equals("si")){return Language
.SINHALA_SINHALESE();
334 }else if (ermsAbbrev
.equals("sk")){return Language
.SLOVAK();
335 }else if (ermsAbbrev
.equals("sl")){return Language
.SLOVENIAN();
336 }else if (ermsAbbrev
.equals("sn")){return Language
.SLOVENIAN(); //not used anymore
337 }else if (ermsAbbrev
.equals("sr")){return Language
.SERBIAN();
338 }else if (ermsAbbrev
.equals("st")){return Language
.SRANAN_TONGO();
339 }else if (ermsAbbrev
.equals("sv")){return Language
.SWEDISH();
340 }else if (ermsAbbrev
.equals("sw")){return Language
.SWAHILI();
341 }else if (ermsAbbrev
.equals("ta")){return Language
.TAMIL();
342 }else if (ermsAbbrev
.equals("te")){return Language
.TELUGU();
343 }else if (ermsAbbrev
.equals("tg")){return Language
.TAGALOG();
344 }else if (ermsAbbrev
.equals("th")){return Language
.THAI();
345 // }else if (ermsAbbrev.equals("tm")){return Language.TAM //??
346 }else if (ermsAbbrev
.equals("tr")){return Language
.TURKISH();
347 }else if (ermsAbbrev
.equals("tu")){return Language
.TUPIS();
348 }else if (ermsAbbrev
.equals("uk")){return Language
.UKRAINIAN();
349 }else if (ermsAbbrev
.equals("ur")){return Language
.URDU();
350 }else if (ermsAbbrev
.equals("vi")){return Language
.VIETNAMESE();
351 }else if (ermsAbbrev
.equals("we")){return Language
.WELSH();
352 }else if (ermsAbbrev
.equals("wo")){return Language
.WOLOF();
353 }else if (ermsAbbrev
.equals("ya")){return Language
.YAKUT();
354 }else if (ermsAbbrev
.equals("yp")){return Language
.YUPIKS();
355 // }else if (ermsAbbrev.equals("yu")){return Language.YUKAGIR(); 639-2: mis; 639-3 yux (Southern Yukaghir)- ykg(Tundra Yukaghir)
357 unhandledLanguages
.add("au");
358 unhandledLanguages
.add("cl");
359 unhandledLanguages
.add("ec");
360 unhandledLanguages
.add("ek");
361 unhandledLanguages
.add("eu");
362 unhandledLanguages
.add("ev");
363 unhandledLanguages
.add("fc");
364 unhandledLanguages
.add("gu");
365 unhandledLanguages
.add("ha");
366 unhandledLanguages
.add("ji");
367 unhandledLanguages
.add("ka");
368 unhandledLanguages
.add("kr");
369 unhandledLanguages
.add("lp");
370 unhandledLanguages
.add("mh");
371 unhandledLanguages
.add("mk");
372 unhandledLanguages
.add("ne");
373 unhandledLanguages
.add("os");
374 unhandledLanguages
.add("pi");
375 unhandledLanguages
.add("sh");
376 unhandledLanguages
.add("tm");
377 unhandledLanguages
.add("sh");
378 unhandledLanguages
.add("yu");
380 unhandledLanguages
.add("cu"); //Chleuh
381 unhandledLanguages
.add("ki"); //Krio, subset of Language.CREOLES_PIDGINS_ENGLISH_BASED_OTHER()
382 unhandledLanguages
.add("mo"); //Monégasque
387 if (unhandledLanguages
.contains(ermsAbbrev
)){
388 logger
.info("Unhandled language '" + ermsAbbrev
+ "' replaced by 'UNDETERMINED'" );
389 return Language
.UNDETERMINED();
391 String warning
= "New language abbreviation " + ermsAbbrev
;
392 logger
.warn(warning
);
393 throw new IllegalArgumentException(warning
);
398 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getLanguageUuid(java.lang.String)
401 public UUID
getLanguageUuid(String key
) throws UndefinedTransformerMethodException
{
404 }else if (key
.equalsIgnoreCase("au")){return uuidLangAuns
;
405 }else if (key
.equalsIgnoreCase("cl")){return uuidLangChukchiLouravetlany
;
406 }else if (key
.equalsIgnoreCase("cu")){return uuidLangChleuh
;
407 }else if (key
.equalsIgnoreCase("ec")){return uuidLangEnglishCanadian
;
408 }else if (key
.equalsIgnoreCase("ek")){return uuidLangEvenKamchatcka
;
409 }else if (key
.equalsIgnoreCase("eu")){return uuidLangEnglishUs
;
410 }else if (key
.equalsIgnoreCase("ev")){return uuidLangEvenki
;
411 }else if (key
.equalsIgnoreCase("fc")){return uuidLangFrenchCanadian
;
412 }else if (key
.equalsIgnoreCase("ha")){return uuidLangHassanya
;
413 }else if (key
.equalsIgnoreCase("ka")){return uuidLangKamchadal
;
414 }else if (key
.equalsIgnoreCase("ki")){return uuidLangKrio
;
415 }else if (key
.equalsIgnoreCase("kr")){return uuidLangKoryak
;
416 }else if (key
.equalsIgnoreCase("lp")){return uuidLangLapp
;
417 }else if (key
.equalsIgnoreCase("mo")){return uuidLangMonegasque
;
418 }else if (key
.equalsIgnoreCase("ne")){return uuidLangNentsiNenets
;
419 }else if (key
.equalsIgnoreCase("os")){return uuidLangOstyak
;
420 }else if (key
.equalsIgnoreCase("tm")){return uuidLangTamul
;
423 return super.getLanguageUuid(key
);
429 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getExtensionTypeByKey(java.lang.String)
432 public ExtensionType
getExtensionTypeByKey(String key
) throws UndefinedTransformerMethodException
{
433 if (key
== null){return null;
439 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getExtensionTypeUuid(java.lang.String)
442 public UUID
getExtensionTypeUuid(String key
)
443 throws UndefinedTransformerMethodException
{
444 if (key
== null){return null;
445 // }else if (key.equalsIgnoreCase("recent only")){return uuidRecentOnly;
446 // }else if (key.equalsIgnoreCase("recent + fossil")){return uuidRecentAndFossil;
447 // }else if (key.equalsIgnoreCase("fossil only")){return uuidFossilOnly;
452 public static UUID
uuidFromGuName(String guName
){
453 if (CdmUtils
.isEmpty(guName
)){return null;
454 }else if (guName
.equalsIgnoreCase("European Marine Waters")){ return uuidEuropeanMarineWaters
;
455 }else if (guName
.equalsIgnoreCase("Mediterranean Sea")){ return uuidMediterraneanSea
;
456 }else if (guName
.equalsIgnoreCase("White Sea")){ return uuidWhiteSea
;
457 }else if (guName
.equalsIgnoreCase("North Sea")){ return uuidNorthSea
;
458 }else if (guName
.equalsIgnoreCase("Baltic Sea")){ return uuidBalticSea
;
459 }else if (guName
.equalsIgnoreCase("Black Sea")){ return uuidBlackSea
;
460 }else if (guName
.equalsIgnoreCase("Barents Sea")){ return uuidBarentsSea
;
461 }else if (guName
.equalsIgnoreCase("Caspian Sea")){ return uuidCaspianSea
;
462 }else if (guName
.equalsIgnoreCase("Portuguese Exclusive Economic Zone")){ return uuidPortugueseExclusiveEconomicZone
;
463 }else if (guName
.equalsIgnoreCase("Belgian Exclusive Economic Zone")){ return uuidBelgianExclusiveEconomicZone
;
464 }else if (guName
.equalsIgnoreCase("French Exclusive Economic Zone")){ return uuidFrenchExclusiveEconomicZone
;
465 }else if (guName
.equalsIgnoreCase("English Channel")){ return uuidEnglishChannel
;
466 }else if (guName
.equalsIgnoreCase("Adriatic Sea")){ return uuidAdriaticSea
;
467 }else if (guName
.equalsIgnoreCase("Biscay Bay")){ return uuidBiscayBay
;
468 }else if (guName
.equalsIgnoreCase("Dutch Exclusive Economic Zone")){ return uuidDutchExclusiveEconomicZone
;
469 }else if (guName
.equalsIgnoreCase("United Kingdom Exclusive Economic Zone")){ return uuidUnitedKingdomExclusiveEconomicZone
;
470 }else if (guName
.equalsIgnoreCase("Spanish Exclusive Economic Zone")){ return uuidSpanishExclusiveEconomicZone
;
471 }else if (guName
.equalsIgnoreCase("Egyptian Exclusive Economic Zone")){ return uuidEgyptianExclusiveEconomicZone
;
472 }else if (guName
.equalsIgnoreCase("Grecian Exclusive Economic Zone")){ return uuidGrecianExclusiveEconomicZone
;
473 }else if (guName
.equalsIgnoreCase("Tirreno Sea")){ return uuidTirrenoSea
;
474 }else if (guName
.equalsIgnoreCase("Icelandic Exclusive Economic Zone")){ return uuidIcelandicExclusiveEconomicZone
;
475 }else if (guName
.equalsIgnoreCase("Irish Exclusive economic Zone")){ return uuidIrishExclusiveeconomicZone
;
476 }else if (guName
.equalsIgnoreCase("Irish Sea")){ return uuidIrishSea
;
477 }else if (guName
.equalsIgnoreCase("Italian Exclusive Economic Zone")){ return uuidItalianExclusiveEconomicZone
;
478 }else if (guName
.equalsIgnoreCase("Norwegian Sea")){ return uuidNorwegianSea
;
479 }else if (guName
.equalsIgnoreCase("Moroccan Exclusive Economic Zone")){ return uuidMoroccanExclusiveEconomicZone
;
480 }else if (guName
.equalsIgnoreCase("Norwegian Exclusive Economic Zone")){ return uuidNorwegianExclusiveEconomicZone
;
481 }else if (guName
.equalsIgnoreCase("Skagerrak")){ return uuidSkagerrak
;
482 }else if (guName
.equalsIgnoreCase("Tunisian Exclusive Economic Zone")){ return uuidTunisianExclusiveEconomicZone
;
483 }else if (guName
.equalsIgnoreCase("Wadden Sea")){ return uuidWaddenSea
;
484 }else if (guName
.equalsIgnoreCase("Belt Sea")){ return uuidBeltSea
;
485 }else if (guName
.equalsIgnoreCase("Marmara Sea")){ return uuidMarmaraSea
;
486 }else if (guName
.equalsIgnoreCase("Sea of Azov")){ return uuidSeaofAzov
;
487 }else if (guName
.equalsIgnoreCase("Aegean Sea")){ return uuidAegeanSea
;
488 }else if (guName
.equalsIgnoreCase("Bulgarian Exclusive Economic Zone")){ return uuidBulgarianExclusiveEconomicZone
;
489 }else if (guName
.equalsIgnoreCase("South Baltic proper")){ return uuidSouthBalticproper
;
490 }else if (guName
.equalsIgnoreCase("Baltic Proper")){ return uuidBalticProper
;
491 }else if (guName
.equalsIgnoreCase("North Baltic proper")){ return uuidNorthBalticproper
;
492 }else if (guName
.equalsIgnoreCase("Archipelago Sea")){ return uuidArchipelagoSea
;
493 }else if (guName
.equalsIgnoreCase("Bothnian Sea")){ return uuidBothnianSea
;
494 }else if (guName
.equalsIgnoreCase("German Exclusive Economic Zone")){ return uuidGermanExclusiveEconomicZone
;
495 }else if (guName
.equalsIgnoreCase("Swedish Exclusive Economic Zone")){ return uuidSwedishExclusiveEconomicZone
;
496 }else if (guName
.equalsIgnoreCase("Ukrainian Exclusive Economic Zone")){ return uuidUkrainianExclusiveEconomicZone
;
497 }else if (guName
.equalsIgnoreCase("Madeiran Exclusive Economic Zone")){ return uuidMadeiranExclusiveEconomicZone
;
498 }else if (guName
.equalsIgnoreCase("Lebanese Exclusive Economic Zone")){ return uuidLebaneseExclusiveEconomicZone
;
499 }else if (guName
.equalsIgnoreCase("Spanish Exclusive Economic Zone [Mediterranean part]")){ return uuidSpanishExclusiveEconomicZoneMediterraneanpart
;
500 }else if (guName
.equalsIgnoreCase("Estonian Exclusive Economic Zone")){ return uuidEstonianExclusiveEconomicZone
;
501 }else if (guName
.equalsIgnoreCase("Croatian Exclusive Economic Zone")){ return uuidCroatianExclusiveEconomicZone
;
502 }else if (guName
.equalsIgnoreCase("Balear Sea")){ return uuidBalearSea
;
503 }else if (guName
.equalsIgnoreCase("Turkish Exclusive Economic Zone")){ return uuidTurkishExclusiveEconomicZone
;
504 }else if (guName
.equalsIgnoreCase("Danish Exclusive Economic Zone")){ return uuidDanishExclusiveEconomicZone
;
506 }else if (guName
.equalsIgnoreCase("Bay of Biscay")){ return uuidBayOfBiscay
;
507 }else if (guName
.equalsIgnoreCase("Greek Exclusive Economic Zone")){ return uuidGreekExclusiveEconomicZone
;
508 }else if (guName
.equalsIgnoreCase("Tyrrhenian Sea")){ return uuidTyrrhenianSea
;
509 }else if (guName
.equalsIgnoreCase("Baelt Sea")){ return uuidBaeltSea
;
510 }else if (guName
.equalsIgnoreCase("Sea of Marmara")){ return uuidSeaOfMarmara
;
511 }else if (guName
.equalsIgnoreCase("Azores Exclusive Economic Zone")){ return uuidAzoresExclusiveEconomicZone
;
512 }else if (guName
.equalsIgnoreCase("Israeli Exclusive Economic Zone [Mediterranean part]")){ return uuidIsraeliExclusiveEconomicZoneMediterranean
;
513 }else if (guName
.equalsIgnoreCase("Polish Exclusive Economic Zone")){ return uuidPolishExclusiveEconomicZone
;
516 throw new IllegalArgumentException("Unknown area " + guName
);
522 public static UUID
uuidFromGuId(Integer guId
){
523 if (guId
== null){return null;
524 }else if (guId
== 7788){ return uuidEuropeanMarineWaters
;
525 }else if (guId
== 7789){ return uuidMediterraneanSea
;
526 }else if (guId
== 7791){ return uuidWhiteSea
;
527 }else if (guId
== 7792){ return uuidNorthSea
;
528 }else if (guId
== 7793){ return uuidBalticSea
;
529 }else if (guId
== 7794){ return uuidBlackSea
;
530 }else if (guId
== 7795){ return uuidBarentsSea
;
531 }else if (guId
== 7796){ return uuidCaspianSea
;
532 }else if (guId
== 7799){ return uuidPortugueseExclusiveEconomicZone
;
533 }else if (guId
== 7802){ return uuidBelgianExclusiveEconomicZone
;
534 }else if (guId
== 7805){ return uuidFrenchExclusiveEconomicZone
;
535 }else if (guId
== 7818){ return uuidEnglishChannel
;
536 }else if (guId
== 7821){ return uuidAdriaticSea
;
537 }else if (guId
== 7831){ return uuidBiscayBay
;
538 }else if (guId
== 7839){ return uuidDutchExclusiveEconomicZone
;
539 }else if (guId
== 7862){ return uuidUnitedKingdomExclusiveEconomicZone
;
540 }else if (guId
== 7869){ return uuidSpanishExclusiveEconomicZone
;
541 }else if (guId
== 7902){ return uuidEgyptianExclusiveEconomicZone
;
542 }else if (guId
== 7939){ return uuidGrecianExclusiveEconomicZone
;
543 }else if (guId
== 7946){ return uuidTirrenoSea
;
544 }else if (guId
== 7964){ return uuidIcelandicExclusiveEconomicZone
;
545 }else if (guId
== 7974){ return uuidIrishExclusiveeconomicZone
;
546 }else if (guId
== 7975){ return uuidIrishSea
;
547 }else if (guId
== 7978){ return uuidItalianExclusiveEconomicZone
;
548 }else if (guId
== 7980){ return uuidNorwegianSea
;
549 }else if (guId
== 8027){ return uuidMoroccanExclusiveEconomicZone
;
550 }else if (guId
== 8050){ return uuidNorwegianExclusiveEconomicZone
;
551 }else if (guId
== 8072){ return uuidSkagerrak
;
552 }else if (guId
== 8143){ return uuidTunisianExclusiveEconomicZone
;
553 }else if (guId
== 8155){ return uuidWaddenSea
;
554 }else if (guId
== 8203){ return uuidBeltSea
;
555 }else if (guId
== 8205){ return uuidMarmaraSea
;
556 }else if (guId
== 8837){ return uuidSeaofAzov
;
557 }else if (guId
== 9146){ return uuidAegeanSea
;
558 }else if (guId
== 9178){ return uuidBulgarianExclusiveEconomicZone
;
559 }else if (guId
== 9903){ return uuidSouthBalticproper
;
560 }else if (guId
== 9904){ return uuidBalticProper
;
561 }else if (guId
== 9905){ return uuidNorthBalticproper
;
562 }else if (guId
== 9908){ return uuidArchipelagoSea
;
563 }else if (guId
== 9909){ return uuidBothnianSea
;
564 }else if (guId
== 10515){ return uuidGermanExclusiveEconomicZone
;
565 }else if (guId
== 10528){ return uuidSwedishExclusiveEconomicZone
;
566 }else if (guId
== 10529){ return uuidUkrainianExclusiveEconomicZone
;
567 }else if (guId
== 10564){ return uuidMadeiranExclusiveEconomicZone
;
568 }else if (guId
== 10574){ return uuidLebaneseExclusiveEconomicZone
;
569 }else if (guId
== 10659){ return uuidSpanishExclusiveEconomicZoneMediterraneanpart
;
570 }else if (guId
== 10708){ return uuidEstonianExclusiveEconomicZone
;
571 }else if (guId
== 10778){ return uuidCroatianExclusiveEconomicZone
;
572 }else if (guId
== 10779){ return uuidBalearSea
;
573 }else if (guId
== 10782){ return uuidTurkishExclusiveEconomicZone
;
574 }else if (guId
== 11039){ return uuidDanishExclusiveEconomicZone
;
577 throw new IllegalArgumentException("Unknown area id " + guId
);
582 public static Feature
noteType2Feature(String type
){
583 if (CdmUtils
.isEmpty(type
)){return null;
584 }else if (type
.equals("Remark")){return Feature
.UNKNOWN();
585 }else if (type
.equals("Additional information")){return Feature
.UNKNOWN();
586 }else if (type
.equals("Spelling")){return Feature
.UNKNOWN();
587 }else if (type
.equals("Publication date")){return Feature
.UNKNOWN();
588 }else if (type
.equals("Systematics")){return Feature
.UNKNOWN();
589 }else if (type
.equals("Classification")){return Feature
.UNKNOWN();
590 }else if (type
.equals("Environment")){return Feature
.UNKNOWN();
591 }else if (type
.equals("Habitat")){return Feature
.UNKNOWN();
592 }else if (type
.equals("Authority")){return Feature
.UNKNOWN();
593 }else if (type
.equals("Ecology")){return Feature
.UNKNOWN();
594 }else if (type
.equals("Morphology")){return Feature
.UNKNOWN();
595 }else if (type
.equals("Taxonomic Remarks")){return Feature
.UNKNOWN();
596 }else if (type
.equals("NULL")){return Feature
.UNKNOWN();
597 }else if (type
.equals("Distribution")){return Feature
.UNKNOWN();
598 }else if (type
.equals("Note")){return Feature
.UNKNOWN();
599 }else if (type
.equals("Taxonomy")){return Feature
.UNKNOWN();
600 }else if (type
.equals("Taxonomic status")){return Feature
.UNKNOWN();
601 }else if (type
.equals("Status")){return Feature
.UNKNOWN();
602 }else if (type
.equals("Rank")){return Feature
.UNKNOWN();
603 }else if (type
.equals("Homonymy")){return Feature
.UNKNOWN();
604 }else if (type
.equals("Nomenclature")){return Feature
.UNKNOWN();
605 }else if (type
.equals("Type species")){return Feature
.UNKNOWN();
606 }else if (type
.equals("Taxonomic Remark")){return Feature
.UNKNOWN();
607 }else if (type
.equals("Diagnosis")){return Feature
.UNKNOWN();
608 }else if (type
.equals("Date of Publication")){return Feature
.UNKNOWN();
609 }else if (type
.equals("Acknowledgments")){return Feature
.UNKNOWN();
610 }else if (type
.equals("Biology")){return Feature
.UNKNOWN();
611 }else if (type
.equals("Original publication")){return Feature
.UNKNOWN();
612 }else if (type
.equals("Type locality")){return Feature
.UNKNOWN();
613 }else if (type
.equals("Host")){return Feature
.UNKNOWN();
614 }else if (type
.equals("Validity")){return Feature
.UNKNOWN();
615 }else if (type
.equals("Identification")){return Feature
.UNKNOWN();
616 }else if (type
.equals("Synonymy")){return Feature
.UNKNOWN();
618 throw new IllegalArgumentException("Unknown note type " + type
);
623 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getFeatureByKey(java.lang.String)
626 public Feature
getFeatureByKey(String key
) throws UndefinedTransformerMethodException
{
627 if (CdmUtils
.isEmpty(key
)){return null;
628 }else if (key
.equalsIgnoreCase("Distribution")){return Feature
.DISTRIBUTION();
629 }else if (key
.equalsIgnoreCase("Ecology")){return Feature
.ECOLOGY();
630 }else if (key
.equalsIgnoreCase("Diagnosis")){return Feature
.DIAGNOSIS();
631 }else if (key
.equalsIgnoreCase("Biology")){return Feature
.BIOLOGY_ECOLOGY();
632 }else if (key
.equalsIgnoreCase("Host")){return Feature
.HOSTPLANT();
639 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getFeatureUuid(java.lang.String)
642 public UUID
getFeatureUuid(String key
)
643 throws UndefinedTransformerMethodException
{
644 if (StringUtils
.isBlank(key
)){return null;
645 }else if (key
.equalsIgnoreCase("Remark")){return uuidRemark
;
646 }else if (key
.equalsIgnoreCase("Additional information")){return uuidAdditionalinformation
;
647 }else if (key
.equalsIgnoreCase("Spelling")){return uuidSpelling
;
648 }else if (key
.equalsIgnoreCase("Publication date")){return uuidPublicationdate
;
649 }else if (key
.equalsIgnoreCase("Systematics")){return uuidSystematics
;
650 }else if (key
.equalsIgnoreCase("Classification")){return uuidClassification
;
651 }else if (key
.equalsIgnoreCase("Environment")){return uuidEnvironment
;
652 }else if (key
.equalsIgnoreCase("Habitat")){return uuidHabitat
;
653 }else if (key
.equalsIgnoreCase("Authority")){return uuidAuthority
;
654 }else if (key
.equalsIgnoreCase("Morphology")){return uuidMorphology
;
655 }else if (key
.equalsIgnoreCase("Taxonomic Remarks")){return uuidTaxonomicRemarks
;
656 }else if (key
.equalsIgnoreCase("Note")){return uuidNote
;
657 }else if (key
.equalsIgnoreCase("Taxonomy")){return uuidTaxonomy
;
658 }else if (key
.equalsIgnoreCase("Taxonomic status")){return uuidTaxonomicstatus
;
659 }else if (key
.equalsIgnoreCase("Status")){return uuidStatus
;
660 }else if (key
.equalsIgnoreCase("Rank")){return uuidRank
;
661 }else if (key
.equalsIgnoreCase("Homonymy")){return uuidHomonymy
;
662 }else if (key
.equalsIgnoreCase("Nomenclature")){return uuidNomenclature
;
663 }else if (key
.equalsIgnoreCase("Type species")){return uuidTypespecies
;
664 }else if (key
.equalsIgnoreCase("Taxonomic Remark")){return uuidTaxonomicRemark
;
665 }else if (key
.equalsIgnoreCase("Date of Publication")){return uuidDateofPublication
;
666 }else if (key
.equalsIgnoreCase("Acknowledgments")){return uuidAcknowledgments
;
667 }else if (key
.equalsIgnoreCase("Original publication")){return uuidOriginalpublication
;
668 }else if (key
.equalsIgnoreCase("Type locality")){return uuidTypelocality
;
669 }else if (key
.equalsIgnoreCase("Validity")){return uuidValidity
;
670 }else if (key
.equalsIgnoreCase("Identification")){return uuidIdentification
;
671 }else if (key
.equalsIgnoreCase("Synonymy")){return uuidSynonymy
;