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 com.google.common.collect.BiMap;
|
18
|
import com.google.common.collect.HashBiMap;
|
19
|
|
20
|
import eu.etaxonomy.cdm.io.redlist.bfnXml.BfnXmlConstants;
|
21
|
import eu.etaxonomy.cdm.model.name.Rank;
|
22
|
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
|
23
|
import eu.etaxonomy.cdm.strategy.exceptions.UnknownCdmTypeException;
|
24
|
|
25
|
public final class BfnXmlTransformer {
|
26
|
@SuppressWarnings("unused")
|
27
|
private static final Logger logger = Logger.getLogger(BfnXmlTransformer.class);
|
28
|
|
29
|
|
30
|
private static final BiMap<String, Rank> rankMap = HashBiMap.create();
|
31
|
static {
|
32
|
rankMap.put(BfnXmlConstants.RNK_INFRAGEN, Rank.INFRAGENUS());
|
33
|
rankMap.put(BfnXmlConstants.RNK_SUBGEN, Rank.SUBGENUS());
|
34
|
rankMap.put(BfnXmlConstants.RNK_GEN, Rank.GENUS());
|
35
|
//genus subdivision
|
36
|
rankMap.put(BfnXmlConstants.RNK_AGGR, Rank.SPECIESAGGREGATE());
|
37
|
rankMap.put(BfnXmlConstants.RNK_TAXINFRAGEN, Rank.INFRAGENERICTAXON());
|
38
|
rankMap.put(BfnXmlConstants.RNK_SUBSER, Rank.SUBSERIES());
|
39
|
rankMap.put(BfnXmlConstants.RNK_SER, Rank.SERIES());
|
40
|
rankMap.put(BfnXmlConstants.RNK_SUBSECT, Rank.SUBSECTION_BOTANY());
|
41
|
rankMap.put(BfnXmlConstants.RNK_SECT, Rank.SECTION_BOTANY());
|
42
|
//species group
|
43
|
rankMap.put(BfnXmlConstants.RNK_SUBSP_AGGR, Rank.SUBSPECIFICAGGREGATE());
|
44
|
rankMap.put(BfnXmlConstants.RNK_SSP, Rank.SUBSPECIES());
|
45
|
rankMap.put(BfnXmlConstants.RNK_SPEZIES, Rank.SPECIES());
|
46
|
//below subspecies
|
47
|
rankMap.put(BfnXmlConstants.RNK_CAND, Rank.CANDIDATE());
|
48
|
rankMap.put(BfnXmlConstants.RNK_TAXINFRASP, Rank.INFRASPECIFICTAXON());
|
49
|
rankMap.put(BfnXmlConstants.RNK_FSP, Rank.SPECIALFORM());
|
50
|
rankMap.put(BfnXmlConstants.RNK_SUBSUBFM, Rank.SUBSUBFORM());
|
51
|
rankMap.put(BfnXmlConstants.RNK_SUBFM, Rank.SUBFORM());
|
52
|
rankMap.put(BfnXmlConstants.RNK_FM, Rank.FORM());
|
53
|
rankMap.put(BfnXmlConstants.RNK_SUBSUBVAR, Rank.SUBSUBVARIETY());
|
54
|
rankMap.put(BfnXmlConstants.RNK_SUBVAR, Rank.SUBVARIETY());
|
55
|
rankMap.put(BfnXmlConstants.RNK_VAR, Rank.VARIETY());
|
56
|
rankMap.put(BfnXmlConstants.RNK_INFRASP, Rank.INFRASPECIES());
|
57
|
//above superfamily
|
58
|
rankMap.put(BfnXmlConstants.RNK_INFRAORD, Rank.INFRAORDER());
|
59
|
rankMap.put(BfnXmlConstants.RNK_ORD, Rank.ORDER());
|
60
|
rankMap.put(BfnXmlConstants.RNK_SUPERORD, Rank.SUPERORDER());
|
61
|
rankMap.put(BfnXmlConstants.RNK_INFRACL, Rank.INFRACLASS());
|
62
|
rankMap.put(BfnXmlConstants.RNK_SUBCL, Rank.SUBCLASS());
|
63
|
rankMap.put(BfnXmlConstants.RNK_CL, Rank.CLASS());
|
64
|
rankMap.put(BfnXmlConstants.RNK_SUPERCL, Rank.SUPERCLASS());
|
65
|
rankMap.put(BfnXmlConstants.RNK_INFRAPHYL_DIV, Rank.INFRAPHYLUM());
|
66
|
rankMap.put(BfnXmlConstants.RNK_SUBPHYL_DIV, Rank.SUBPHYLUM());
|
67
|
rankMap.put(BfnXmlConstants.RNK_PHYL_DIV, Rank.PHYLUM());
|
68
|
rankMap.put(BfnXmlConstants.RNK_SUPERPHYL_DIV, Rank.SUPERPHYLUM());
|
69
|
rankMap.put(BfnXmlConstants.RNK_INFRAREG, Rank.INFRAKINGDOM());
|
70
|
rankMap.put(BfnXmlConstants.RNK_SUBREG, Rank.SUBKINGDOM());
|
71
|
rankMap.put(BfnXmlConstants.RNK_REG, Rank.KINGDOM());
|
72
|
rankMap.put(BfnXmlConstants.RNK_SUPERREG, Rank.SUPERKINGDOM());
|
73
|
rankMap.put(BfnXmlConstants.RNK_DOM, Rank.DOMAIN());
|
74
|
rankMap.put(BfnXmlConstants.RNK_TAXSUPRAGEN, Rank.SUPRAGENERICTAXON());
|
75
|
rankMap.put(BfnXmlConstants.RNK_AUSWERTUNGSGRUPPE, Rank.EMPIRE());
|
76
|
//family group
|
77
|
rankMap.put(BfnXmlConstants.RNK_INFRAFAM, Rank.FAMILY());
|
78
|
}
|
79
|
|
80
|
public static String getRankCodeForRank(Rank rank) {
|
81
|
return rankMap.inverse().get(rank);
|
82
|
}
|
83
|
|
84
|
/** Creates an cdm-Rank by the tcs rank
|
85
|
*/
|
86
|
public static Rank getRankForRankCode (String rankCode){
|
87
|
if (rankCode == null){
|
88
|
return null;
|
89
|
}
|
90
|
//handle ambiguous key
|
91
|
else if (rankCode.equals(BfnXmlConstants.RNK_AGG)){return Rank.SPECIESAGGREGATE();
|
92
|
}else if (rankCode.equals(BfnXmlConstants.RNK_SUBSP)){return Rank.SUBSPECIES();
|
93
|
}else if (rankCode.equals(BfnXmlConstants.RNK_SUBSP_DOT)){return Rank.SUBSPECIES();
|
94
|
}else if (rankCode.equals(BfnXmlConstants.RNK_INFRAGEN)){return Rank.INFRAGENUS();
|
95
|
}else if (rankCode.equals(BfnXmlConstants.RNK_SP)){return Rank.SPECIES();
|
96
|
}else if (rankCode.equals(BfnXmlConstants.RNK_F)){return Rank.FORM();
|
97
|
}else if (rankCode.equals(BfnXmlConstants.RNK_VAR_DOT)){return Rank.VARIETY();
|
98
|
}else if (rankCode.equals(BfnXmlConstants.RNK_SUBFAM)){return Rank.FAMILY();
|
99
|
}else if (rankCode.equals(BfnXmlConstants.RNK_FAM)){return Rank.FAMILY();
|
100
|
}else if (rankCode.equals(BfnXmlConstants.RNK_SUPERFAM)){return Rank.FAMILY();
|
101
|
}else if (rankCode.equals(BfnXmlConstants.RNK_INTRATRIB)){return Rank.FAMILY();
|
102
|
}else if (rankCode.equals(BfnXmlConstants.RNK_SUBTRIB)){return Rank.FAMILY();
|
103
|
}else if (rankCode.equals(BfnXmlConstants.RNK_TRIB)){return Rank.FAMILY();
|
104
|
}else if (rankCode.equals(BfnXmlConstants.RNK_SUPERTRIB)){return Rank.FAMILY();
|
105
|
}else {
|
106
|
return rankMap.get(rankCode);
|
107
|
}
|
108
|
}
|
109
|
|
110
|
private static final BiMap<String, TaxonRelationshipType> relationshipTypeMap = HashBiMap.create();
|
111
|
static {
|
112
|
relationshipTypeMap.put("!=", TaxonRelationshipType.CONGRUENT_TO());
|
113
|
relationshipTypeMap.put("!=,>", TaxonRelationshipType.CONGRUENT_OR_INCLUDES());
|
114
|
relationshipTypeMap.put("!=,<", TaxonRelationshipType.CONGRUENT_OR_INCLUDED_OR_INCLUDES());
|
115
|
relationshipTypeMap.put(">", TaxonRelationshipType.INCLUDES());
|
116
|
relationshipTypeMap.put(">,><", TaxonRelationshipType.INCLUDES_OR_OVERLAPS());
|
117
|
relationshipTypeMap.put("><", TaxonRelationshipType.OVERLAPS());
|
118
|
relationshipTypeMap.put("~", TaxonRelationshipType.CONGRUENT_OR_INCLUDES_OR_OVERLAPS());//TODO Included in not here
|
119
|
relationshipTypeMap.put("?", TaxonRelationshipType.ALL_RELATIONSHIPS());
|
120
|
relationshipTypeMap.put("/=", TaxonRelationshipType.EXCLUDES());
|
121
|
}
|
122
|
|
123
|
public static String getConceptCodeForTaxonRelation(TaxonRelationshipType type) {
|
124
|
return relationshipTypeMap.inverse().get(type);
|
125
|
}
|
126
|
|
127
|
public static TaxonRelationshipType getTaxonRelationForConceptCode(String conceptCode){
|
128
|
if(conceptCode == null) {
|
129
|
return null;
|
130
|
}
|
131
|
//handle ambiguous key
|
132
|
else if(conceptCode.equalsIgnoreCase("=!")){
|
133
|
return TaxonRelationshipType.CONGRUENT_TO();
|
134
|
}else if(conceptCode.equalsIgnoreCase("\\")){
|
135
|
return TaxonRelationshipType.EXCLUDES();
|
136
|
}
|
137
|
else{
|
138
|
return relationshipTypeMap.get(conceptCode);
|
139
|
}
|
140
|
}
|
141
|
|
142
|
public static String redListString2RedListCode (String redListCode) throws UnknownCdmTypeException{
|
143
|
if (redListCode == null){ return null;
|
144
|
}else if (redListCode.equals("#dtpl_RLKat_NULL#")){return "0";
|
145
|
}else if (redListCode.equals("#dtpl_RLKat_EINS#")){return "1";
|
146
|
}else if (redListCode.equals("#dtpl_RLKat_ZWEI#")){return "2";
|
147
|
}else if (redListCode.equals("#dtpl_RLKat_DREI#")){return "3";
|
148
|
}else if (redListCode.equals("#dtpl_RLKat_VIER#")){return "4";
|
149
|
}else if (redListCode.equals("#dtpl_RLKat_G#")){return "G";
|
150
|
}else if (redListCode.equals("#dtpl_RLKat_R#")){return "R";
|
151
|
}else if (redListCode.equals("#dtpl_RLKat_V#")){return "V";
|
152
|
}else if (redListCode.equals("#dtpl_RLKat_STERN#")){return "*";
|
153
|
}else if (redListCode.equals("#dtpl_RLKat_STERN##dtpl_RLKat_STERN#")){return "**";
|
154
|
}else if (redListCode.equals("#dtpl_RLKat_D#")){return "D";
|
155
|
}else if (redListCode.equals("#dtpl_RLKat_RAUTE#")){
|
156
|
char c = 0x2666;
|
157
|
return String.valueOf(c);
|
158
|
}else if (redListCode.equals("kN")){return "kN";
|
159
|
}else if (redListCode.equals("+")){return "+";
|
160
|
}else if (redListCode.equals("-")){return "-";
|
161
|
}else if (redListCode.equals("=")){return "=";
|
162
|
}else if (redListCode.equals("N")){return "N";
|
163
|
}else if (redListCode.equals("S")){return "S";
|
164
|
}else if (redListCode.equals("E")){return "E";
|
165
|
}else if (redListCode.equals("D")){return "D";
|
166
|
}else if (redListCode.equals("#dtpl_KurzfBest_RUNTER##dtpl_KurzfBest_RUNTER##dtpl_KurzfBest_RUNTER#")){
|
167
|
char c = 0x2193;
|
168
|
return String.valueOf(c)+String.valueOf(c)+String.valueOf(c);
|
169
|
}else if (redListCode.equals("#dtpl_KurzfBest_RUNTER##dtpl_KurzfBest_RUNTER#")){
|
170
|
char c = 0x2193;
|
171
|
return String.valueOf(c)+String.valueOf(c);
|
172
|
}else if (redListCode.equals("(#dtpl_KurzfBest_RUNTER#)")){
|
173
|
char c = 0x2193;
|
174
|
return "("+String.valueOf(c)+")";
|
175
|
}else if (redListCode.equals("#dtpl_KurzfBest_HOCH#")){
|
176
|
char c = 0x2191;
|
177
|
return String.valueOf(c);
|
178
|
}else if (redListCode.equals("#dtpl_Risiko_MINUS#")){return "-";
|
179
|
}else if (redListCode.equals("#dtpl_VERANTW_NB#")){return "nb";
|
180
|
}else if (redListCode.equals("#dtpl_TaxBez_GLEICH#")){return "=";
|
181
|
}else if (redListCode.equals("#dtpl_TaxBez_KLEINER#")){return "<";
|
182
|
}else if (redListCode.equals("#dtpl_TaxBez_GROESSER#")){return ">";
|
183
|
}else if (redListCode.equals("#dtpl_TaxBez_UNGLEICH#")){
|
184
|
char c = 0x2260;
|
185
|
return String.valueOf(c);
|
186
|
}else if (redListCode.equals("#dtpl_AlteRLKat_STERN#")){return "*";
|
187
|
}else if (redListCode.equals("#dtpl_AlteRLKat_ZWEISTERN#")){return "**";
|
188
|
}else if (redListCode.equals("#dtpl_AlteRLKat_NB#")){return "nb";
|
189
|
}else if (redListCode.equals("#dtpl_AlteRLKat_KN#")){return "kN";
|
190
|
}else if (redListCode.equals("#dtpl_TaxBez_UNGLEICH#")){return "-";
|
191
|
}else if (StringUtils.isBlank(redListCode)){return "keine Angabe";
|
192
|
}
|
193
|
else if (redListCode.matches("(ex|es|ss?|mh|h|sh|\\?|nb|kn)")){
|
194
|
return redListCode;
|
195
|
}else if (redListCode.equals("")){
|
196
|
return "";
|
197
|
}
|
198
|
else if (redListCode.matches("(<<?<?|\\(<\\)|>|!!?|\\(!\\))")){
|
199
|
return redListCode;
|
200
|
}else if (redListCode.matches("(0|1|2|3|G|R|V)")){
|
201
|
return redListCode;
|
202
|
}
|
203
|
else {
|
204
|
throw new UnknownCdmTypeException("Unknown Redlist Code " + redListCode);
|
205
|
}
|
206
|
}
|
207
|
|
208
|
|
209
|
public static UUID getRedlistVocabularyUUID(String redListVocabulary) throws UnknownCdmTypeException {
|
210
|
|
211
|
if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
|
212
|
return BfnXmlConstants.uuidVocStateRLKat;
|
213
|
}else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_KAT)) {
|
214
|
return BfnXmlConstants.uuidVocStateRlKatDiff;
|
215
|
}else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
|
216
|
return BfnXmlConstants.uuidVocStateRlAkt;
|
217
|
}else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
|
218
|
return BfnXmlConstants.uuidVocStateRLLang;
|
219
|
}else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
|
220
|
return BfnXmlConstants.uuidVocStateRLKurz;
|
221
|
}else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_RISIKOFAKTOREN)) {
|
222
|
return BfnXmlConstants.uuidVocStateRLRisk;
|
223
|
}else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
|
224
|
return BfnXmlConstants.uuidVocStateRLResp;
|
225
|
}else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
|
226
|
return BfnXmlConstants.uuidVocStateRLKatOld;
|
227
|
}else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_NEOBIOTA)) {
|
228
|
return BfnXmlConstants.uuidVocStateRLNeo;
|
229
|
}else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_EINDEUTIGER_CODE)) {
|
230
|
return BfnXmlConstants.uuidVocStateRLKatId;
|
231
|
}else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_SONDERFAELLE)) {
|
232
|
return BfnXmlConstants.uuidVocStateRLSpecialCases;
|
233
|
}else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_VORKOMMENSSTATUS)) {
|
234
|
return BfnXmlConstants.uuidVocGermanPresenceTerms;
|
235
|
}else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_ETABLIERUNGSSTATUS)) {
|
236
|
return BfnXmlConstants.uuidVocGermanEstablishmentTerms;
|
237
|
}else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_BUNDESLAENDER)) {
|
238
|
return BfnXmlConstants.uuidVocGermanFederalStates;
|
239
|
} else{
|
240
|
throw new UnknownCdmTypeException("Unknown Vocabulary feature, could not match: " + redListVocabulary);
|
241
|
}
|
242
|
|
243
|
}
|
244
|
|
245
|
|
246
|
public static UUID getRedlistFeatureUUID(String redListFeature) throws UnknownCdmTypeException {
|
247
|
|
248
|
if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
|
249
|
return BfnXmlConstants.uuidFeatureRLKat;
|
250
|
}
|
251
|
if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KAT)) {
|
252
|
return BfnXmlConstants.uuidFeatureRlKatDiff;
|
253
|
}
|
254
|
if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
|
255
|
return BfnXmlConstants.uuidFeatureRlAkt;
|
256
|
}
|
257
|
if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
|
258
|
return BfnXmlConstants.uuidFeatureRLLang;
|
259
|
}
|
260
|
if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
|
261
|
return BfnXmlConstants.uuidFeatureRLKurz;
|
262
|
}
|
263
|
if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RISIKOFAKTOREN)) {
|
264
|
return BfnXmlConstants.uuidFeatureRLRisk;
|
265
|
}
|
266
|
if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
|
267
|
return BfnXmlConstants.uuidFeatureRLResp;
|
268
|
}
|
269
|
if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
|
270
|
return BfnXmlConstants.uuidFeatureRLKatOld;
|
271
|
}
|
272
|
if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_NEOBIOTA)) {
|
273
|
return BfnXmlConstants.uuidFeatureRLNeo;
|
274
|
}
|
275
|
if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_EINDEUTIGER_CODE)) {
|
276
|
return BfnXmlConstants.uuidFeatureRLKatId;
|
277
|
}
|
278
|
if(redListFeature.equalsIgnoreCase(BfnXmlConstants.FEAT_KOMMENTAR_TAXONOMIE)) {
|
279
|
return BfnXmlConstants.uuidFeatureRLTaxComment;
|
280
|
}
|
281
|
if(redListFeature.equalsIgnoreCase(BfnXmlConstants.FEAT_KOMMENTAR_GEFAEHRDUNG)) {
|
282
|
return BfnXmlConstants.uuidFeatureRLHazardComment;
|
283
|
}
|
284
|
if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_SONDERFAELLE)) {
|
285
|
return BfnXmlConstants.uuidFeatureRLSpecialCases;
|
286
|
}
|
287
|
if(redListFeature.equalsIgnoreCase(BfnXmlConstants.FEAT_LETZTER_NACHWEIS)) {
|
288
|
return BfnXmlConstants.uuidFeatureRLLastOccurrence;
|
289
|
}
|
290
|
if(redListFeature.equalsIgnoreCase(BfnXmlConstants.FEAT_WEITERE_KOMMENTARE)) {
|
291
|
return BfnXmlConstants.uuidFeatureRLAdditionalComment;
|
292
|
} else{
|
293
|
throw new UnknownCdmTypeException("Unknown feature, could not match: " + redListFeature);
|
294
|
}
|
295
|
|
296
|
}
|
297
|
|
298
|
public static UUID getRedlistStateTermUUID(String redListStateTerm, String redListFeature) throws UnknownCdmTypeException {
|
299
|
//RL Kat
|
300
|
char a = 0x2666;
|
301
|
if(redListStateTerm.equalsIgnoreCase("0") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
|
302
|
return BfnXmlConstants.stateTermRlKat0;
|
303
|
}
|
304
|
if(redListStateTerm.equalsIgnoreCase("1") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
|
305
|
return BfnXmlConstants.stateTermRlKat1;
|
306
|
}
|
307
|
if(redListStateTerm.equalsIgnoreCase("2") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
|
308
|
return BfnXmlConstants.stateTermRlKat2;
|
309
|
}
|
310
|
if(redListStateTerm.equalsIgnoreCase("3") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
|
311
|
return BfnXmlConstants.stateTermRlKat3;
|
312
|
}
|
313
|
if(redListStateTerm.equalsIgnoreCase("G") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
|
314
|
return BfnXmlConstants.stateTermRlKatG;
|
315
|
}
|
316
|
if(redListStateTerm.equalsIgnoreCase("R") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
|
317
|
return BfnXmlConstants.stateTermRlKatR;
|
318
|
}
|
319
|
if(redListStateTerm.equalsIgnoreCase("V") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
|
320
|
return BfnXmlConstants.stateTermRlKatV;
|
321
|
}
|
322
|
if(redListStateTerm.equalsIgnoreCase("*") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
|
323
|
return BfnXmlConstants.stateTermRlKatStar;
|
324
|
}
|
325
|
if(redListStateTerm.equalsIgnoreCase("**") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
|
326
|
return BfnXmlConstants.stateTermRlKatStar2;
|
327
|
}
|
328
|
if(redListStateTerm.equalsIgnoreCase("D") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
|
329
|
return BfnXmlConstants.stateTermRlKatD;
|
330
|
}
|
331
|
if(redListStateTerm.equalsIgnoreCase(String.valueOf(a)) && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
|
332
|
return BfnXmlConstants.stateTermRlKatDiamond;
|
333
|
}
|
334
|
if(redListStateTerm.equalsIgnoreCase("kN") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
|
335
|
return BfnXmlConstants.stateTermRlKatKN;
|
336
|
}
|
337
|
|
338
|
//RL Diff
|
339
|
if(redListStateTerm.equalsIgnoreCase("+") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KAT)) {
|
340
|
return BfnXmlConstants.stateTermRLKatDiffPlus;
|
341
|
}
|
342
|
if(redListStateTerm.equalsIgnoreCase("-") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KAT)) {
|
343
|
return BfnXmlConstants.stateTermRLKatDiffMinus;
|
344
|
}
|
345
|
if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KAT)) {
|
346
|
return BfnXmlConstants.stateTermRLKatDiffEqual;
|
347
|
}
|
348
|
|
349
|
//Rl Akt
|
350
|
if(redListStateTerm.equalsIgnoreCase("ex") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
|
351
|
return BfnXmlConstants.stateTermRLKatAktEx;
|
352
|
}
|
353
|
if(redListStateTerm.equalsIgnoreCase("es") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
|
354
|
return BfnXmlConstants.stateTermRLKatAktEs;
|
355
|
}
|
356
|
if(redListStateTerm.equalsIgnoreCase("ss") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
|
357
|
return BfnXmlConstants.stateTermRLKatAktSs;
|
358
|
}
|
359
|
if(redListStateTerm.equalsIgnoreCase("s") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
|
360
|
return BfnXmlConstants.stateTermRLKatAktS;
|
361
|
}
|
362
|
if(redListStateTerm.equalsIgnoreCase("mh") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
|
363
|
return BfnXmlConstants.stateTermRLKatAktMh;
|
364
|
}
|
365
|
if(redListStateTerm.equalsIgnoreCase("h") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
|
366
|
return BfnXmlConstants.stateTermRLKatAktH;
|
367
|
}
|
368
|
if(redListStateTerm.equalsIgnoreCase("sh") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
|
369
|
return BfnXmlConstants.stateTermRLKatAktSh;
|
370
|
}
|
371
|
if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
|
372
|
return BfnXmlConstants.stateTermRLKatAktQuest;
|
373
|
}
|
374
|
if(redListStateTerm.equalsIgnoreCase("nb") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
|
375
|
return BfnXmlConstants.stateTermRLKatAktNb;
|
376
|
}
|
377
|
if(redListStateTerm.equalsIgnoreCase("kN") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
|
378
|
return BfnXmlConstants.stateTermRLKatAktKn;
|
379
|
}
|
380
|
|
381
|
//RL Lang
|
382
|
if(redListStateTerm.equalsIgnoreCase("<<<") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
|
383
|
return BfnXmlConstants.stateTermRLKatLangLT3;
|
384
|
}
|
385
|
if(redListStateTerm.equalsIgnoreCase("<<") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
|
386
|
return BfnXmlConstants.stateTermRLKatLangLT2;
|
387
|
}
|
388
|
if(redListStateTerm.equalsIgnoreCase("<") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
|
389
|
return BfnXmlConstants.stateTermRLKatLangLT1;
|
390
|
}
|
391
|
if(redListStateTerm.equalsIgnoreCase("(<)") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
|
392
|
return BfnXmlConstants.stateTermRLKatLangLT;
|
393
|
}
|
394
|
if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
|
395
|
return BfnXmlConstants.stateTermRLKatLangEqual;
|
396
|
}
|
397
|
if(redListStateTerm.equalsIgnoreCase(">") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
|
398
|
return BfnXmlConstants.stateTermRLKatLangGT;
|
399
|
}
|
400
|
if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
|
401
|
return BfnXmlConstants.stateTermRLKatLangQuest;
|
402
|
}
|
403
|
|
404
|
//RL Kurz
|
405
|
char c = 0x2193;
|
406
|
char b = 0x2191;
|
407
|
if(redListStateTerm.equalsIgnoreCase(String.valueOf(c)+String.valueOf(c)+String.valueOf(c)) && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
|
408
|
return BfnXmlConstants.stateTermRLKatKurzDown3;
|
409
|
}
|
410
|
if(redListStateTerm.equalsIgnoreCase(String.valueOf(c)+String.valueOf(c)) && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
|
411
|
return BfnXmlConstants.stateTermRLKatKurzDown2;
|
412
|
}
|
413
|
if(redListStateTerm.equalsIgnoreCase("("+String.valueOf(c)+")") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
|
414
|
return BfnXmlConstants.stateTermRLKatKurzDown1;
|
415
|
}
|
416
|
if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
|
417
|
return BfnXmlConstants.stateTermRLKatKurzEqual;
|
418
|
}
|
419
|
if(redListStateTerm.equalsIgnoreCase(String.valueOf(b)) && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
|
420
|
return BfnXmlConstants.stateTermRLKatKurzUp;
|
421
|
}
|
422
|
if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
|
423
|
return BfnXmlConstants.stateTermRLKatKurzQuest;
|
424
|
}
|
425
|
|
426
|
//RL Risk
|
427
|
if(redListStateTerm.equalsIgnoreCase("-") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RISIKOFAKTOREN)) {
|
428
|
return BfnXmlConstants.stateTermRLKatRiskMinus;
|
429
|
}
|
430
|
if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RISIKOFAKTOREN)) {
|
431
|
return BfnXmlConstants.stateTermRLKatRiskEqual;
|
432
|
}
|
433
|
|
434
|
//RL Resp
|
435
|
if(redListStateTerm.equalsIgnoreCase("!!") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
|
436
|
return BfnXmlConstants.stateTermRLKatRespBang2;
|
437
|
}
|
438
|
if(redListStateTerm.equalsIgnoreCase("!") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
|
439
|
return BfnXmlConstants.stateTermRLKatRespBang1;
|
440
|
}
|
441
|
if(redListStateTerm.equalsIgnoreCase("(!)") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
|
442
|
return BfnXmlConstants.stateTermRLKatRespBang;
|
443
|
}
|
444
|
if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
|
445
|
return BfnXmlConstants.stateTermRLKatRespQuest;
|
446
|
}
|
447
|
if(redListStateTerm.equalsIgnoreCase("nb") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
|
448
|
return BfnXmlConstants.stateTermRLKatRespNb;
|
449
|
}
|
450
|
|
451
|
//RL Kat Old
|
452
|
if(redListStateTerm.equalsIgnoreCase("0") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
|
453
|
return BfnXmlConstants.stateTermRLKatOld0;
|
454
|
}
|
455
|
if(redListStateTerm.equalsIgnoreCase("1") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
|
456
|
return BfnXmlConstants.stateTermRLKatOld1;
|
457
|
}
|
458
|
if(redListStateTerm.equalsIgnoreCase("2") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
|
459
|
return BfnXmlConstants.stateTermRLKatOld2;
|
460
|
}
|
461
|
if(redListStateTerm.equalsIgnoreCase("3") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
|
462
|
return BfnXmlConstants.stateTermRLKatOld3;
|
463
|
}
|
464
|
if(redListStateTerm.equalsIgnoreCase("G") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
|
465
|
return BfnXmlConstants.stateTermRLKatOldG;
|
466
|
}
|
467
|
if(redListStateTerm.equalsIgnoreCase("R") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
|
468
|
return BfnXmlConstants.stateTermRLKatOldR;
|
469
|
}
|
470
|
if(redListStateTerm.equalsIgnoreCase("V") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
|
471
|
return BfnXmlConstants.stateTermRLKatOldV;
|
472
|
}
|
473
|
if(redListStateTerm.equalsIgnoreCase("*") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
|
474
|
return BfnXmlConstants.stateTermRLKatOldStar;
|
475
|
}
|
476
|
if(redListStateTerm.equalsIgnoreCase("**") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
|
477
|
return BfnXmlConstants.stateTermRLKatOldStar2;
|
478
|
}
|
479
|
if(redListStateTerm.equalsIgnoreCase("D") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
|
480
|
return BfnXmlConstants.stateTermRLKatOldD;
|
481
|
}
|
482
|
if(redListStateTerm.equalsIgnoreCase("nb") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
|
483
|
return BfnXmlConstants.stateTermRLKatOldNb;
|
484
|
}
|
485
|
if(redListStateTerm.equalsIgnoreCase("kN") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
|
486
|
return BfnXmlConstants.stateTermRLKatOldKn;
|
487
|
}
|
488
|
|
489
|
//RL Neo
|
490
|
if(redListStateTerm.equalsIgnoreCase("N") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_NEOBIOTA)) {
|
491
|
return BfnXmlConstants.stateTermRLKatNeo;
|
492
|
}
|
493
|
|
494
|
//RL Special
|
495
|
if(redListStateTerm.equalsIgnoreCase("S") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_SONDERFAELLE)) {
|
496
|
return BfnXmlConstants.stateTermRLSpecialS;
|
497
|
}
|
498
|
if(redListStateTerm.equalsIgnoreCase("E") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_SONDERFAELLE)) {
|
499
|
return BfnXmlConstants.stateTermRLSpecialE;
|
500
|
}
|
501
|
if(redListStateTerm.equalsIgnoreCase("D") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_SONDERFAELLE)) {
|
502
|
return BfnXmlConstants.stateTermRLSpecialD;
|
503
|
}
|
504
|
|
505
|
|
506
|
|
507
|
//RL Empty
|
508
|
if(StringUtils.isBlank(redListStateTerm) || redListStateTerm.equalsIgnoreCase("keine Angabe")) {
|
509
|
return BfnXmlConstants.stateTermEmpty;
|
510
|
} else {
|
511
|
throw new UnknownCdmTypeException("Unknown State, could not match: " + redListStateTerm +"\n In Category: " + redListFeature);
|
512
|
}
|
513
|
|
514
|
}
|
515
|
|
516
|
|
517
|
/**
|
518
|
* retrieve german federal States
|
519
|
*
|
520
|
* @param strGermanState
|
521
|
* @return
|
522
|
* @throws UnknownCdmTypeException
|
523
|
*/
|
524
|
public static UUID getGermanStateUUID(String strGermanState) throws UnknownCdmTypeException {
|
525
|
|
526
|
if(strGermanState.equalsIgnoreCase("Deutschland")) {
|
527
|
return UUID.fromString("a7f3855e-d4fa-4313-8fcf-da792ef848e7");
|
528
|
}else if(strGermanState.equalsIgnoreCase("Baden-Württemberg")) {
|
529
|
return UUID.fromString("00e64948-9ce9-4ebf-961b-133c56517b1c");
|
530
|
}else if(strGermanState.equalsIgnoreCase("BW")) {
|
531
|
return UUID.fromString("00e64948-9ce9-4ebf-961b-133c56517b1c");
|
532
|
}else if(strGermanState.equalsIgnoreCase("Bayern")) {
|
533
|
return UUID.fromString("ba075265-368f-4ff0-8942-88546239c70a");
|
534
|
}else if(strGermanState.equalsIgnoreCase("BY")) {
|
535
|
return UUID.fromString("ba075265-368f-4ff0-8942-88546239c70a");
|
536
|
}else if(strGermanState.equalsIgnoreCase("Berlin")) {
|
537
|
return UUID.fromString("d9339e12-7efa-45df-a008-3c934b9386bc");
|
538
|
}else if(strGermanState.equalsIgnoreCase("BE")) {
|
539
|
return UUID.fromString("d9339e12-7efa-45df-a008-3c934b9386bc");
|
540
|
}else if(strGermanState.equalsIgnoreCase("Bremen")) {
|
541
|
return UUID.fromString("a6d2f97d-5dba-4b79-a073-25fb491b6320");
|
542
|
}else if(strGermanState.equalsIgnoreCase("HB")) {
|
543
|
return UUID.fromString("a6d2f97d-5dba-4b79-a073-25fb491b6320");
|
544
|
}else if(strGermanState.equalsIgnoreCase("Brandenburg")) {
|
545
|
return UUID.fromString("dda9d8b8-8090-4667-953e-d8b1f7243926");
|
546
|
}else if(strGermanState.equalsIgnoreCase("BB")) {
|
547
|
return UUID.fromString("dda9d8b8-8090-4667-953e-d8b1f7243926");
|
548
|
}else if(strGermanState.equalsIgnoreCase("Hamburg")) {
|
549
|
return UUID.fromString("f087a7d7-974f-4627-a414-df27c04f99dd");
|
550
|
}else if(strGermanState.equalsIgnoreCase("HH")) {
|
551
|
return UUID.fromString("f087a7d7-974f-4627-a414-df27c04f99dd");
|
552
|
}else if(strGermanState.equalsIgnoreCase("Hessen")) {
|
553
|
return UUID.fromString("59de29e6-bf32-4677-89c7-a6834fcb5085");
|
554
|
}else if(strGermanState.equalsIgnoreCase("HE")) {
|
555
|
return UUID.fromString("59de29e6-bf32-4677-89c7-a6834fcb5085");
|
556
|
}else if(strGermanState.equalsIgnoreCase("Mecklenburg-Vorpommern")) {
|
557
|
return UUID.fromString("06dccbd5-8d5a-4e4f-b56e-d1d74ab25c19");
|
558
|
}else if(strGermanState.equalsIgnoreCase("MV")) {
|
559
|
return UUID.fromString("06dccbd5-8d5a-4e4f-b56e-d1d74ab25c19");
|
560
|
}else if(strGermanState.equalsIgnoreCase("Niedersachsen") || strGermanState.equalsIgnoreCase("NI")) {
|
561
|
return UUID.fromString("97f77fe8-07ab-4e14-8f8b-40e8caf7e653");
|
562
|
}else if(strGermanState.equalsIgnoreCase("Nordrhein-Westfalen")||strGermanState.equalsIgnoreCase("NW")) {
|
563
|
return UUID.fromString("46bf702e-1438-470c-9c77-04202c34ebf2");
|
564
|
}else if(strGermanState.equalsIgnoreCase("Rheinland-Pfalz")||strGermanState.equalsIgnoreCase("RP")) {
|
565
|
return UUID.fromString("dd3ddb29-b1ec-4937-99a9-4a94d383becf");
|
566
|
}else if(strGermanState.equalsIgnoreCase("Saarland")||strGermanState.equalsIgnoreCase("SL")) {
|
567
|
return UUID.fromString("26d3e85f-ce90-43ae-8ac0-42a60302b7b7");
|
568
|
}else if(strGermanState.equalsIgnoreCase("Sachsen")||strGermanState.equalsIgnoreCase("SN")) {
|
569
|
return UUID.fromString("ca3ef152-ee3a-45f2-8343-983cf0fdddbd");
|
570
|
}else if(strGermanState.equalsIgnoreCase("Sachsen-Anhalt")|| strGermanState.equalsIgnoreCase("ST")) {
|
571
|
return UUID.fromString("bb95b9a4-87ee-49bd-a542-4c30289e8d1f");
|
572
|
}else if(strGermanState.equalsIgnoreCase("Schleswig-Holstein")||strGermanState.equalsIgnoreCase("SH")) {
|
573
|
return UUID.fromString("863323a7-22fb-4070-ad94-ce317098a28a");
|
574
|
}else if(strGermanState.equalsIgnoreCase("Thüringen")||strGermanState.equalsIgnoreCase("TH")) {
|
575
|
return UUID.fromString("72e18526-6bf7-4300-8329-53cab5da2b51");
|
576
|
} else {
|
577
|
throw new UnknownCdmTypeException("Unknown State, could not match: " + strGermanState);
|
578
|
}
|
579
|
}
|
580
|
|
581
|
public static UUID getGermanAbsenceTermUUID(String strGermanTerm) throws UnknownCdmTypeException {
|
582
|
if(strGermanTerm.equalsIgnoreCase("abwesend")) {return UUID.fromString("517c4c68-952e-4580-8379-66a4aa12c04b");}
|
583
|
else if(strGermanTerm.equalsIgnoreCase("abwesend - ausgestorben")) {return UUID.fromString("7a620705-7c0d-4c72-863f-f41d548a2cc5");}
|
584
|
else if(strGermanTerm.equalsIgnoreCase("abwesend - frühere Fehleingabe")) {return UUID.fromString("1009264c-197d-43d4-ba16-7a7f0a6fde0c");}
|
585
|
else if(strGermanTerm.equalsIgnoreCase("vorkommend")) {return UUID.fromString("b294e7db-919f-4da0-9ba4-c374e7876aff");}
|
586
|
else if(strGermanTerm.equalsIgnoreCase("vorkommend - in Einbürgerung befindlich")) {return UUID.fromString("ec2f4099-82f7-44de-8892-09651c76d255");}
|
587
|
else if(strGermanTerm.equalsIgnoreCase("vorkommend - etabliert")) {return UUID.fromString("c1954b3c-58b5-43f3-b122-c872b2708bba");}
|
588
|
else if(strGermanTerm.equalsIgnoreCase("vorkommend - kultiviert, domestiziert")) {return UUID.fromString("99ebdb24-fda0-4203-9455-30441cdee17b");}
|
589
|
else if(strGermanTerm.equalsIgnoreCase("vorkommend - unbeständig")) {return UUID.fromString("12566e82-cdc2-48e4-951d-2fb88f30c5fd");}
|
590
|
else if(strGermanTerm.equalsIgnoreCase("vorkommend - Vorkommen unsicher")) {return UUID.fromString("a84d2ddb-fe7b-483b-96ba-fc0884d77c81");}
|
591
|
else if(strGermanTerm.equalsIgnoreCase("vorkommend - unsicher")) {return UUID.fromString("0b144b76-dab6-40da-8511-898f8226a24a");
|
592
|
} else {
|
593
|
throw new UnknownCdmTypeException("Unknown State, could not match: " + strGermanTerm);
|
594
|
}
|
595
|
}
|
596
|
public static UUID getGermanEstablishmentTermUUID(String strGermanTerm) throws UnknownCdmTypeException {
|
597
|
if(strGermanTerm.equalsIgnoreCase("Archaeophyt")) {return UUID.fromString("2cd2bc48-9fcb-4ccd-b03d-bafc0d3dde8c");}
|
598
|
else if(strGermanTerm.equalsIgnoreCase("Indigen")) {return UUID.fromString("20a99907-406a-45f1-aa3e-4768697488e4");}
|
599
|
else if(strGermanTerm.equalsIgnoreCase("Kulturpflanze / domestiziertes Tier")) {return UUID.fromString("94aa6408-f950-4e2e-bded-e01a1be859f6");}
|
600
|
else if(strGermanTerm.equalsIgnoreCase("Neophyt")) {return UUID.fromString("fdf6f1b7-c6ad-4b49-bc6b-b06398f8b1b5");}
|
601
|
else if(strGermanTerm.equalsIgnoreCase("Kultuflüchtling")) {return UUID.fromString("411f9190-56b7-41dd-a31a-3f200619c5e0");
|
602
|
} else {
|
603
|
throw new UnknownCdmTypeException("Unknown State, could not match: " + strGermanTerm);
|
604
|
}
|
605
|
}
|
606
|
|
607
|
|
608
|
/**
|
609
|
* @param strDistributionValue
|
610
|
* @return
|
611
|
*/
|
612
|
public static UUID matchDistributionValue(String strDistributionValue) throws UnknownCdmTypeException {
|
613
|
|
614
|
if(strDistributionValue.equalsIgnoreCase("*")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
|
615
|
else if(strDistributionValue.equalsIgnoreCase("0")){return getGermanAbsenceTermUUID("abwesend - ausgestorben");}
|
616
|
else if(strDistributionValue.equalsIgnoreCase("1")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
|
617
|
else if(strDistributionValue.equalsIgnoreCase("2")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
|
618
|
else if(strDistributionValue.equalsIgnoreCase("3")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
|
619
|
else if(strDistributionValue.equalsIgnoreCase("G")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
|
620
|
else if(strDistributionValue.equalsIgnoreCase("D")){return getGermanAbsenceTermUUID("vorkommend - Vorkommen unsicher");}
|
621
|
else if(strDistributionValue.equalsIgnoreCase("R")){return getGermanAbsenceTermUUID("vorkommend - Vorkommen unsicher");}
|
622
|
else if(strDistributionValue.equalsIgnoreCase("N")){return getGermanAbsenceTermUUID("vorkommend");}
|
623
|
else if(strDistributionValue.equalsIgnoreCase("V")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
|
624
|
else if(strDistributionValue.equalsIgnoreCase("nb")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
|
625
|
else if(strDistributionValue.equalsIgnoreCase("*")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
|
626
|
else if(strDistributionValue.equalsIgnoreCase("#dtpl_SynopseBL_STERN_DP#")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
|
627
|
else if(strDistributionValue.equalsIgnoreCase("#dtpl_SynopseBL_STERN#")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
|
628
|
else if(strDistributionValue.equalsIgnoreCase("#dtpl_SynopseBL_STERN##dtpl_SynopseBL_STERN#")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
|
629
|
else if(strDistributionValue.equalsIgnoreCase("")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
|
630
|
else if(strDistributionValue.equalsIgnoreCase(" ")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
|
631
|
else if(strDistributionValue.equalsIgnoreCase("#dtpl_SynopseBL_NB#")){return getGermanAbsenceTermUUID("vorkommend - etabliert");}
|
632
|
else if(strDistributionValue.equalsIgnoreCase("-")){return getGermanAbsenceTermUUID("vorkommend - Vorkommen unsicher");}
|
633
|
else if(strDistributionValue.equalsIgnoreCase("#dtpl_SynopseBL_X_KLAMMER#")){return getGermanAbsenceTermUUID("vorkommend - Vorkommen unsicher");}
|
634
|
else if(strDistributionValue.equalsIgnoreCase("#dtpl_SynopseBL_X#")){return getGermanAbsenceTermUUID("vorkommend - Vorkommen unsicher");}
|
635
|
else if(strDistributionValue.equalsIgnoreCase("#dtpl_SynopseBL_STRICH#")){return getGermanAbsenceTermUUID("vorkommend - Vorkommen unsicher");}
|
636
|
else if(strDistributionValue.equalsIgnoreCase("+")){return getGermanAbsenceTermUUID("vorkommend - Vorkommen unsicher");}
|
637
|
else if(strDistributionValue.equalsIgnoreCase("°")){return getGermanAbsenceTermUUID("vorkommend - Vorkommen unsicher");}
|
638
|
else if(strDistributionValue.equalsIgnoreCase("G/D")){return getGermanAbsenceTermUUID("vorkommend");}
|
639
|
else if(strDistributionValue.equalsIgnoreCase("R/1")){return getGermanAbsenceTermUUID("vorkommend");}
|
640
|
else if(strDistributionValue.equalsIgnoreCase("?")){return getGermanAbsenceTermUUID("vorkommend - Vorkommen unsicher");}
|
641
|
else if(strDistributionValue.equalsIgnoreCase("#dtpl_SynopseBL_LEER#")){return getGermanAbsenceTermUUID("abwesend");}
|
642
|
else {
|
643
|
throw new UnknownCdmTypeException("Unknown State, could not match: " + strDistributionValue);
|
644
|
}
|
645
|
}
|
646
|
}
|