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;
|
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.model.name.NomenclaturalCode;
|
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("infragen")){return Rank.INFRAGENUS();
|
190
|
}else if (strRank.equals("subgen")){return Rank.SUBGENUS();
|
191
|
}else if (strRank.equals("gen")){return Rank.GENUS();
|
192
|
//genus subdivision
|
193
|
//TODO
|
194
|
}else if (strRank.equals("aggr")){return Rank.SPECIESAGGREGATE();
|
195
|
}else if (strRank.equals("agg.")){return Rank.SPECIESAGGREGATE();
|
196
|
}else if (strRank.equals("taxinfragen")){return Rank.INFRAGENERICTAXON();
|
197
|
}else if (strRank.equals("subser")){return Rank.SUBSERIES();
|
198
|
}else if (strRank.equals("ser")){return Rank.SERIES();
|
199
|
}else if (strRank.equals("subsect")){return Rank.SUBSECTION_BOTANY();
|
200
|
}else if (strRank.equals("sect")){return Rank.SECTION_BOTANY();
|
201
|
//species group
|
202
|
}else if (strRank.equals("subsp_aggr")){return Rank.SUBSPECIFICAGGREGATE();
|
203
|
}else if (strRank.equals("ssp")){return Rank.SUBSPECIES();
|
204
|
}else if (strRank.equals("subsp.")){return Rank.SUBSPECIES();
|
205
|
}else if (strRank.equals("subsp")){return Rank.SUBSPECIES();
|
206
|
}else if (strRank.equals("sp")){return Rank.SPECIES();
|
207
|
}else if (strRank.equals("spezies")){return Rank.SPECIES();
|
208
|
//below subspecies
|
209
|
}else if (strRank.equals("cand")){return Rank.CANDIDATE();
|
210
|
}else if (strRank.equals("taxinfrasp")){return Rank.INFRASPECIFICTAXON();
|
211
|
}else if (strRank.equals("fsp")){return Rank.SPECIALFORM();
|
212
|
}else if (strRank.equals("subsubfm")){return Rank.SUBSUBFORM();
|
213
|
}else if (strRank.equals("subfm")){return Rank.SUBFORM();
|
214
|
}else if (strRank.equals("fm")){return Rank.FORM();
|
215
|
}else if (strRank.equals("f.")){return Rank.FORM();
|
216
|
}else if (strRank.equals("subsubvar")){return Rank.SUBSUBVARIETY();
|
217
|
}else if (strRank.equals("subvar")){return Rank.SUBVARIETY();
|
218
|
}else if (strRank.equals("var")){return Rank.VARIETY();
|
219
|
}else if (strRank.equals("var.")){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("infrasp")){return Rank.INFRASPECIES();
|
224
|
//above superfamily
|
225
|
}else if (strRank.equals("infraord")){return Rank.INFRAORDER();
|
226
|
}else if (strRank.equals("ord")){return Rank.ORDER();
|
227
|
}else if (strRank.equals("superord")){return Rank.SUPERORDER();
|
228
|
}else if (strRank.equals("infracl")){return Rank.INFRACLASS();
|
229
|
}else if (strRank.equals("subcl")){return Rank.SUBCLASS();
|
230
|
}else if (strRank.equals("cl")){return Rank.CLASS();
|
231
|
}else if (strRank.equals("supercl")){return Rank.SUPERCLASS();
|
232
|
}else if (strRank.equals("infraphyl_div")){return Rank.INFRAPHYLUM();
|
233
|
}else if (strRank.equals("subphyl_div")){return Rank.SUBPHYLUM();
|
234
|
}else if (strRank.equals("phyl_div")){return Rank.PHYLUM();
|
235
|
}else if (strRank.equals("superphyl_div")){return Rank.SUPERPHYLUM();
|
236
|
}else if (strRank.equals("infrareg")){return Rank.INFRAKINGDOM();
|
237
|
}else if (strRank.equals("subreg")){return Rank.SUBKINGDOM();
|
238
|
}else if (strRank.equals("reg")){return Rank.KINGDOM();
|
239
|
}else if (strRank.equals("superreg")){return Rank.SUPERKINGDOM();
|
240
|
}else if (strRank.equals("dom")){return Rank.DOMAIN();
|
241
|
}else if (strRank.equals("taxsupragen")){return Rank.SUPRAGENERICTAXON();
|
242
|
}else if (strRank.equals("Auswertungsgruppe")){return Rank.EMPIRE();
|
243
|
//family group
|
244
|
}else if (strRank.equals("infrafam")){return Rank.FAMILY();
|
245
|
}else if (strRank.equals("subfam")){return Rank.FAMILY();
|
246
|
}else if (strRank.equals("fam")){return Rank.FAMILY();
|
247
|
}else if (strRank.equals("superfam")){return Rank.FAMILY();
|
248
|
//family subdivision
|
249
|
}else if (strRank.equals("intratrib")){return Rank.FAMILY();
|
250
|
}else if (strRank.equals("subtrib")){return Rank.FAMILY();
|
251
|
}else if (strRank.equals("trib")){return Rank.FAMILY();
|
252
|
}else if (strRank.equals("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
|
public static NomenclaturalCode nomCodeString2NomCode (String nomCode) throws UnknownCdmTypeException{
|
316
|
if (nomCode != null){
|
317
|
nomCode = nomCode.trim();
|
318
|
}
|
319
|
if (nomCode == null){ return null;
|
320
|
}else if (nomCode.equals("Botanical")){return NomenclaturalCode.ICNAFP;
|
321
|
}else if (nomCode.equals("Zoological")){return NomenclaturalCode.ICZN;
|
322
|
}else if (nomCode.equals("Viral")){return NomenclaturalCode.ICVCN;
|
323
|
}else if (nomCode.equals("Bacteriological")){return NomenclaturalCode.ICNB;
|
324
|
}else if (nomCode.equals("CultivatedPlant")){return NomenclaturalCode.ICNCP;
|
325
|
//TODO code Indeterminate
|
326
|
// }else if (nomCode.equals("Indeterminate")){return NomenclaturalCode.XXX();
|
327
|
}
|
328
|
else {
|
329
|
throw new UnknownCdmTypeException("Unknown Nomenclatural Code " + nomCode);
|
330
|
}
|
331
|
}
|
332
|
public static UUID getRedlistVocabularyUUID(String redListVocabulary) throws UnknownCdmTypeException {
|
333
|
|
334
|
if(redListVocabulary.equalsIgnoreCase("RL Kat.")) {
|
335
|
return vocStateRLKat;
|
336
|
}
|
337
|
if(redListVocabulary.equalsIgnoreCase("Kat. +/-")) {
|
338
|
return vocStateRlKatDiff;
|
339
|
}
|
340
|
if(redListVocabulary.equalsIgnoreCase("aktuelle Bestandsstituation")) {
|
341
|
return vocStateRlAkt;
|
342
|
}
|
343
|
if(redListVocabulary.equalsIgnoreCase("langfristiger Bestandstrend")) {
|
344
|
return vocStateRLLang;
|
345
|
}
|
346
|
if(redListVocabulary.equalsIgnoreCase("kurzfristiger Bestandstrend")) {
|
347
|
return vocStateRLKurz;
|
348
|
}
|
349
|
if(redListVocabulary.equalsIgnoreCase("Risikofaktoren")) {
|
350
|
return vocStateRLRisk;
|
351
|
}
|
352
|
if(redListVocabulary.equalsIgnoreCase("Verantwortlichkeit")) {
|
353
|
return vocStateRLResp;
|
354
|
}
|
355
|
if(redListVocabulary.equalsIgnoreCase("alte RL- Kat.")) {
|
356
|
return vocStateRLKatOld;
|
357
|
}
|
358
|
if(redListVocabulary.equalsIgnoreCase("Neobiota")) {
|
359
|
return vocStateRLNeo;
|
360
|
}
|
361
|
if(redListVocabulary.equalsIgnoreCase("Eindeutiger Code")) {
|
362
|
return vocStateRLKatId;
|
363
|
}
|
364
|
if(redListVocabulary.equalsIgnoreCase("Sonderfälle")) {
|
365
|
return vocStateRLSpecialCases;
|
366
|
}
|
367
|
if(redListVocabulary.equalsIgnoreCase("Vorkommensstatus")) {
|
368
|
return vocGermanPresenceTerms;
|
369
|
}
|
370
|
if(redListVocabulary.equalsIgnoreCase("Etablierungsstatus")) {
|
371
|
return vocGermanEstablishmentTerms;
|
372
|
}
|
373
|
if(redListVocabulary.equalsIgnoreCase("Bundesländer")) {
|
374
|
return vocGermanFederalStates;
|
375
|
} else{
|
376
|
throw new UnknownCdmTypeException("Unknown Vocabulary feature, could not match: " + redListVocabulary);
|
377
|
}
|
378
|
|
379
|
}
|
380
|
|
381
|
|
382
|
public static UUID getRedlistFeatureUUID(String redListFeature) throws UnknownCdmTypeException {
|
383
|
|
384
|
if(redListFeature.equalsIgnoreCase("RL Kat.")) {
|
385
|
return featureRLKat;
|
386
|
}
|
387
|
if(redListFeature.equalsIgnoreCase("Kat. +/-")) {
|
388
|
return featureRlKatDiff;
|
389
|
}
|
390
|
if(redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
|
391
|
return featureRlAkt;
|
392
|
}
|
393
|
if(redListFeature.equalsIgnoreCase("langfristiger Bestandstrend")) {
|
394
|
return featureRLLang;
|
395
|
}
|
396
|
if(redListFeature.equalsIgnoreCase("kurzfristiger Bestandstrend")) {
|
397
|
return featureRLKurz;
|
398
|
}
|
399
|
if(redListFeature.equalsIgnoreCase("Risikofaktoren")) {
|
400
|
return featureRLRisk;
|
401
|
}
|
402
|
if(redListFeature.equalsIgnoreCase("Verantwortlichkeit")) {
|
403
|
return featureRLResp;
|
404
|
}
|
405
|
if(redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
|
406
|
return featureRLKatOld;
|
407
|
}
|
408
|
if(redListFeature.equalsIgnoreCase("Neobiota")) {
|
409
|
return featureRLNeo;
|
410
|
}
|
411
|
if(redListFeature.equalsIgnoreCase("Eindeutiger Code")) {
|
412
|
return featureRLKatId;
|
413
|
}
|
414
|
if(redListFeature.equalsIgnoreCase("Kommentar zur Taxonomie")) {
|
415
|
return featureRLTaxComment;
|
416
|
}
|
417
|
if(redListFeature.equalsIgnoreCase("Kommentar zur Gefährdung")) {
|
418
|
return featureRLHazardComment;
|
419
|
}
|
420
|
if(redListFeature.equalsIgnoreCase("Sonderfälle")) {
|
421
|
return featureRLSpecialCases;
|
422
|
}
|
423
|
if(redListFeature.equalsIgnoreCase("Letzter Nachweis")) {
|
424
|
return featureRLLastOccurrence;
|
425
|
}
|
426
|
if(redListFeature.equalsIgnoreCase("Weitere Kommentare")) {
|
427
|
return featureRLAdditionalComment;
|
428
|
} else{
|
429
|
throw new UnknownCdmTypeException("Unknown feature, could not match: " + redListFeature);
|
430
|
}
|
431
|
|
432
|
}
|
433
|
|
434
|
public static UUID getRedlistStateTermUUID(String redListStateTerm, String redListFeature) throws UnknownCdmTypeException {
|
435
|
//RL Kat
|
436
|
char a = 0x2666;
|
437
|
if(redListStateTerm.equalsIgnoreCase("0") && redListFeature.equalsIgnoreCase("RL Kat.")) {
|
438
|
return stateTermRlKat0;
|
439
|
}
|
440
|
if(redListStateTerm.equalsIgnoreCase("1") && redListFeature.equalsIgnoreCase("RL Kat.")) {
|
441
|
return stateTermRlKat1;
|
442
|
}
|
443
|
if(redListStateTerm.equalsIgnoreCase("2") && redListFeature.equalsIgnoreCase("RL Kat.")) {
|
444
|
return stateTermRlKat2;
|
445
|
}
|
446
|
if(redListStateTerm.equalsIgnoreCase("3") && redListFeature.equalsIgnoreCase("RL Kat.")) {
|
447
|
return stateTermRlKat3;
|
448
|
}
|
449
|
if(redListStateTerm.equalsIgnoreCase("G") && redListFeature.equalsIgnoreCase("RL Kat.")) {
|
450
|
return stateTermRlKatG;
|
451
|
}
|
452
|
if(redListStateTerm.equalsIgnoreCase("R") && redListFeature.equalsIgnoreCase("RL Kat.")) {
|
453
|
return stateTermRlKatR;
|
454
|
}
|
455
|
if(redListStateTerm.equalsIgnoreCase("V") && redListFeature.equalsIgnoreCase("RL Kat.")) {
|
456
|
return stateTermRlKatV;
|
457
|
}
|
458
|
if(redListStateTerm.equalsIgnoreCase("*") && redListFeature.equalsIgnoreCase("RL Kat.")) {
|
459
|
return stateTermRlKatStar;
|
460
|
}
|
461
|
if(redListStateTerm.equalsIgnoreCase("**") && redListFeature.equalsIgnoreCase("RL Kat.")) {
|
462
|
return stateTermRlKatStar2;
|
463
|
}
|
464
|
if(redListStateTerm.equalsIgnoreCase("D") && redListFeature.equalsIgnoreCase("RL Kat.")) {
|
465
|
return stateTermRlKatD;
|
466
|
}
|
467
|
if(redListStateTerm.equalsIgnoreCase(String.valueOf(a)) && redListFeature.equalsIgnoreCase("RL Kat.")) {
|
468
|
return stateTermRlKatDiamond;
|
469
|
}
|
470
|
if(redListStateTerm.equalsIgnoreCase("kN") && redListFeature.equalsIgnoreCase("RL Kat.")) {
|
471
|
return stateTermRlKatKN;
|
472
|
}
|
473
|
|
474
|
//RL Diff
|
475
|
if(redListStateTerm.equalsIgnoreCase("+") && redListFeature.equalsIgnoreCase("Kat. +/-")) {
|
476
|
return stateTermRLKatDiffPlus;
|
477
|
}
|
478
|
if(redListStateTerm.equalsIgnoreCase("-") && redListFeature.equalsIgnoreCase("Kat. +/-")) {
|
479
|
return stateTermRLKatDiffMinus;
|
480
|
}
|
481
|
if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase("Kat. +/-")) {
|
482
|
return stateTermRLKatDiffEqual;
|
483
|
}
|
484
|
|
485
|
//Rl Akt
|
486
|
if(redListStateTerm.equalsIgnoreCase("ex") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
|
487
|
return stateTermRLKatAktEx;
|
488
|
}
|
489
|
if(redListStateTerm.equalsIgnoreCase("es") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
|
490
|
return stateTermRLKatAktEs;
|
491
|
}
|
492
|
if(redListStateTerm.equalsIgnoreCase("ss") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
|
493
|
return stateTermRLKatAktSs;
|
494
|
}
|
495
|
if(redListStateTerm.equalsIgnoreCase("s") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
|
496
|
return stateTermRLKatAktS;
|
497
|
}
|
498
|
if(redListStateTerm.equalsIgnoreCase("mh") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
|
499
|
return stateTermRLKatAktMh;
|
500
|
}
|
501
|
if(redListStateTerm.equalsIgnoreCase("h") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
|
502
|
return stateTermRLKatAktH;
|
503
|
}
|
504
|
if(redListStateTerm.equalsIgnoreCase("sh") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
|
505
|
return stateTermRLKatAktSh;
|
506
|
}
|
507
|
if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
|
508
|
return stateTermRLKatAktQuest;
|
509
|
}
|
510
|
if(redListStateTerm.equalsIgnoreCase("nb") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
|
511
|
return stateTermRLKatAktNb;
|
512
|
}
|
513
|
if(redListStateTerm.equalsIgnoreCase("kN") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
|
514
|
return stateTermRLKatAktKn;
|
515
|
}
|
516
|
|
517
|
//RL Lang
|
518
|
if(redListStateTerm.equalsIgnoreCase("<<<") && redListFeature.equalsIgnoreCase("langfristiger Bestandstrend")) {
|
519
|
return stateTermRLKatLangLT3;
|
520
|
}
|
521
|
if(redListStateTerm.equalsIgnoreCase("<<") && redListFeature.equalsIgnoreCase("langfristiger Bestandstrend")) {
|
522
|
return stateTermRLKatLangLT2;
|
523
|
}
|
524
|
if(redListStateTerm.equalsIgnoreCase("<") && redListFeature.equalsIgnoreCase("langfristiger Bestandstrend")) {
|
525
|
return stateTermRLKatLangLT1;
|
526
|
}
|
527
|
if(redListStateTerm.equalsIgnoreCase("(<)") && redListFeature.equalsIgnoreCase("langfristiger Bestandstrend")) {
|
528
|
return stateTermRLKatLangLT;
|
529
|
}
|
530
|
if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase("langfristiger Bestandstrend")) {
|
531
|
return stateTermRLKatLangEqual;
|
532
|
}
|
533
|
if(redListStateTerm.equalsIgnoreCase(">") && redListFeature.equalsIgnoreCase("langfristiger Bestandstrend")) {
|
534
|
return stateTermRLKatLangGT;
|
535
|
}
|
536
|
if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase("langfristiger Bestandstrend")) {
|
537
|
return stateTermRLKatLangQuest;
|
538
|
}
|
539
|
|
540
|
//RL Kurz
|
541
|
char c = 0x2193;
|
542
|
char b = 0x2191;
|
543
|
if(redListStateTerm.equalsIgnoreCase(String.valueOf(c)+String.valueOf(c)+String.valueOf(c)) && redListFeature.equalsIgnoreCase("kurzfristiger Bestandstrend")) {
|
544
|
return stateTermRLKatKurzDown3;
|
545
|
}
|
546
|
if(redListStateTerm.equalsIgnoreCase(String.valueOf(c)+String.valueOf(c)) && redListFeature.equalsIgnoreCase("kurzfristiger Bestandstrend")) {
|
547
|
return stateTermRLKatKurzDown2;
|
548
|
}
|
549
|
if(redListStateTerm.equalsIgnoreCase("("+String.valueOf(c)+")") && redListFeature.equalsIgnoreCase("kurzfristiger Bestandstrend")) {
|
550
|
return stateTermRLKatKurzDown1;
|
551
|
}
|
552
|
if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase("kurzfristiger Bestandstrend")) {
|
553
|
return stateTermRLKatKurzEqual;
|
554
|
}
|
555
|
if(redListStateTerm.equalsIgnoreCase(String.valueOf(b)) && redListFeature.equalsIgnoreCase("kurzfristiger Bestandstrend")) {
|
556
|
return stateTermRLKatKurzUp;
|
557
|
}
|
558
|
if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase("kurzfristiger Bestandstrend")) {
|
559
|
return stateTermRLKatKurzQuest;
|
560
|
}
|
561
|
|
562
|
//RL Risk
|
563
|
if(redListStateTerm.equalsIgnoreCase("-") && redListFeature.equalsIgnoreCase("Risikofaktoren")) {
|
564
|
return stateTermRLKatRiskMinus;
|
565
|
}
|
566
|
if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase("Risikofaktoren")) {
|
567
|
return stateTermRLKatRiskEqual;
|
568
|
}
|
569
|
|
570
|
//RL Resp
|
571
|
if(redListStateTerm.equalsIgnoreCase("!!") && redListFeature.equalsIgnoreCase("Verantwortlichkeit")) {
|
572
|
return stateTermRLKatRespBang2;
|
573
|
}
|
574
|
if(redListStateTerm.equalsIgnoreCase("!") && redListFeature.equalsIgnoreCase("Verantwortlichkeit")) {
|
575
|
return stateTermRLKatRespBang1;
|
576
|
}
|
577
|
if(redListStateTerm.equalsIgnoreCase("(!)") && redListFeature.equalsIgnoreCase("Verantwortlichkeit")) {
|
578
|
return stateTermRLKatRespBang;
|
579
|
}
|
580
|
if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase("Verantwortlichkeit")) {
|
581
|
return stateTermRLKatRespQuest;
|
582
|
}
|
583
|
if(redListStateTerm.equalsIgnoreCase("nb") && redListFeature.equalsIgnoreCase("Verantwortlichkeit")) {
|
584
|
return stateTermRLKatRespNb;
|
585
|
}
|
586
|
|
587
|
//RL Kat Old
|
588
|
if(redListStateTerm.equalsIgnoreCase("0") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
|
589
|
return stateTermRLKatOld0;
|
590
|
}
|
591
|
if(redListStateTerm.equalsIgnoreCase("1") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
|
592
|
return stateTermRLKatOld1;
|
593
|
}
|
594
|
if(redListStateTerm.equalsIgnoreCase("2") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
|
595
|
return stateTermRLKatOld2;
|
596
|
}
|
597
|
if(redListStateTerm.equalsIgnoreCase("3") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
|
598
|
return stateTermRLKatOld3;
|
599
|
}
|
600
|
if(redListStateTerm.equalsIgnoreCase("G") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
|
601
|
return stateTermRLKatOldG;
|
602
|
}
|
603
|
if(redListStateTerm.equalsIgnoreCase("R") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
|
604
|
return stateTermRLKatOldR;
|
605
|
}
|
606
|
if(redListStateTerm.equalsIgnoreCase("V") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
|
607
|
return stateTermRLKatOldV;
|
608
|
}
|
609
|
if(redListStateTerm.equalsIgnoreCase("*") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
|
610
|
return stateTermRLKatOldStar;
|
611
|
}
|
612
|
if(redListStateTerm.equalsIgnoreCase("**") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
|
613
|
return stateTermRLKatOldStar2;
|
614
|
}
|
615
|
if(redListStateTerm.equalsIgnoreCase("D") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
|
616
|
return stateTermRLKatOldD;
|
617
|
}
|
618
|
if(redListStateTerm.equalsIgnoreCase("nb") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
|
619
|
return stateTermRLKatOldNb;
|
620
|
}
|
621
|
if(redListStateTerm.equalsIgnoreCase("kN") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
|
622
|
return stateTermRLKatOldKn;
|
623
|
}
|
624
|
|
625
|
//RL Neo
|
626
|
if(redListStateTerm.equalsIgnoreCase("N") && redListFeature.equalsIgnoreCase("Neobiota")) {
|
627
|
return stateTermRLKatNeo;
|
628
|
}
|
629
|
|
630
|
//RL Special
|
631
|
if(redListStateTerm.equalsIgnoreCase("S") && redListFeature.equalsIgnoreCase("Sonderfälle")) {
|
632
|
return stateTermRLSpecialS;
|
633
|
}
|
634
|
if(redListStateTerm.equalsIgnoreCase("E") && redListFeature.equalsIgnoreCase("Sonderfälle")) {
|
635
|
return stateTermRLSpecialE;
|
636
|
}
|
637
|
if(redListStateTerm.equalsIgnoreCase("D") && redListFeature.equalsIgnoreCase("Sonderfälle")) {
|
638
|
return stateTermRLSpecialD;
|
639
|
}
|
640
|
|
641
|
|
642
|
|
643
|
//RL Empty
|
644
|
if(StringUtils.isBlank(redListStateTerm) || redListStateTerm.equalsIgnoreCase("keine Angabe")) {
|
645
|
return stateTermEmpty;
|
646
|
} else {
|
647
|
throw new UnknownCdmTypeException("Unknown State, could not match: " + redListStateTerm +"\n In Category: " + redListFeature);
|
648
|
}
|
649
|
|
650
|
}
|
651
|
|
652
|
|
653
|
/**
|
654
|
* retrieve german federal States
|
655
|
*
|
656
|
* @param strGermanState
|
657
|
* @return
|
658
|
* @throws UnknownCdmTypeException
|
659
|
*/
|
660
|
public static UUID getGermanStateUUID(String strGermanState) throws UnknownCdmTypeException {
|
661
|
|
662
|
if(strGermanState.equalsIgnoreCase("Deutschland")) {
|
663
|
return UUID.fromString("a7f3855e-d4fa-4313-8fcf-da792ef848e7");
|
664
|
}
|
665
|
if(strGermanState.equalsIgnoreCase("Baden-Württemberg")) {
|
666
|
return UUID.fromString("00e64948-9ce9-4ebf-961b-133c56517b1c");
|
667
|
}
|
668
|
if(strGermanState.equalsIgnoreCase("Bayern")) {
|
669
|
return UUID.fromString("ba075265-368f-4ff0-8942-88546239c70a");
|
670
|
}
|
671
|
if(strGermanState.equalsIgnoreCase("Berlin")) {
|
672
|
return UUID.fromString("d9339e12-7efa-45df-a008-3c934b9386bc");
|
673
|
}
|
674
|
if(strGermanState.equalsIgnoreCase("Bremen")) {
|
675
|
return UUID.fromString("a6d2f97d-5dba-4b79-a073-25fb491b6320");
|
676
|
}
|
677
|
if(strGermanState.equalsIgnoreCase("Brandenburg")) {
|
678
|
return UUID.fromString("dda9d8b8-8090-4667-953e-d8b1f7243926");
|
679
|
}
|
680
|
if(strGermanState.equalsIgnoreCase("Hamburg")) {
|
681
|
return UUID.fromString("f087a7d7-974f-4627-a414-df27c04f99dd");
|
682
|
}
|
683
|
if(strGermanState.equalsIgnoreCase("Hessen")) {
|
684
|
return UUID.fromString("59de29e6-bf32-4677-89c7-a6834fcb5085");
|
685
|
}
|
686
|
if(strGermanState.equalsIgnoreCase("Mecklenburg-Vorpommern")) {
|
687
|
return UUID.fromString("06dccbd5-8d5a-4e4f-b56e-d1d74ab25c19");
|
688
|
}
|
689
|
if(strGermanState.equalsIgnoreCase("Niedersachsen")) {
|
690
|
return UUID.fromString("97f77fe8-07ab-4e14-8f8b-40e8caf7e653");
|
691
|
}
|
692
|
if(strGermanState.equalsIgnoreCase("Nordrhein-Westfalen")) {
|
693
|
return UUID.fromString("46bf702e-1438-470c-9c77-04202c34ebf2");
|
694
|
}
|
695
|
if(strGermanState.equalsIgnoreCase("Rheinland-Pfalz")) {
|
696
|
return UUID.fromString("dd3ddb29-b1ec-4937-99a9-4a94d383becf");
|
697
|
}
|
698
|
if(strGermanState.equalsIgnoreCase("Saarland")) {
|
699
|
return UUID.fromString("26d3e85f-ce90-43ae-8ac0-42a60302b7b7");
|
700
|
}
|
701
|
if(strGermanState.equalsIgnoreCase("Sachsen")) {
|
702
|
return UUID.fromString("ca3ef152-ee3a-45f2-8343-983cf0fdddbd");
|
703
|
}
|
704
|
if(strGermanState.equalsIgnoreCase("Sachsen-Anhalt")) {
|
705
|
return UUID.fromString("bb95b9a4-87ee-49bd-a542-4c30289e8d1f");
|
706
|
}
|
707
|
if(strGermanState.equalsIgnoreCase("Schleswig-Holstein")) {
|
708
|
return UUID.fromString("863323a7-22fb-4070-ad94-ce317098a28a");
|
709
|
}
|
710
|
if(strGermanState.equalsIgnoreCase("Thüringen")) {
|
711
|
return UUID.fromString("72e18526-6bf7-4300-8329-53cab5da2b51");
|
712
|
} else {
|
713
|
throw new UnknownCdmTypeException("Unknown State, could not match: " + strGermanState);
|
714
|
}
|
715
|
}
|
716
|
|
717
|
public static UUID getGermanAbsenceTermUUID(String strGermanTerm) throws UnknownCdmTypeException {
|
718
|
if(strGermanTerm.equalsIgnoreCase("abwesend")) {return UUID.fromString("517c4c68-952e-4580-8379-66a4aa12c04b");}
|
719
|
if(strGermanTerm.equalsIgnoreCase("abwesend - ausgestorben")) {return UUID.fromString("7a620705-7c0d-4c72-863f-f41d548a2cc5");}
|
720
|
if(strGermanTerm.equalsIgnoreCase("abwesend - frühere Fehleingabe")) {return UUID.fromString("1009264c-197d-43d4-ba16-7a7f0a6fde0c");}
|
721
|
if(strGermanTerm.equalsIgnoreCase("vorkommend")) {return UUID.fromString("b294e7db-919f-4da0-9ba4-c374e7876aff");}
|
722
|
if(strGermanTerm.equalsIgnoreCase("vorkommend - in Einbürgerung befindlich")) {return UUID.fromString("ec2f4099-82f7-44de-8892-09651c76d255");}
|
723
|
if(strGermanTerm.equalsIgnoreCase("vorkommend - etabliert")) {return UUID.fromString("c1954b3c-58b5-43f3-b122-c872b2708bba");}
|
724
|
if(strGermanTerm.equalsIgnoreCase("vorkommend - kultiviert, domestiziert")) {return UUID.fromString("99ebdb24-fda0-4203-9455-30441cdee17b");}
|
725
|
if(strGermanTerm.equalsIgnoreCase("vorkommend - unbeständig")) {return UUID.fromString("12566e82-cdc2-48e4-951d-2fb88f30c5fd");}
|
726
|
if(strGermanTerm.equalsIgnoreCase("vorkommend - Vorkommen unsicher")) {return UUID.fromString("a84d2ddb-fe7b-483b-96ba-fc0884d77c81");}
|
727
|
if(strGermanTerm.equalsIgnoreCase("vorkommend - unsicher")) {return UUID.fromString("0b144b76-dab6-40da-8511-898f8226a24a");
|
728
|
} else {
|
729
|
throw new UnknownCdmTypeException("Unknown State, could not match: " + strGermanTerm);
|
730
|
}
|
731
|
}
|
732
|
public static UUID getGermanEstablishmentTermUUID(String strGermanTerm) throws UnknownCdmTypeException {
|
733
|
if(strGermanTerm.equalsIgnoreCase("Archaeophyt")) {return UUID.fromString("2cd2bc48-9fcb-4ccd-b03d-bafc0d3dde8c");}
|
734
|
if(strGermanTerm.equalsIgnoreCase("Indigen")) {return UUID.fromString("20a99907-406a-45f1-aa3e-4768697488e4");}
|
735
|
if(strGermanTerm.equalsIgnoreCase("Kulturpflanze / domestiziertes Tier")) {return UUID.fromString("94aa6408-f950-4e2e-bded-e01a1be859f6");}
|
736
|
if(strGermanTerm.equalsIgnoreCase("Neophyt")) {return UUID.fromString("fdf6f1b7-c6ad-4b49-bc6b-b06398f8b1b5");}
|
737
|
if(strGermanTerm.equalsIgnoreCase("Kultuflüchtling")) {return UUID.fromString("411f9190-56b7-41dd-a31a-3f200619c5e0");
|
738
|
} else {
|
739
|
throw new UnknownCdmTypeException("Unknown State, could not match: " + strGermanTerm);
|
740
|
}
|
741
|
}
|
742
|
}
|