Refactored string constants
[cdmlib-apps.git] / app-import / src / main / java / eu / etaxonomy / cdm / io / redlist / bfnXml / in / BfnXmlTransformer.java
1 /**
2 * Copyright (C) 2009 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9
10 package eu.etaxonomy.cdm.io.redlist.bfnXml.in;
11
12 import java.util.UUID;
13
14 import org.apache.commons.lang.StringUtils;
15 import org.apache.log4j.Logger;
16
17 import eu.etaxonomy.cdm.io.redlist.bfnXml.BfnXmlConstants;
18 import eu.etaxonomy.cdm.model.name.Rank;
19 import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
20 import eu.etaxonomy.cdm.strategy.exceptions.UnknownCdmTypeException;
21 /*import eu.etaxonomy.cdm.model.reference.Article;
22 import eu.etaxonomy.cdm.model.reference.Book;
23 import eu.etaxonomy.cdm.model.reference.BookSection;
24 import eu.etaxonomy.cdm.model.reference.Journal;
25 import eu.etaxonomy.cdm.model.reference.PersonalCommunication;
26 import eu.etaxonomy.cdm.model.reference.PrintSeries;*/
27 //import eu.etaxonomy.cdm.model.reference.WebPage;
28
29 public final class BfnXmlTransformer {
30 @SuppressWarnings("unused")
31 private static final Logger logger = Logger.getLogger(BfnXmlTransformer.class);
32
33 //redList state Vocabularies
34 public static final UUID vocStateRLKat = UUID.fromString("66bbb391-af8a-423b-9506-a235b61af922");
35 public static final UUID vocStateRlKatDiff = UUID.fromString("abe3702e-ddd4-420c-a985-08a0f8138215");
36 public static final UUID vocStateRlAkt = UUID.fromString("a0bb10de-35c1-47f5-b700-02ceb0a6b50c");
37 public static final UUID vocStateRLLang = UUID.fromString("c48d99db-50b6-469f-879d-8bb781842382");
38 public static final UUID vocStateRLKurz = UUID.fromString("46549c3b-d9d0-4d34-9135-4789d5ed6fff");
39 public static final UUID vocStateRLRisk = UUID.fromString("ec38db54-07dd-4e48-8976-bfa4813ffa44");
40 public static final UUID vocStateRLResp = UUID.fromString("c4763d33-75ea-4387-991f-b767650b4899");
41 public static final UUID vocStateRLKatOld = UUID.fromString("e9be0626-e14e-4556-a8af-9d49e6279669");
42 public static final UUID vocStateRLNeo = UUID.fromString("6c55ae1d-046d-4b67-89aa-b24c4888df6a");
43 public static final UUID vocStateRLKatId = UUID.fromString("c54481b3-bf07-43ce-b1cb-09759e4d2a70");
44 public static final UUID vocStateRLSpecialCases = UUID.fromString("ce2f4f8f-4222-429f-938b-77b794ecf704");
45 public static final UUID vocGermanFederalStates = UUID.fromString("a80dc3d4-0def-4c9b-97a1-12e8eb7ec87f");
46 public static final UUID vocGermanPresenceTerms = UUID.fromString("57d6bfa6-ac49-4c88-a9f0-b9c763d5b521");
47 public static final UUID vocGermanEstablishmentTerms = UUID.fromString("b5919067-ec28-404a-a22e-be914c810f22");
48
49 //redlist feature
50 public static final UUID featureRLKat = UUID.fromString("744f8833-619a-4d83-b330-1997c3b2c2f9");
51 public static final UUID featureRlKatDiff = UUID.fromString("bf93361d-0c8c-4961-9f60-20bcb1d3dbaf");
52 public static final UUID featureRlAkt = UUID.fromString("39b6962b-05ba-4cd6-a1a9-337d5d156e2f");
53 public static final UUID featureRLLang = UUID.fromString("f6027318-b17d-49e6-b8eb-7464304044c8");
54 public static final UUID featureRLKurz = UUID.fromString("9ecc65b5-7760-4ce7-add0-950bdcc2c792");
55 public static final UUID featureRLRisk = UUID.fromString("2c8f8ffa-c604-4385-b428-4485f5650735");
56 public static final UUID featureRLResp = UUID.fromString("02d8010f-7d1b-46a3-8c01-b5e6760bfd14");
57 public static final UUID featureRLKatOld = UUID.fromString("bbdff68d-4fa0-438d-afb5-cff89791c93f");
58 public static final UUID featureRLNeo = UUID.fromString("153c7173-6d3d-4bee-b8f2-cf8e63e0bc25");
59 public static final UUID featureRLKatId = UUID.fromString("dc9f5dd2-302c-4a32-bd70-278bbd9abd16");
60 public static final UUID featureRLTaxComment = UUID.fromString("b7c05d78-16a4-4b6e-a03b-fa6bb2ed74ae");
61 public static final UUID featureRLHazardComment = UUID.fromString("5beb1ebf-8643-4d5f-9849-8087c35455bb");
62 public static final UUID featureRLSpecialCases = UUID.fromString("fb92068d-667a-448e-8019-ca4551891b3b");
63 public static final UUID featureRLLastOccurrence = UUID.fromString("218a32be-fb87-41c9-8d64-b21b43b47caa");
64 public static final UUID featureRLAdditionalComment = UUID.fromString("c610c98e-f242-4f3b-9edd-7b84a9435867");
65
66
67 //rl kat state list
68 public static final UUID stateTermRlKat0 = UUID.fromString("05ff7c0f-2fb2-4c10-9527-a2e0c68d68af");
69 public static final UUID stateTermRlKat1 = UUID.fromString("76a6defc-41d0-43bf-a15a-997caeefbbce");
70 public static final UUID stateTermRlKat2 = UUID.fromString("ee6b79b6-8306-42d1-a80a-2963ded7c952");
71 public static final UUID stateTermRlKat3 = UUID.fromString("309bf199-c0a3-4f01-829a-b10aafda4547");
72 public static final UUID stateTermRlKatG = UUID.fromString("fdf9c84e-1b76-4aa8-b676-a614591ad320");
73 public static final UUID stateTermRlKatR = UUID.fromString("a694e7bd-87a4-4d3c-8333-aed5092bcb0e");
74 public static final UUID stateTermRlKatV = UUID.fromString("b1a6695d-65f9-4c53-9765-fd7b54e1674c");
75 public static final UUID stateTermRlKatStar = UUID.fromString("1cda0ef4-cace-42e9-8061-4ada41d03974");
76 public static final UUID stateTermRlKatStar2 = UUID.fromString("539cffb0-29b9-48fd-af6e-abf9c466199c");
77 public static final UUID stateTermRlKatD = UUID.fromString("4d61cadd-b27e-41da-9c91-f29e96adaf89");
78 public static final UUID stateTermRlKatDiamond = UUID.fromString("aedc4006-4097-41cd-bab9-f8607ff84519");
79 public static final UUID stateTermRlKatKN = UUID.fromString("49dc7656-4cef-4b0e-81dd-8422a3d0d06b");
80
81 //rl kat diff state list
82 public static final UUID stateTermRLKatDiffPlus = UUID.fromString("6bc7ddc2-6f25-4076-a392-2626cb7a4b35");
83 public static final UUID stateTermRLKatDiffMinus = UUID.fromString("8f6a8c16-195c-4084-a201-8d702f9636e7");
84 public static final UUID stateTermRLKatDiffEqual = UUID.fromString("5215fd8a-7e70-43a6-abde-4e14966a0e0e");
85
86 //rl kat neo state list
87 public static final UUID stateTermRLKatNeo = UUID.fromString("d9ae3dc2-99c9-40aa-b724-9810ed52ca15");
88
89 //rl kat akt state list
90 public static final UUID stateTermRLKatAktEx = UUID.fromString("a36d4251-0ca1-4818-bbf7-4089a9362a7e");
91 public static final UUID stateTermRLKatAktEs = UUID.fromString("9d2426a2-d845-47df-9607-01addc4e3253");
92 public static final UUID stateTermRLKatAktSs = UUID.fromString("bde09fdd-459a-4f8e-a83c-ee562e220f52");
93 public static final UUID stateTermRLKatAktS = UUID.fromString("3f44fbd3-6d02-4cef-a2c7-c29684b4eb20");
94 public static final UUID stateTermRLKatAktMh = UUID.fromString("88e3cfff-623a-43b0-a708-e4d7125a504c");
95 public static final UUID stateTermRLKatAktH = UUID.fromString("ec96d3f0-0f32-4121-9636-41c44079c9ea");
96 public static final UUID stateTermRLKatAktSh = UUID.fromString("1126e1ad-5c06-43b2-bfd5-8327257a41eb");
97 public static final UUID stateTermRLKatAktQuest = UUID.fromString("2ee9820e-c98d-4d5a-8621-5d7b73be66c2");
98 public static final UUID stateTermRLKatAktNb = UUID.fromString("5da81f91-0089-4360-b07c-b3b833f8fc8e");
99 public static final UUID stateTermRLKatAktKn = UUID.fromString("f10865f9-aa13-4cf0-9e6c-cc657103bd13");
100
101 //rl kat lang state list
102 public static final UUID stateTermRLKatLangLT3 = UUID.fromString("6d23b5f9-ac18-4ecb-9be8-2c6e5e7db736");
103 public static final UUID stateTermRLKatLangLT2 = UUID.fromString("1bd75728-79ed-427d-b96e-858ddca6103d");
104 public static final UUID stateTermRLKatLangLT1 = UUID.fromString("b7c592a4-72cd-4914-87f0-05a6b324af43");
105 public static final UUID stateTermRLKatLangLT = UUID.fromString("5f202b93-6f20-4bae-ba3c-e2792b5451b4");
106 public static final UUID stateTermRLKatLangEqual = UUID.fromString("d66be068-4a0c-4f95-aa6e-9e5804ceb1f1");
107 public static final UUID stateTermRLKatLangGT = UUID.fromString("528185c6-3c12-41bd-a1e5-6ee3d729776c");
108 public static final UUID stateTermRLKatLangQuest = UUID.fromString("53076429-d4ac-427f-a9dc-2c8a15901999");
109
110 //rl kat kurz state list
111 public static final UUID stateTermRLKatKurzDown3 = UUID.fromString("dd97697c-004a-4860-a553-67695d32a992");
112 public static final UUID stateTermRLKatKurzDown2 = UUID.fromString("311a531b-8263-4c72-af79-662ffbc26fbe");
113 public static final UUID stateTermRLKatKurzDown1 = UUID.fromString("d2a2a51f-5c8f-4cef-809a-58162beae5c2");
114 public static final UUID stateTermRLKatKurzEqual = UUID.fromString("0a8cf4c0-8b7c-49d5-9195-0999a0f202ad");
115 public static final UUID stateTermRLKatKurzUp = UUID.fromString("13e7c95c-3ca3-435d-b7b6-4889e594bf2a");
116 public static final UUID stateTermRLKatKurzQuest = UUID.fromString("4eb11517-a874-484d-8390-dbb8c6bda47c");
117
118 //rl kat risk state list
119 public static final UUID stateTermRLKatRiskMinus = UUID.fromString("4e96c671-e1f7-4273-83e7-6650207b57e0");
120 public static final UUID stateTermRLKatRiskEqual = UUID.fromString("d3f00d31-26a4-40c0-99d4-55ea3672ff5d");
121
122 //rl kat resp state list
123 public static final UUID stateTermRLKatRespBang2 = UUID.fromString("d1e6b6cd-bb19-40a3-9d02-33099295e7f7");
124 public static final UUID stateTermRLKatRespBang1 = UUID.fromString("01856904-aced-4889-b955-d16872bcd0e8");
125 public static final UUID stateTermRLKatRespBang = UUID.fromString("c432e39e-ec09-41b7-be9b-28e0d76a4cf9");
126 public static final UUID stateTermRLKatRespQuest = UUID.fromString("4116fbda-a392-417c-be1c-08f5e72f762b");
127 public static final UUID stateTermRLKatRespNb = UUID.fromString("800328ce-f618-4de1-9237-243f16fbe9f9");
128
129 //rl Kat old state list
130 public static final UUID stateTermRLKatOld0 = UUID.fromString("1977b29c-8b63-407a-a11b-ada8726ac653");
131 public static final UUID stateTermRLKatOld1 = UUID.fromString("4f3d3255-7e06-4a4e-83d1-5841beee85d4");
132 public static final UUID stateTermRLKatOld2 = UUID.fromString("65163104-76db-4c20-a00f-5c7531f42b3b");
133 public static final UUID stateTermRLKatOld3 = UUID.fromString("3c0fbb9e-b3fa-4bab-ada2-6efb9b6b9155");
134 public static final UUID stateTermRLKatOldG = UUID.fromString("a3d2daf2-a570-40d7-b08d-d105a30bb5e2");
135 public static final UUID stateTermRLKatOldR = UUID.fromString("d6e511cb-40aa-48ab-8a0d-2365c984d698");
136 public static final UUID stateTermRLKatOldV = UUID.fromString("92a6f1ec-6d61-4879-826a-255c34492507");
137 public static final UUID stateTermRLKatOldStar = UUID.fromString("196310bc-3b8b-43c9-b317-e2b02bff5c8a");
138 public static final UUID stateTermRLKatOldStar2 = UUID.fromString("7fbc42ed-43b6-4198-a9dc-bb97bacb3b9b");
139 public static final UUID stateTermRLKatOldD = UUID.fromString("075a456c-2291-436c-9b9c-b06d95bf6fc6");
140 public static final UUID stateTermRLKatOldNb = UUID.fromString("72faec78-6db9-4471-9a65-c6d2337bd324");
141 public static final UUID stateTermRLKatOldKn = UUID.fromString("92276f3e-3c09-4761-ba5b-b49697c6d5ce");
142 public static final UUID stateTermEmpty = UUID.fromString("1d357340-5329-4f43-a454-7f99625a1d71");
143 public static final UUID stateTermRLSpecialS = UUID.fromString("71fda1f6-a7eb-44a0-aeb8-e7f676096916");
144 public static final UUID stateTermRLSpecialE = UUID.fromString("ef335a01-f4f1-4a02-95a2-2254aa457774");
145 public static final UUID stateTermRLSpecialD = UUID.fromString("6b267cc5-49b6-4ebd-87ec-aa574e9cbcc5");
146
147
148 public static TaxonRelationshipType concept2TaxonRelation(String conceptStatus) throws UnknownCdmTypeException{
149 if(conceptStatus == null) {
150 return null;
151 }else if(conceptStatus.equalsIgnoreCase("!=")){
152 return TaxonRelationshipType.CONGRUENT_TO();
153 }else if(conceptStatus.equalsIgnoreCase("=!")){
154 return TaxonRelationshipType.CONGRUENT_TO();
155 }else if(conceptStatus.equalsIgnoreCase("!=,>")){
156 return TaxonRelationshipType.CONGRUENT_OR_INCLUDES();
157 }else if(conceptStatus.equalsIgnoreCase("!=,<")){
158 return TaxonRelationshipType.CONGRUENT_OR_INCLUDED_OR_INCLUDES();
159 }else if(conceptStatus.equalsIgnoreCase(">")){
160 return TaxonRelationshipType.INCLUDES();
161 }else if(conceptStatus.equalsIgnoreCase(">,><")){
162 return TaxonRelationshipType.INCLUDES_OR_OVERLAPS();
163 // }else if(conceptStatus.equalsIgnoreCase("<")){//TODO: should be just Included In
164 // return TaxonRelationshipType.INCLUDED_OR_INCLUDES();
165 }else if(conceptStatus.equalsIgnoreCase(">,><")){//TODO: should be Included In Or Overlaps
166 return TaxonRelationshipType.INCLUDED_OR_INCLUDES_OR_OVERLAPS();
167 }else if(conceptStatus.equalsIgnoreCase("><")){
168 return TaxonRelationshipType.OVERLAPS();
169 }else if(conceptStatus.equalsIgnoreCase("~")){//TODO Included in not here
170 return TaxonRelationshipType.CONGRUENT_OR_INCLUDES_OR_OVERLAPS();
171 }else if(conceptStatus.equalsIgnoreCase("?")){
172 return TaxonRelationshipType.ALL_RELATIONSHIPS();
173 }else if(conceptStatus.equalsIgnoreCase("/=")){
174 return TaxonRelationshipType.EXCLUDES();
175 }else if(conceptStatus.equalsIgnoreCase("\\")){
176 return TaxonRelationshipType.EXCLUDES();
177 }
178 else{
179 throw new UnknownCdmTypeException("Unknown concept relation status " + conceptStatus);
180 }
181 }
182
183
184 /** Creates an cdm-Rank by the tcs rank
185 */
186 public static Rank rankCode2Rank (String strRank) throws UnknownCdmTypeException{
187 if (strRank == null){return null;
188 //genus group
189 }else if (strRank.equals(BfnXmlConstants.RNK_INFRAGEN)){return Rank.INFRAGENUS();
190 }else if (strRank.equals(BfnXmlConstants.RNK_SUBGEN)){return Rank.SUBGENUS();
191 }else if (strRank.equals(BfnXmlConstants.RNK_GEN)){return Rank.GENUS();
192 //genus subdivision
193 //TODO
194 }else if (strRank.equals(BfnXmlConstants.RNK_AGGR)){return Rank.SPECIESAGGREGATE();
195 }else if (strRank.equals(BfnXmlConstants.RNK_AGG)){return Rank.SPECIESAGGREGATE();
196 }else if (strRank.equals(BfnXmlConstants.RNK_TAXINFRAGEN)){return Rank.INFRAGENERICTAXON();
197 }else if (strRank.equals(BfnXmlConstants.RNK_SUBSER)){return Rank.SUBSERIES();
198 }else if (strRank.equals(BfnXmlConstants.RNK_SER)){return Rank.SERIES();
199 }else if (strRank.equals(BfnXmlConstants.RNK_SUBSECT)){return Rank.SUBSECTION_BOTANY();
200 }else if (strRank.equals(BfnXmlConstants.RNK_SECT)){return Rank.SECTION_BOTANY();
201 //species group
202 }else if (strRank.equals(BfnXmlConstants.RNK_SUBSP_AGGR)){return Rank.SUBSPECIFICAGGREGATE();
203 }else if (strRank.equals(BfnXmlConstants.RNK_SSP)){return Rank.SUBSPECIES();
204 }else if (strRank.equals(BfnXmlConstants.RNK_SUBSP)){return Rank.SUBSPECIES();
205 }else if (strRank.equals(BfnXmlConstants.RNK_SUBSP_DOT)){return Rank.SUBSPECIES();
206 }else if (strRank.equals(BfnXmlConstants.RNK_SP)){return Rank.SPECIES();
207 }else if (strRank.equals(BfnXmlConstants.RNK_SPEZIES)){return Rank.SPECIES();
208 //below subspecies
209 }else if (strRank.equals(BfnXmlConstants.RNK_CAND)){return Rank.CANDIDATE();
210 }else if (strRank.equals(BfnXmlConstants.RNK_TAXINFRASP)){return Rank.INFRASPECIFICTAXON();
211 }else if (strRank.equals(BfnXmlConstants.RNK_FSP)){return Rank.SPECIALFORM();
212 }else if (strRank.equals(BfnXmlConstants.RNK_SUBSUBFM)){return Rank.SUBSUBFORM();
213 }else if (strRank.equals(BfnXmlConstants.RNK_SUBFM)){return Rank.SUBFORM();
214 }else if (strRank.equals(BfnXmlConstants.RNK_FM)){return Rank.FORM();
215 }else if (strRank.equals(BfnXmlConstants.RNK_F)){return Rank.FORM();
216 }else if (strRank.equals(BfnXmlConstants.RNK_SUBSUBVAR)){return Rank.SUBSUBVARIETY();
217 }else if (strRank.equals(BfnXmlConstants.RNK_SUBVAR)){return Rank.SUBVARIETY();
218 }else if (strRank.equals(BfnXmlConstants.RNK_VAR)){return Rank.VARIETY();
219 }else if (strRank.equals(BfnXmlConstants.RNK_VAR_DOT)){return Rank.VARIETY();
220 //TODO -> see documentation, Bacteria status
221 // }else if (strRank.equals("pv")){return Rank;
222 // }else if (strRank.equals("bv")){return Rank.;
223 }else if (strRank.equals(BfnXmlConstants.RNK_INFRASP)){return Rank.INFRASPECIES();
224 //above superfamily
225 }else if (strRank.equals(BfnXmlConstants.RNK_INFRAORD)){return Rank.INFRAORDER();
226 }else if (strRank.equals(BfnXmlConstants.RNK_ORD)){return Rank.ORDER();
227 }else if (strRank.equals(BfnXmlConstants.RNK_SUPERORD)){return Rank.SUPERORDER();
228 }else if (strRank.equals(BfnXmlConstants.RNK_INFRACL)){return Rank.INFRACLASS();
229 }else if (strRank.equals(BfnXmlConstants.RNK_SUBCL)){return Rank.SUBCLASS();
230 }else if (strRank.equals(BfnXmlConstants.RNK_CL)){return Rank.CLASS();
231 }else if (strRank.equals(BfnXmlConstants.RNK_SUPERCL)){return Rank.SUPERCLASS();
232 }else if (strRank.equals(BfnXmlConstants.RNK_INFRAPHYL_DIV)){return Rank.INFRAPHYLUM();
233 }else if (strRank.equals(BfnXmlConstants.RNK_SUBPHYL_DIV)){return Rank.SUBPHYLUM();
234 }else if (strRank.equals(BfnXmlConstants.RNK_PHYL_DIV)){return Rank.PHYLUM();
235 }else if (strRank.equals(BfnXmlConstants.RNK_SUPERPHYL_DIV)){return Rank.SUPERPHYLUM();
236 }else if (strRank.equals(BfnXmlConstants.RNK_INFRAREG)){return Rank.INFRAKINGDOM();
237 }else if (strRank.equals(BfnXmlConstants.RNK_SUBREG)){return Rank.SUBKINGDOM();
238 }else if (strRank.equals(BfnXmlConstants.RNK_REG)){return Rank.KINGDOM();
239 }else if (strRank.equals(BfnXmlConstants.RNK_SUPERREG)){return Rank.SUPERKINGDOM();
240 }else if (strRank.equals(BfnXmlConstants.RNK_DOM)){return Rank.DOMAIN();
241 }else if (strRank.equals(BfnXmlConstants.RNK_TAXSUPRAGEN)){return Rank.SUPRAGENERICTAXON();
242 }else if (strRank.equals(BfnXmlConstants.RNK_AUSWERTUNGSGRUPPE)){return Rank.EMPIRE();
243 //family group
244 }else if (strRank.equals(BfnXmlConstants.RNK_INFRAFAM)){return Rank.FAMILY();
245 }else if (strRank.equals(BfnXmlConstants.RNK_SUBFAM)){return Rank.FAMILY();
246 }else if (strRank.equals(BfnXmlConstants.RNK_FAM)){return Rank.FAMILY();
247 }else if (strRank.equals(BfnXmlConstants.RNK_SUPERFAM)){return Rank.FAMILY();
248 //family subdivision
249 }else if (strRank.equals(BfnXmlConstants.RNK_INTRATRIB)){return Rank.FAMILY();
250 }else if (strRank.equals(BfnXmlConstants.RNK_SUBTRIB)){return Rank.FAMILY();
251 }else if (strRank.equals(BfnXmlConstants.RNK_TRIB)){return Rank.FAMILY();
252 }else if (strRank.equals(BfnXmlConstants.RNK_SUPERTRIB)){return Rank.FAMILY();
253 }
254 else {
255 throw new UnknownCdmTypeException("Unknown Rank " + strRank);
256 }
257 }
258
259 public static String redListString2RedListCode (String redListCode) throws UnknownCdmTypeException{
260 if (redListCode == null){ return null;
261 }else if (redListCode.equals("#dtpl_RLKat_NULL#")){return "0";
262 }else if (redListCode.equals("#dtpl_RLKat_EINS#")){return "1";
263 }else if (redListCode.equals("#dtpl_RLKat_ZWEI#")){return "2";
264 }else if (redListCode.equals("#dtpl_RLKat_DREI#")){return "3";
265 }else if (redListCode.equals("#dtpl_RLKat_VIER#")){return "4";
266 }else if (redListCode.equals("#dtpl_RLKat_G#")){return "G";
267 }else if (redListCode.equals("#dtpl_RLKat_R#")){return "R";
268 }else if (redListCode.equals("#dtpl_RLKat_V#")){return "V";
269 }else if (redListCode.equals("#dtpl_RLKat_STERN#")){return "*";
270 }else if (redListCode.equals("#dtpl_RLKat_STERN##dtpl_RLKat_STERN#")){return "**";
271 }else if (redListCode.equals("#dtpl_RLKat_D#")){return "D";
272 }else if (redListCode.equals("#dtpl_RLKat_RAUTE#")){
273 char c = 0x2666;
274 return String.valueOf(c);
275 }else if (redListCode.equals("kN")){return "kN";
276 }else if (redListCode.equals("+")){return "+";
277 }else if (redListCode.equals("-")){return "-";
278 }else if (redListCode.equals("=")){return "=";
279 }else if (redListCode.equals("N")){return "N";
280 }else if (redListCode.equals("S")){return "S";
281 }else if (redListCode.equals("E")){return "E";
282 }else if (redListCode.equals("D")){return "D";
283 }else if (redListCode.equals("#dtpl_KurzfBest_RUNTER##dtpl_KurzfBest_RUNTER##dtpl_KurzfBest_RUNTER#")){
284 char c = 0x2193;
285 return String.valueOf(c)+String.valueOf(c)+String.valueOf(c);
286 }else if (redListCode.equals("#dtpl_KurzfBest_RUNTER##dtpl_KurzfBest_RUNTER#")){
287 char c = 0x2193;
288 return String.valueOf(c)+String.valueOf(c);
289 }else if (redListCode.equals("(#dtpl_KurzfBest_RUNTER#)")){
290 char c = 0x2193;
291 return "("+String.valueOf(c)+")";
292 }else if (redListCode.equals("#dtpl_KurzfBest_HOCH#")){
293 char c = 0x2191;
294 return String.valueOf(c);
295 }else if (redListCode.equals("#dtpl_Risiko_MINUS#")){return "-";
296 }else if (redListCode.equals("#dtpl_VERANTW_NB#")){return "nb";
297 }else if (redListCode.equals("#dtpl_TaxBez_GLEICH#")){return "=";
298 }else if (redListCode.equals("#dtpl_TaxBez_KLEINER#")){return "<";
299 }else if (redListCode.equals("#dtpl_TaxBez_GROESSER#")){return ">";
300 }else if (redListCode.equals("#dtpl_TaxBez_UNGLEICH#")){
301 char c = 0x2260;
302 return String.valueOf(c);
303 }else if (redListCode.equals("#dtpl_AlteRLKat_STERN#")){return "*";
304 }else if (redListCode.equals("#dtpl_AlteRLKat_ZWEISTERN#")){return "**";
305 }else if (redListCode.equals("#dtpl_AlteRLKat_NB#")){return "nb";
306 }else if (redListCode.equals("#dtpl_AlteRLKat_KN#")){return "kN";
307 }else if (redListCode.equals("#dtpl_TaxBez_UNGLEICH#")){return "-";
308 }else if (StringUtils.isBlank(redListCode)){return "keine Angabe";
309 }
310 else {
311 throw new UnknownCdmTypeException("Unknown Redlist Code " + redListCode);
312 }
313 }
314
315
316 public static UUID getRedlistVocabularyUUID(String redListVocabulary) throws UnknownCdmTypeException {
317
318 if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
319 return vocStateRLKat;
320 }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_KAT)) {
321 return vocStateRlKatDiff;
322 }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
323 return vocStateRlAkt;
324 }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
325 return vocStateRLLang;
326 }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
327 return vocStateRLKurz;
328 }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_RISIKOFAKTOREN)) {
329 return vocStateRLRisk;
330 }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
331 return vocStateRLResp;
332 }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
333 return vocStateRLKatOld;
334 }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_NEOBIOTA)) {
335 return vocStateRLNeo;
336 }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_EINDEUTIGER_CODE)) {
337 return vocStateRLKatId;
338 }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_SONDERFAELLE)) {
339 return vocStateRLSpecialCases;
340 }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_VORKOMMENSSTATUS)) {
341 return vocGermanPresenceTerms;
342 }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_ETABLIERUNGSSTATUS)) {
343 return vocGermanEstablishmentTerms;
344 }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_BUNDESLAENDER)) {
345 return vocGermanFederalStates;
346 } else{
347 throw new UnknownCdmTypeException("Unknown Vocabulary feature, could not match: " + redListVocabulary);
348 }
349
350 }
351
352
353 public static UUID getRedlistFeatureUUID(String redListFeature) throws UnknownCdmTypeException {
354
355 if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
356 return featureRLKat;
357 }
358 if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KAT)) {
359 return featureRlKatDiff;
360 }
361 if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
362 return featureRlAkt;
363 }
364 if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
365 return featureRLLang;
366 }
367 if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
368 return featureRLKurz;
369 }
370 if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RISIKOFAKTOREN)) {
371 return featureRLRisk;
372 }
373 if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
374 return featureRLResp;
375 }
376 if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
377 return featureRLKatOld;
378 }
379 if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_NEOBIOTA)) {
380 return featureRLNeo;
381 }
382 if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_EINDEUTIGER_CODE)) {
383 return featureRLKatId;
384 }
385 if(redListFeature.equalsIgnoreCase("Kommentar zur Taxonomie")) {
386 return featureRLTaxComment;
387 }
388 if(redListFeature.equalsIgnoreCase("Kommentar zur Gefährdung")) {
389 return featureRLHazardComment;
390 }
391 if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_SONDERFAELLE)) {
392 return featureRLSpecialCases;
393 }
394 if(redListFeature.equalsIgnoreCase("Letzter Nachweis")) {
395 return featureRLLastOccurrence;
396 }
397 if(redListFeature.equalsIgnoreCase("Weitere Kommentare")) {
398 return featureRLAdditionalComment;
399 } else{
400 throw new UnknownCdmTypeException("Unknown feature, could not match: " + redListFeature);
401 }
402
403 }
404
405 public static UUID getRedlistStateTermUUID(String redListStateTerm, String redListFeature) throws UnknownCdmTypeException {
406 //RL Kat
407 char a = 0x2666;
408 if(redListStateTerm.equalsIgnoreCase("0") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
409 return stateTermRlKat0;
410 }
411 if(redListStateTerm.equalsIgnoreCase("1") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
412 return stateTermRlKat1;
413 }
414 if(redListStateTerm.equalsIgnoreCase("2") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
415 return stateTermRlKat2;
416 }
417 if(redListStateTerm.equalsIgnoreCase("3") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
418 return stateTermRlKat3;
419 }
420 if(redListStateTerm.equalsIgnoreCase("G") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
421 return stateTermRlKatG;
422 }
423 if(redListStateTerm.equalsIgnoreCase("R") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
424 return stateTermRlKatR;
425 }
426 if(redListStateTerm.equalsIgnoreCase("V") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
427 return stateTermRlKatV;
428 }
429 if(redListStateTerm.equalsIgnoreCase("*") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
430 return stateTermRlKatStar;
431 }
432 if(redListStateTerm.equalsIgnoreCase("**") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
433 return stateTermRlKatStar2;
434 }
435 if(redListStateTerm.equalsIgnoreCase("D") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
436 return stateTermRlKatD;
437 }
438 if(redListStateTerm.equalsIgnoreCase(String.valueOf(a)) && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
439 return stateTermRlKatDiamond;
440 }
441 if(redListStateTerm.equalsIgnoreCase("kN") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
442 return stateTermRlKatKN;
443 }
444
445 //RL Diff
446 if(redListStateTerm.equalsIgnoreCase("+") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KAT)) {
447 return stateTermRLKatDiffPlus;
448 }
449 if(redListStateTerm.equalsIgnoreCase("-") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KAT)) {
450 return stateTermRLKatDiffMinus;
451 }
452 if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KAT)) {
453 return stateTermRLKatDiffEqual;
454 }
455
456 //Rl Akt
457 if(redListStateTerm.equalsIgnoreCase("ex") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
458 return stateTermRLKatAktEx;
459 }
460 if(redListStateTerm.equalsIgnoreCase("es") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
461 return stateTermRLKatAktEs;
462 }
463 if(redListStateTerm.equalsIgnoreCase("ss") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
464 return stateTermRLKatAktSs;
465 }
466 if(redListStateTerm.equalsIgnoreCase("s") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
467 return stateTermRLKatAktS;
468 }
469 if(redListStateTerm.equalsIgnoreCase("mh") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
470 return stateTermRLKatAktMh;
471 }
472 if(redListStateTerm.equalsIgnoreCase("h") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
473 return stateTermRLKatAktH;
474 }
475 if(redListStateTerm.equalsIgnoreCase("sh") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
476 return stateTermRLKatAktSh;
477 }
478 if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
479 return stateTermRLKatAktQuest;
480 }
481 if(redListStateTerm.equalsIgnoreCase("nb") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
482 return stateTermRLKatAktNb;
483 }
484 if(redListStateTerm.equalsIgnoreCase("kN") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
485 return stateTermRLKatAktKn;
486 }
487
488 //RL Lang
489 if(redListStateTerm.equalsIgnoreCase("<<<") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
490 return stateTermRLKatLangLT3;
491 }
492 if(redListStateTerm.equalsIgnoreCase("<<") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
493 return stateTermRLKatLangLT2;
494 }
495 if(redListStateTerm.equalsIgnoreCase("<") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
496 return stateTermRLKatLangLT1;
497 }
498 if(redListStateTerm.equalsIgnoreCase("(<)") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
499 return stateTermRLKatLangLT;
500 }
501 if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
502 return stateTermRLKatLangEqual;
503 }
504 if(redListStateTerm.equalsIgnoreCase(">") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
505 return stateTermRLKatLangGT;
506 }
507 if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
508 return stateTermRLKatLangQuest;
509 }
510
511 //RL Kurz
512 char c = 0x2193;
513 char b = 0x2191;
514 if(redListStateTerm.equalsIgnoreCase(String.valueOf(c)+String.valueOf(c)+String.valueOf(c)) && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
515 return stateTermRLKatKurzDown3;
516 }
517 if(redListStateTerm.equalsIgnoreCase(String.valueOf(c)+String.valueOf(c)) && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
518 return stateTermRLKatKurzDown2;
519 }
520 if(redListStateTerm.equalsIgnoreCase("("+String.valueOf(c)+")") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
521 return stateTermRLKatKurzDown1;
522 }
523 if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
524 return stateTermRLKatKurzEqual;
525 }
526 if(redListStateTerm.equalsIgnoreCase(String.valueOf(b)) && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
527 return stateTermRLKatKurzUp;
528 }
529 if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
530 return stateTermRLKatKurzQuest;
531 }
532
533 //RL Risk
534 if(redListStateTerm.equalsIgnoreCase("-") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RISIKOFAKTOREN)) {
535 return stateTermRLKatRiskMinus;
536 }
537 if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RISIKOFAKTOREN)) {
538 return stateTermRLKatRiskEqual;
539 }
540
541 //RL Resp
542 if(redListStateTerm.equalsIgnoreCase("!!") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
543 return stateTermRLKatRespBang2;
544 }
545 if(redListStateTerm.equalsIgnoreCase("!") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
546 return stateTermRLKatRespBang1;
547 }
548 if(redListStateTerm.equalsIgnoreCase("(!)") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
549 return stateTermRLKatRespBang;
550 }
551 if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
552 return stateTermRLKatRespQuest;
553 }
554 if(redListStateTerm.equalsIgnoreCase("nb") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
555 return stateTermRLKatRespNb;
556 }
557
558 //RL Kat Old
559 if(redListStateTerm.equalsIgnoreCase("0") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
560 return stateTermRLKatOld0;
561 }
562 if(redListStateTerm.equalsIgnoreCase("1") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
563 return stateTermRLKatOld1;
564 }
565 if(redListStateTerm.equalsIgnoreCase("2") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
566 return stateTermRLKatOld2;
567 }
568 if(redListStateTerm.equalsIgnoreCase("3") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
569 return stateTermRLKatOld3;
570 }
571 if(redListStateTerm.equalsIgnoreCase("G") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
572 return stateTermRLKatOldG;
573 }
574 if(redListStateTerm.equalsIgnoreCase("R") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
575 return stateTermRLKatOldR;
576 }
577 if(redListStateTerm.equalsIgnoreCase("V") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
578 return stateTermRLKatOldV;
579 }
580 if(redListStateTerm.equalsIgnoreCase("*") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
581 return stateTermRLKatOldStar;
582 }
583 if(redListStateTerm.equalsIgnoreCase("**") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
584 return stateTermRLKatOldStar2;
585 }
586 if(redListStateTerm.equalsIgnoreCase("D") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
587 return stateTermRLKatOldD;
588 }
589 if(redListStateTerm.equalsIgnoreCase("nb") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
590 return stateTermRLKatOldNb;
591 }
592 if(redListStateTerm.equalsIgnoreCase("kN") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
593 return stateTermRLKatOldKn;
594 }
595
596 //RL Neo
597 if(redListStateTerm.equalsIgnoreCase("N") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_NEOBIOTA)) {
598 return stateTermRLKatNeo;
599 }
600
601 //RL Special
602 if(redListStateTerm.equalsIgnoreCase("S") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_SONDERFAELLE)) {
603 return stateTermRLSpecialS;
604 }
605 if(redListStateTerm.equalsIgnoreCase("E") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_SONDERFAELLE)) {
606 return stateTermRLSpecialE;
607 }
608 if(redListStateTerm.equalsIgnoreCase("D") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_SONDERFAELLE)) {
609 return stateTermRLSpecialD;
610 }
611
612
613
614 //RL Empty
615 if(StringUtils.isBlank(redListStateTerm) || redListStateTerm.equalsIgnoreCase("keine Angabe")) {
616 return stateTermEmpty;
617 } else {
618 throw new UnknownCdmTypeException("Unknown State, could not match: " + redListStateTerm +"\n In Category: " + redListFeature);
619 }
620
621 }
622
623
624 /**
625 * retrieve german federal States
626 *
627 * @param strGermanState
628 * @return
629 * @throws UnknownCdmTypeException
630 */
631 public static UUID getGermanStateUUID(String strGermanState) throws UnknownCdmTypeException {
632
633 if(strGermanState.equalsIgnoreCase("Deutschland")) {
634 return UUID.fromString("a7f3855e-d4fa-4313-8fcf-da792ef848e7");
635 }else if(strGermanState.equalsIgnoreCase("Baden-Württemberg")) {
636 return UUID.fromString("00e64948-9ce9-4ebf-961b-133c56517b1c");
637 }else if(strGermanState.equalsIgnoreCase("BW")) {
638 return UUID.fromString("00e64948-9ce9-4ebf-961b-133c56517b1c");
639 }else if(strGermanState.equalsIgnoreCase("Bayern")) {
640 return UUID.fromString("ba075265-368f-4ff0-8942-88546239c70a");
641 }else if(strGermanState.equalsIgnoreCase("BY")) {
642 return UUID.fromString("ba075265-368f-4ff0-8942-88546239c70a");
643 }else if(strGermanState.equalsIgnoreCase("Berlin")) {
644 return UUID.fromString("d9339e12-7efa-45df-a008-3c934b9386bc");
645 }else if(strGermanState.equalsIgnoreCase("BE")) {
646 return UUID.fromString("d9339e12-7efa-45df-a008-3c934b9386bc");
647 }else if(strGermanState.equalsIgnoreCase("Bremen")) {
648 return UUID.fromString("a6d2f97d-5dba-4b79-a073-25fb491b6320");
649 }else if(strGermanState.equalsIgnoreCase("HB")) {
650 return UUID.fromString("a6d2f97d-5dba-4b79-a073-25fb491b6320");
651 }else if(strGermanState.equalsIgnoreCase("Brandenburg")) {
652 return UUID.fromString("dda9d8b8-8090-4667-953e-d8b1f7243926");
653 }else if(strGermanState.equalsIgnoreCase("BB")) {
654 return UUID.fromString("dda9d8b8-8090-4667-953e-d8b1f7243926");
655 }else if(strGermanState.equalsIgnoreCase("Hamburg")) {
656 return UUID.fromString("f087a7d7-974f-4627-a414-df27c04f99dd");
657 }else if(strGermanState.equalsIgnoreCase("HH")) {
658 return UUID.fromString("f087a7d7-974f-4627-a414-df27c04f99dd");
659 }else if(strGermanState.equalsIgnoreCase("Hessen")) {
660 return UUID.fromString("59de29e6-bf32-4677-89c7-a6834fcb5085");
661 }else if(strGermanState.equalsIgnoreCase("HE")) {
662 return UUID.fromString("59de29e6-bf32-4677-89c7-a6834fcb5085");
663 }else if(strGermanState.equalsIgnoreCase("Mecklenburg-Vorpommern")) {
664 return UUID.fromString("06dccbd5-8d5a-4e4f-b56e-d1d74ab25c19");
665 }else if(strGermanState.equalsIgnoreCase("MV")) {
666 return UUID.fromString("06dccbd5-8d5a-4e4f-b56e-d1d74ab25c19");
667 }else if(strGermanState.equalsIgnoreCase("Niedersachsen") || strGermanState.equalsIgnoreCase("NI")) {
668 return UUID.fromString("97f77fe8-07ab-4e14-8f8b-40e8caf7e653");
669 }else if(strGermanState.equalsIgnoreCase("Nordrhein-Westfalen")||strGermanState.equalsIgnoreCase("NW")) {
670 return UUID.fromString("46bf702e-1438-470c-9c77-04202c34ebf2");
671 }else if(strGermanState.equalsIgnoreCase("Rheinland-Pfalz")||strGermanState.equalsIgnoreCase("RP")) {
672 return UUID.fromString("dd3ddb29-b1ec-4937-99a9-4a94d383becf");
673 }else if(strGermanState.equalsIgnoreCase("Saarland")||strGermanState.equalsIgnoreCase("SL")) {
674 return UUID.fromString("26d3e85f-ce90-43ae-8ac0-42a60302b7b7");
675 }else if(strGermanState.equalsIgnoreCase("Sachsen")||strGermanState.equalsIgnoreCase("SN")) {
676 return UUID.fromString("ca3ef152-ee3a-45f2-8343-983cf0fdddbd");
677 }else if(strGermanState.equalsIgnoreCase("Sachsen-Anhalt")|| strGermanState.equalsIgnoreCase("ST")) {
678 return UUID.fromString("bb95b9a4-87ee-49bd-a542-4c30289e8d1f");
679 }else if(strGermanState.equalsIgnoreCase("Schleswig-Holstein")||strGermanState.equalsIgnoreCase("SH")) {
680 return UUID.fromString("863323a7-22fb-4070-ad94-ce317098a28a");
681 }else if(strGermanState.equalsIgnoreCase("Thüringen")||strGermanState.equalsIgnoreCase("TH")) {
682 return UUID.fromString("72e18526-6bf7-4300-8329-53cab5da2b51");
683 } else {
684 throw new UnknownCdmTypeException("Unknown State, could not match: " + strGermanState);
685 }
686 }
687
688 public static UUID getGermanAbsenceTermUUID(String strGermanTerm) throws UnknownCdmTypeException {
689 if(strGermanTerm.equalsIgnoreCase("abwesend")) {return UUID.fromString("517c4c68-952e-4580-8379-66a4aa12c04b");}
690 else if(strGermanTerm.equalsIgnoreCase("abwesend - ausgestorben")) {return UUID.fromString("7a620705-7c0d-4c72-863f-f41d548a2cc5");}
691 else if(strGermanTerm.equalsIgnoreCase("abwesend - frühere Fehleingabe")) {return UUID.fromString("1009264c-197d-43d4-ba16-7a7f0a6fde0c");}
692 else if(strGermanTerm.equalsIgnoreCase("vorkommend")) {return UUID.fromString("b294e7db-919f-4da0-9ba4-c374e7876aff");}
693 else if(strGermanTerm.equalsIgnoreCase("vorkommend - in Einbürgerung befindlich")) {return UUID.fromString("ec2f4099-82f7-44de-8892-09651c76d255");}
694 else if(strGermanTerm.equalsIgnoreCase("vorkommend - etabliert")) {return UUID.fromString("c1954b3c-58b5-43f3-b122-c872b2708bba");}
695 else if(strGermanTerm.equalsIgnoreCase("vorkommend - kultiviert, domestiziert")) {return UUID.fromString("99ebdb24-fda0-4203-9455-30441cdee17b");}
696 else if(strGermanTerm.equalsIgnoreCase("vorkommend - unbeständig")) {return UUID.fromString("12566e82-cdc2-48e4-951d-2fb88f30c5fd");}
697 else if(strGermanTerm.equalsIgnoreCase("vorkommend - Vorkommen unsicher")) {return UUID.fromString("a84d2ddb-fe7b-483b-96ba-fc0884d77c81");}
698 else if(strGermanTerm.equalsIgnoreCase("vorkommend - unsicher")) {return UUID.fromString("0b144b76-dab6-40da-8511-898f8226a24a");
699 } else {
700 throw new UnknownCdmTypeException("Unknown State, could not match: " + strGermanTerm);
701 }
702 }
703 public static UUID getGermanEstablishmentTermUUID(String strGermanTerm) throws UnknownCdmTypeException {
704 if(strGermanTerm.equalsIgnoreCase("Archaeophyt")) {return UUID.fromString("2cd2bc48-9fcb-4ccd-b03d-bafc0d3dde8c");}
705 else if(strGermanTerm.equalsIgnoreCase("Indigen")) {return UUID.fromString("20a99907-406a-45f1-aa3e-4768697488e4");}
706 else if(strGermanTerm.equalsIgnoreCase("Kulturpflanze / domestiziertes Tier")) {return UUID.fromString("94aa6408-f950-4e2e-bded-e01a1be859f6");}
707 else if(strGermanTerm.equalsIgnoreCase("Neophyt")) {return UUID.fromString("fdf6f1b7-c6ad-4b49-bc6b-b06398f8b1b5");}
708 else if(strGermanTerm.equalsIgnoreCase("Kultuflüchtling")) {return UUID.fromString("411f9190-56b7-41dd-a31a-3f200619c5e0");
709 } else {
710 throw new UnknownCdmTypeException("Unknown State, could not match: " + strGermanTerm);
711 }
712 }
713
714
715 /**
716 * @param strDistributionValue
717 * @return
718 */
719 public static UUID matchDistributionValue(String strDistributionValue) throws UnknownCdmTypeException {
720
721 if(strDistributionValue.equalsIgnoreCase("*")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
722 else if(strDistributionValue.equalsIgnoreCase("0")){return getGermanAbsenceTermUUID("abwesend - ausgestorben");}
723 else if(strDistributionValue.equalsIgnoreCase("1")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
724 else if(strDistributionValue.equalsIgnoreCase("2")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
725 else if(strDistributionValue.equalsIgnoreCase("3")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
726 else if(strDistributionValue.equalsIgnoreCase("G")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
727 else if(strDistributionValue.equalsIgnoreCase("D")){return getGermanAbsenceTermUUID("vorkommend - Vorkommen unsicher");}
728 else if(strDistributionValue.equalsIgnoreCase("R")){return getGermanAbsenceTermUUID("vorkommend - Vorkommen unsicher");}
729 else if(strDistributionValue.equalsIgnoreCase("N")){return getGermanAbsenceTermUUID("vorkommend");}
730 else if(strDistributionValue.equalsIgnoreCase("V")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
731 else if(strDistributionValue.equalsIgnoreCase("nb")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
732 else if(strDistributionValue.equalsIgnoreCase("*")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
733 else if(strDistributionValue.equalsIgnoreCase("#dtpl_SynopseBL_STERN_DP#")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
734 else if(strDistributionValue.equalsIgnoreCase("#dtpl_SynopseBL_STERN#")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
735 else if(strDistributionValue.equalsIgnoreCase("#dtpl_SynopseBL_STERN##dtpl_SynopseBL_STERN#")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
736 else if(strDistributionValue.equalsIgnoreCase("")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
737 else if(strDistributionValue.equalsIgnoreCase(" ")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
738 else if(strDistributionValue.equalsIgnoreCase("#dtpl_SynopseBL_NB#")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
739 else if(strDistributionValue.equalsIgnoreCase("-")){return getGermanAbsenceTermUUID("vorkommend - Vorkommen unsicher");}
740 else if(strDistributionValue.equalsIgnoreCase("#dtpl_SynopseBL_X_KLAMMER#")){return getGermanAbsenceTermUUID("vorkommend - Vorkommen unsicher");}
741 else if(strDistributionValue.equalsIgnoreCase("#dtpl_SynopseBL_X#")){return getGermanAbsenceTermUUID("vorkommend - Vorkommen unsicher");}
742 else if(strDistributionValue.equalsIgnoreCase("#dtpl_SynopseBL_STRICH#")){return getGermanAbsenceTermUUID("vorkommend - Vorkommen unsicher");}
743 else if(strDistributionValue.equalsIgnoreCase("+")){return getGermanAbsenceTermUUID("vorkommend - Vorkommen unsicher");}
744 else if(strDistributionValue.equalsIgnoreCase("°")){return getGermanAbsenceTermUUID("vorkommend - Vorkommen unsicher");}
745 else if(strDistributionValue.equalsIgnoreCase("G/D")){return getGermanAbsenceTermUUID("vorkommend");}
746 else if(strDistributionValue.equalsIgnoreCase("R/1")){return getGermanAbsenceTermUUID("vorkommend");}
747 else if(strDistributionValue.equalsIgnoreCase("?")){return getGermanAbsenceTermUUID("vorkommend - Vorkommen unsicher");}
748 else if(strDistributionValue.equalsIgnoreCase("#dtpl_SynopseBL_LEER#")){return getGermanAbsenceTermUUID("abwesend");}
749 else {
750 throw new UnknownCdmTypeException("Unknown State, could not match: " + strDistributionValue);
751 }
752 }
753 }