Project

General

Profile

« Previous | Next » 

Revision 58da7e98

Added by Patrick Plitzner almost 8 years ago

Refactored string constants

View differences:

app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/bfnXml/BfnXmlConstants.java
1
// $Id$
2
/**
3
* Copyright (C) 2016 EDIT
4
* European Distributed Institute of Taxonomy
5
* http://www.e-taxonomy.eu
6
*
7
* The contents of this file are subject to the Mozilla Public License Version 1.1
8
* See LICENSE.TXT at the top of this package for the full license terms.
9
*/
10
package eu.etaxonomy.cdm.io.redlist.bfnXml;
11

  
12
import org.apache.log4j.Logger;
13

  
14
import eu.etaxonomy.cdm.io.redlist.bfnXml.out.DoctronicDocumentBuilder;
15
import eu.etaxonomy.cdm.model.common.Language;
16

  
17
/**
18
 * @author pplitzner
19
 * @date May 3, 2016
20
 *
21
 */
22
public class BfnXmlConstants {
23
    public static final Logger logger = Logger.getLogger(DoctronicDocumentBuilder.class);
24

  
25
    public static final Language defaultLanguage = Language.DEFAULT();
26

  
27
    public static final String NEWLINE = System.getProperty("line.separator");
28

  
29
    public static final String EL_DEB_EXPORT = "DEBExport";
30
    public static final String EL_ROTELISTEDATEN = "ROTELISTEDATEN";
31

  
32
    public static final String EL_EIGENSCHAFTEN = "EIGENSCHAFTEN";
33
    public static final String EL_EIGENSCHAFT = "EIGENSCHAFT";
34
    public static final String ATT_STANDARDNAME = "standardname";
35

  
36
    public static final String EL_METAINFOS = "METAINFOS";
37
    public static final String EL_MWERT = "MWERT";
38
    public static final String ATT_NAME = "name";
39

  
40
    public static final String EL_LISTENWERTE = "LISTENWERTE";
41
    public static final String EL_LWERT = "LWERT";
42
    public static final String ATT_REIHENFOLGE = "reihenfolge";
43

  
44
    public static final String EL_RAUMINFOS = "RAUMINFOS";
45
    public static final String EL_RAUM = "RAUM";
46
    public static final String EL_RAUM_WERT = "RWERT";
47

  
48
    public static final String EL_TAXONYME = "TAXONYME";
49
    public static final String EL_TAXONYM = "TAXONYM";
50
    public static final String ATT_TAXNR = "taxNr";
51

  
52
    public static final String EL_WISSNAME = "WISSNAME";
53
    public static final String EL_NANTEIL = "NANTEIL";
54
    public static final String ATT_BEREICH = "bereich";
55

  
56
    public static final String EL_DEUTSCHENAMEN = "DEUTSCHENAMEN";
57
    public static final String EL_DNAME = "DNAME";
58
    public static final String ATT_SEQUENZ = "sequenz";
59
    public static final String EL_TRIVIALNAME = "TRIVIALNAME";
60
    public static final String EL_GRUPPE = "GRUPPE";
61
    public static final String EL_SPEZIFISCH = "SPEZIFISCH";
62

  
63
    public static final String EL_INFORMATIONEN = "INFORMATIONEN";
64
    public static final String EL_BEZUGSRAUM = "BEZUGSRAUM";
65
    public static final String EL_IWERT = "IWERT";
66
    public static final String EL_WERT = "WERT";
67

  
68
    public static final String EL_KONZEPTBEZIEHUNGEN = "KONZEPTBEZIEHUNGEN";
69
    public static final String EL_KONZEPTBEZIEHUNG = "KONZEPTBEZIEHUNG";
70

  
71
    public static final String RNK_SUPERTRIB = "supertrib";
72

  
73
    public static final String RNK_TRIB = "trib";
74

  
75
    public static final String RNK_SUBTRIB = "subtrib";
76

  
77
    public static final String RNK_INTRATRIB = "intratrib";
78

  
79
    public static final String RNK_SUPERFAM = "superfam";
80

  
81
    public static final String RNK_FAM = "fam";
82

  
83
    public static final String RNK_SUBCL = "subcl";
84

  
85
    public static final String RNK_SPEZIES = "spezies";
86

  
87
    public static final String RNK_SSP = "ssp";
88

  
89
    public static final String RNK_SUBFAM = "subfam";
90

  
91
    public static final String RNK_INFRAFAM = "infrafam";
92

  
93
    public static final String RNK_AUSWERTUNGSGRUPPE = "Auswertungsgruppe";
94

  
95
    public static final String RNK_TAXSUPRAGEN = "taxsupragen";
96

  
97
    public static final String RNK_DOM = "dom";
98

  
99
    public static final String RNK_SUPERREG = "superreg";
100

  
101
    public static final String RNK_REG = "reg";
102

  
103
    public static final String RNK_SUBREG = "subreg";
104

  
105
    public static final String RNK_INFRAREG = "infrareg";
106

  
107
    public static final String RNK_SUPERPHYL_DIV = "superphyl_div";
108

  
109
    public static final String RNK_PHYL_DIV = "phyl_div";
110

  
111
    public static final String RNK_SUBPHYL_DIV = "subphyl_div";
112

  
113
    public static final String RNK_INFRAPHYL_DIV = "infraphyl_div";
114

  
115
    public static final String RNK_SUPERCL = "supercl";
116

  
117
    public static final String RNK_CL = "cl";
118

  
119
    public static final String RNK_INFRACL = "infracl";
120

  
121
    public static final String RNK_SUPERORD = "superord";
122

  
123
    public static final String RNK_ORD = "ord";
124

  
125
    public static final String RNK_INFRAORD = "infraord";
126

  
127
    public static final String RNK_INFRASP = "infrasp";
128

  
129
    public static final String RNK_VAR_DOT = "var.";
130

  
131
    public static final String RNK_VAR = "var";
132

  
133
    public static final String RNK_SUBVAR = "subvar";
134

  
135
    public static final String RNK_SUBSUBVAR = "subsubvar";
136

  
137
    public static final String RNK_F = "f.";
138

  
139
    public static final String RNK_FM = "fm";
140

  
141
    public static final String RNK_SUBFM = "subfm";
142

  
143
    public static final String RNK_SUBSUBFM = "subsubfm";
144

  
145
    public static final String RNK_FSP = "fsp";
146

  
147
    public static final String RNK_TAXINFRASP = "taxinfrasp";
148

  
149
    public static final String RNK_CAND = "cand";
150

  
151
    public static final String RNK_SP = "sp";
152

  
153
    public static final String RNK_SUBSP = "subsp";
154

  
155
    public static final String RNK_SUBSP_DOT = "subsp.";
156

  
157
    public static final String RNK_SUBSP_AGGR = "subsp_aggr";
158

  
159
    public static final String RNK_SECT = "sect";
160

  
161
    public static final String RNK_SUBSECT = "subsect";
162

  
163
    public static final String RNK_SER = "ser";
164

  
165
    public static final String RNK_SUBSER = "subser";
166

  
167
    public static final String RNK_TAXINFRAGEN = "taxinfragen";
168

  
169
    public static final String RNK_AGG = "agg.";
170

  
171
    public static final String RNK_AGGR = "aggr";
172

  
173
    public static final String RNK_GEN = "gen";
174

  
175
    public static final String RNK_SUBGEN = "subgen";
176

  
177
    public static final String RNK_INFRAGEN = "infragen";
178

  
179
    public static final String VOC_BUNDESLAENDER = "Bundesländer";
180

  
181
    public static final String VOC_ETABLIERUNGSSTATUS = "Etablierungsstatus";
182

  
183
    public static final String VOC_VORKOMMENSSTATUS = "Vorkommensstatus";
184

  
185
    public static final String VOC_SONDERFAELLE = "Sonderfälle";
186

  
187
    public static final String VOC_EINDEUTIGER_CODE = "Eindeutiger Code";
188

  
189
    public static final String VOC_NEOBIOTA = "Neobiota";
190

  
191
    public static final String VOC_ALTE_RL_KAT = "alte RL- Kat.";
192

  
193
    public static final String VOC_VERANTWORTLICHKEIT = "Verantwortlichkeit";
194

  
195
    public static final String VOC_RISIKOFAKTOREN = "Risikofaktoren";
196

  
197
    public static final String VOC_KURZFRISTIGER_BESTANDSTREND = "kurzfristiger Bestandstrend";
198

  
199
    public static final String VOC_LANGFRISTIGER_BESTANDSTREND = "langfristiger Bestandstrend";
200

  
201
    public static final String VOC_AKTUELLE_BESTANDSSTITUATION = "aktuelle Bestandsstituation";
202

  
203
    public static final String VOC_KAT = "Kat. +/-";
204

  
205
    public static final String VOC_RL_KAT = "RL Kat.";
206
}
app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/bfnXml/in/BfnXmlImportFeature.java
24 24
import eu.etaxonomy.cdm.common.ResultWrapper;
25 25
import eu.etaxonomy.cdm.common.XmlHelp;
26 26
import eu.etaxonomy.cdm.io.common.ICdmIO;
27
import eu.etaxonomy.cdm.io.redlist.bfnXml.BfnXmlConstants;
27 28
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
28 29
import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;
29 30
import eu.etaxonomy.cdm.model.common.TermType;
......
88 89
			if(object instanceof Element){
89 90
				currentElement = (Element)object;
90 91

  
91
				if(currentElement.getName().equalsIgnoreCase("ROTELISTEDATEN")){
92
				if(currentElement.getName().equalsIgnoreCase(BfnXmlConstants.EL_ROTELISTEDATEN)){
92 93

  
93 94
					TransactionStatus tx = startTransaction();
94 95

  
95
					childName = "EIGENSCHAFTEN";
96
					childName = BfnXmlConstants.EL_EIGENSCHAFTEN;
96 97
					obligatory = false;
97 98
					Element elFeatureNames = XmlHelp.getSingleChildElement(success, currentElement, childName, bfnNamespace, obligatory);
98 99

  
99
					String bfnElementName = "EIGENSCHAFT";
100
					String bfnElementName = BfnXmlConstants.EL_EIGENSCHAFT;
100 101
					List<Element> elFeatureList = elFeatureNames.getChildren(bfnElementName, bfnNamespace);
101 102
					List<Feature> featureList = new ArrayList<Feature>();
102 103
					//for each taxonName
103 104
					for (Element elFeature : elFeatureList){
104 105

  
105
						if(elFeature.getAttributeValue("standardname", bfnNamespace).equalsIgnoreCase("RL Kat.")){
106
						if(elFeature.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME, bfnNamespace).equalsIgnoreCase("RL Kat.")){
106 107
							makeFeature(vocabularyService, featureList,success, obligatory, bfnNamespace,elFeature, state);
107 108
						}
108 109
						String featureLabel = "Kat. +/-";
109
						if(elFeature.getAttributeValue("standardname").equalsIgnoreCase(featureLabel)){
110
						if(elFeature.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase(featureLabel)){
110 111
							makeFeature(vocabularyService, featureList,success, obligatory, bfnNamespace,elFeature, state);
111 112
						}else
112
						if(elFeature.getAttributeValue("standardname").equalsIgnoreCase("aktuelle Bestandsstituation")){
113
						if(elFeature.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("aktuelle Bestandsstituation")){
113 114
							makeFeature(vocabularyService, featureList,success, obligatory, bfnNamespace,elFeature, state);
114 115
						}else
115
						if(elFeature.getAttributeValue("standardname").equalsIgnoreCase("langfristiger Bestandstrend")){
116
						if(elFeature.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("langfristiger Bestandstrend")){
116 117
							makeFeature(vocabularyService, featureList,success, obligatory, bfnNamespace,elFeature, state);
117 118
						}else
118
						if(elFeature.getAttributeValue("standardname").equalsIgnoreCase("kurzfristiger Bestandstrend")){
119
						if(elFeature.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("kurzfristiger Bestandstrend")){
119 120
							makeFeature(vocabularyService, featureList,success, obligatory, bfnNamespace,elFeature, state);
120 121
						}else
121
						if(elFeature.getAttributeValue("standardname").equalsIgnoreCase("Risikofaktoren")){
122
						if(elFeature.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Risikofaktoren")){
122 123
						    makeFeature(vocabularyService, featureList,success, obligatory, bfnNamespace,elFeature, state);
123 124
						}else
124
						if(elFeature.getAttributeValue("standardname").equalsIgnoreCase("Verantwortlichkeit")){
125
						if(elFeature.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Verantwortlichkeit")){
125 126
							makeFeature(vocabularyService, featureList,success, obligatory, bfnNamespace,elFeature, state);
126 127
						}else
127
						if(elFeature.getAttributeValue("standardname").equalsIgnoreCase("alte RL- Kat.")){
128
						if(elFeature.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("alte RL- Kat.")){
128 129
							makeFeature(vocabularyService, featureList,success, obligatory, bfnNamespace,elFeature, state);
129 130
						}else
130
						if(elFeature.getAttributeValue("standardname").equalsIgnoreCase("Neobiota")){
131
						if(elFeature.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Neobiota")){
131 132
							makeFeature(vocabularyService, featureList,success, obligatory, bfnNamespace,elFeature, state);
132 133
						}else
133
						if(elFeature.getAttributeValue("standardname").equalsIgnoreCase("Eindeutiger Code")){
134
						if(elFeature.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Eindeutiger Code")){
134 135
							makeFeature(vocabularyService, featureList,success, obligatory, bfnNamespace,elFeature, state);
135 136
						}else
136
						if(elFeature.getAttributeValue("standardname").equalsIgnoreCase("Kommentar zur Taxonomie")){
137
						if(elFeature.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Kommentar zur Taxonomie")){
137 138
							makeFeature(vocabularyService, featureList,success, obligatory, bfnNamespace,elFeature, state);
138 139
						}else
139
						if(elFeature.getAttributeValue("standardname").equalsIgnoreCase("Kommentar zur Gefährdung")){
140
						if(elFeature.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Kommentar zur Gefährdung")){
140 141
							makeFeature(vocabularyService, featureList,success, obligatory, bfnNamespace,elFeature, state);
141 142
						}else
142
						if(elFeature.getAttributeValue("standardname").equalsIgnoreCase("Sonderfälle")){
143
						if(elFeature.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Sonderfälle")){
143 144
							makeFeature(vocabularyService, featureList,success, obligatory, bfnNamespace,elFeature, state);
144 145
						}else
145
						if(elFeature.getAttributeValue("standardname").equalsIgnoreCase("Letzter Nachweis")){
146
						if(elFeature.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Letzter Nachweis")){
146 147
							makeFeature(vocabularyService, featureList,success, obligatory, bfnNamespace,elFeature, state);
147 148
						}else
148
						if(elFeature.getAttributeValue("standardname").equalsIgnoreCase("Weitere Kommentare")){
149
						if(elFeature.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Weitere Kommentare")){
149 150
							makeFeature(vocabularyService, featureList,success, obligatory, bfnNamespace,elFeature, state);
150 151
						}
151 152
					}
......
190 191
			ResultWrapper<Boolean> success, boolean obligatory,
191 192
			Namespace bfnNamespace, Element elFeature, BfnXmlImportState state) {
192 193
		String childName;
193
		String strRlKat = elFeature.getAttributeValue("standardname");
194
		String strRlKat = elFeature.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME);
194 195
		UUID featureUUID = null;
195 196
		try {
196 197
			featureUUID = BfnXmlTransformer.getRedlistFeatureUUID(strRlKat);
......
202 203
		//TODO implement German, but currently titleCache generation does not yet work correctly with another language
203 204
//		redListCat.getRepresentation(Language.DEFAULT()).setLanguage(Language.GERMAN());
204 205
		featureList.add(redListCat);
205
		childName = "LISTENWERTE";
206
		childName = BfnXmlConstants.EL_LISTENWERTE;
206 207
		Element elListValues = XmlHelp.getSingleChildElement(success, elFeature, childName, bfnNamespace, obligatory);
207 208
		if(elListValues != null && !elListValues.getContent().isEmpty()){
208
			String childElementName = "LWERT";
209
			String childElementName = BfnXmlConstants.EL_LWERT;
209 210
			createOrUpdateStates(bfnNamespace, elListValues, childElementName, redListCat, state);
210 211
		}
211 212
		createOrUpdateTermVocabulary(TermType.Feature, vocabularyService, redListCat, "RedList Feature");
app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/bfnXml/in/BfnXmlImportMetaData.java
19 19

  
20 20
import eu.etaxonomy.cdm.common.ResultWrapper;
21 21
import eu.etaxonomy.cdm.io.common.ICdmIO;
22
import eu.etaxonomy.cdm.io.redlist.bfnXml.BfnXmlConstants;
22 23
import eu.etaxonomy.cdm.model.common.TimePeriod;
23 24
import eu.etaxonomy.cdm.model.reference.Reference;
24 25
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
......
60 61
		Element elDataSet = getDataSetElement(config);
61 62
		Namespace bfnNamespace = config.getBfnXmlNamespace();
62 63
		//create complete source object
63
		if(elDataSet.getName().equalsIgnoreCase("DEBExport")){
64
		if(elDataSet.getName().equalsIgnoreCase(BfnXmlConstants.EL_DEB_EXPORT)){
64 65
			sourceFileName = elDataSet.getAttributeValue("source");
65 66
			debVersion = elDataSet.getAttributeValue("debversion");
66 67
			timeStamp = elDataSet.getAttributeValue("timestamp");
......
88 89
                    List<Element> elMetaDataList  = currentElement.getChildren();
89 90
					//for each taxonName
90 91
					for (Element elMetaData : elMetaDataList){
91
						if( elMetaData.getAttributeValue("standardname").equalsIgnoreCase("KurzLit_A")){
92
						if( elMetaData.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("KurzLit_A")){
92 93
							@SuppressWarnings("unchecked")
93 94
                            List<Element> children = elMetaData.getChildren();
94 95
							String kurzlitA = children.get(0).getTextNormalize();
......
97 98
							state.setFirstListSecRef(sourceReference);
98 99

  
99 100
						}
100
						else if( elMetaData.getAttributeValue("standardname").equalsIgnoreCase("Klassifikation_A")){
101
						else if( elMetaData.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Klassifikation_A")){
101 102
							@SuppressWarnings("unchecked")
102 103
                            List<Element> children = elMetaData.getChildren();
103 104
							String klassifikation_A = children.get(0).getTextNormalize();
104 105
							state.setFirstClassificationName(klassifikation_A);
105 106

  
106 107
						}
107
						else if( elMetaData.getAttributeValue("standardname").equalsIgnoreCase("KurzLit_B")){
108
						else if( elMetaData.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("KurzLit_B")){
108 109
							@SuppressWarnings("unchecked")
109 110
                            List<Element> children = elMetaData.getChildren();
110 111
							String kurzlitB = children.get(0).getTextNormalize();
......
112 113
							sourceReference.setTitle(kurzlitB);
113 114
							state.setSecondListSecRef(sourceReference);
114 115
						}
115
						else if( elMetaData.getAttributeValue("standardname").equalsIgnoreCase("Klassifikation_B")){
116
						else if( elMetaData.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Klassifikation_B")){
116 117
							@SuppressWarnings("unchecked")
117 118
                            List<Element> children = elMetaData.getChildren();
118 119
							String klassifikation_B = children.get(0).getTextNormalize();
app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/bfnXml/in/BfnXmlImportTaxonName.java
27 27
import eu.etaxonomy.cdm.api.service.ITaxonService;
28 28
import eu.etaxonomy.cdm.common.ResultWrapper;
29 29
import eu.etaxonomy.cdm.common.XmlHelp;
30
import eu.etaxonomy.cdm.io.redlist.bfnXml.BfnXmlConstants;
30 31
import eu.etaxonomy.cdm.model.common.CdmBase;
31 32
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
32 33
import eu.etaxonomy.cdm.model.common.Language;
......
99 100
			if(object instanceof Element){
100 101
				currentElement = (Element)object;
101 102
				//import taxon lists
102
				if(currentElement.getName().equalsIgnoreCase("ROTELISTEDATEN")){
103
				if(currentElement.getName().equalsIgnoreCase(BfnXmlConstants.EL_ROTELISTEDATEN)){
103 104
					TransactionStatus tx = startTransaction();
104 105
					Map<UUID, TaxonBase> savedTaxonMap = extractTaxonNames(state, taxonService, config, currentElement, bfnNamespace);
105 106
					createOrUpdateClassification(config, taxonService, savedTaxonMap, currentElement, state);
106 107
					commitTransaction(tx);
107 108
				}//import concept relations of taxon lists
108 109
				if(config.isHasSecondList()){
109
					if(currentElement.getName().equalsIgnoreCase("KONZEPTBEZIEHUNGEN")){
110
					if(currentElement.getName().equalsIgnoreCase(BfnXmlConstants.EL_KONZEPTBEZIEHUNGEN)){
110 111
						TransactionStatus tx = startTransaction();
111 112
						extractTaxonConceptRelationShips(bfnNamespace,currentElement);
112 113
						commitTransaction(tx);
......
125 126
	 */
126 127
	private void extractTaxonConceptRelationShips(Namespace bfnNamespace, Element currentElement) {
127 128
		String childName;
128
		String bfnElementName = "KONZEPTBEZIEHUNG";
129
		String bfnElementName = BfnXmlConstants.EL_KONZEPTBEZIEHUNG;
129 130
		ResultWrapper<Boolean> success = ResultWrapper.NewInstance(true);
130 131
		List<Element> elConceptList = currentElement.getChildren(bfnElementName, bfnNamespace);
131 132
		List<TaxonBase> updatedTaxonList = new ArrayList<TaxonBase>();
......
133 134

  
134 135
			childName = "TAXONYM1";
135 136
			Element elTaxon1 = XmlHelp.getSingleChildElement(success, element, childName, bfnNamespace, false);
136
			String taxNr1 = elTaxon1.getAttributeValue("taxNr");
137
			String taxNr1 = elTaxon1.getAttributeValue(BfnXmlConstants.ATT_TAXNR);
137 138
			int int1 = Integer.parseInt(taxNr1);
138 139
			Taxon taxon1 = firstList.get(int1);
139 140
			TaxonBase<?> taxonBase1 = getTaxonService().load(taxon1.getUuid());
......
141 142

  
142 143
			childName = "TAXONYM2";
143 144
			Element elTaxon2 = XmlHelp.getSingleChildElement(success, element, childName, bfnNamespace, false);
144
			String taxNr2 = elTaxon2.getAttributeValue("taxNr");
145
			String taxNr2 = elTaxon2.getAttributeValue(BfnXmlConstants.ATT_TAXNR);
145 146
			int int2 = Integer.parseInt(taxNr2);
146 147
			Taxon taxon2 = secondList.get(int2);
147 148
			TaxonBase<?> taxonBase2 = getTaxonService().load(taxon2.getUuid());
......
212 213
		boolean obligatory;
213 214
		String idNamespace = "TaxonName";
214 215

  
215
		childName = "TAXONYME";
216
		childName = BfnXmlConstants.EL_TAXONYME;
216 217
		obligatory = false;
217 218
		Element elTaxonNames = XmlHelp.getSingleChildElement(success, elDataSet, childName, bfnNamespace, obligatory);
218 219

  
219
		String bfnElementName = "TAXONYM";
220
		String bfnElementName = BfnXmlConstants.EL_TAXONYM;
220 221
		List<Element> elTaxonList = elTaxonNames.getChildren(bfnElementName, bfnNamespace);
221 222

  
222 223
		//for each taxonName
223 224
		for (Element elTaxon : elTaxonList){
224 225
			//create Taxon
225
			String taxonId = elTaxon.getAttributeValue("taxNr");
226
			childName = "WISSNAME";
226
			String taxonId = elTaxon.getAttributeValue(BfnXmlConstants.ATT_TAXNR);
227
			childName = BfnXmlConstants.EL_WISSNAME;
227 228
			Element elWissName = XmlHelp.getSingleChildElement(success, elTaxon, childName, bfnNamespace, obligatory);
228
			String childElementName = "NANTEIL";
229
			String childElementName = BfnXmlConstants.EL_NANTEIL;
229 230
			Taxon taxon = createOrUpdateTaxon(success, idNamespace, config, bfnNamespace, elWissName, childElementName, state);
230 231

  
231 232
			//for each synonym
......
236 237
				createOrUpdateSynonym(taxon, success, obligatory, bfnNamespace, childElementName,elSynonyms, taxonId, state);
237 238
			}
238 239
			//for vernacular name
239
			childName = "DEUTSCHENAMEN";
240
			childName = BfnXmlConstants.EL_DEUTSCHENAMEN;
240 241
			Element elVernacularName = XmlHelp.getSingleChildElement(success, elTaxon, childName, bfnNamespace, obligatory);
241 242
			if(elVernacularName != null){
242
				childElementName = "DNAME";
243
				childElementName = BfnXmlConstants.EL_DNAME;
243 244
				createOrUpdateVernacularName(taxon, bfnNamespace, childElementName, elVernacularName, state);
244 245
			}
245 246
			//for each information concerning the taxon element
246 247
			//TODO Information block
247 248
			if(config.isDoInformationImport()){
248
				childName = "INFORMATIONEN";
249
				childName = BfnXmlConstants.EL_INFORMATIONEN;
249 250
				Element elInformations = XmlHelp.getSingleChildElement(success, elTaxon, childName, bfnNamespace, obligatory);
250 251
				if(elInformations != null){
251
					childElementName = "BEZUGSRAUM";
252
					childElementName = BfnXmlConstants.EL_BEZUGSRAUM;
252 253
					createOrUpdateInformation(taxon, bfnNamespace, childElementName,elInformations, state);
253 254
				}
254 255
			}
......
357 358
//		Long uniqueID = null;
358 359
		for(Element elWissName:elWissNameList){
359 360

  
360
			if(elWissName.getAttributeValue("bereich", bfnNamespace).equalsIgnoreCase("Eindeutiger Code")){
361
				uriNameSpace = elWissName.getAttributeValue("bereich");
361
			if(elWissName.getAttributeValue(BfnXmlConstants.ATT_BEREICH, bfnNamespace).equalsIgnoreCase("Eindeutiger Code")){
362
				uriNameSpace = elWissName.getAttributeValue(BfnXmlConstants.ATT_BEREICH);
362 363
				String textNormalize = elWissName.getTextNormalize();
363 364
				if(StringUtils.isBlank(textNormalize)){
364 365
					uniqueID = "";
......
366 367
					uniqueID = textNormalize;
367 368
				}
368 369
			}
369
			if(elWissName.getAttributeValue("bereich", bfnNamespace).equalsIgnoreCase("Autoren")){
370
			if(elWissName.getAttributeValue(BfnXmlConstants.ATT_BEREICH, bfnNamespace).equalsIgnoreCase("Autoren")){
370 371
				strAuthor = elWissName.getTextNormalize();
371 372
			}
372
			if(elWissName.getAttributeValue("bereich", bfnNamespace).equalsIgnoreCase("Rang")){
373
			if(elWissName.getAttributeValue(BfnXmlConstants.ATT_BEREICH, bfnNamespace).equalsIgnoreCase("Rang")){
373 374
				String strRank = elWissName.getTextNormalize();
374 375
				rank = makeRank(strRank);
375 376
			}
376
			if(elWissName.getAttributeValue("bereich", bfnNamespace).equalsIgnoreCase("Zusätze")){
377
			if(elWissName.getAttributeValue(BfnXmlConstants.ATT_BEREICH, bfnNamespace).equalsIgnoreCase("Zusätze")){
377 378
				strSupplement = elWissName.getTextNormalize();
378 379
			}
379
			if(elWissName.getAttributeValue("bereich", bfnNamespace).equalsIgnoreCase("wissName")){
380
			if(elWissName.getAttributeValue(BfnXmlConstants.ATT_BEREICH, bfnNamespace).equalsIgnoreCase("wissName")){
380 381
				try{
381 382
					TaxonNameBase<?, ?> nameBase = parseNonviralNames(rank,strAuthor,strSupplement,elWissName);
382 383
					if(nameBase.isProtectedTitleCache() == true){
......
453 454
			Rank rank = null;
454 455
			String strAuthor = null;
455 456
			String strSupplement = null;
456
			childName = "WISSNAME";
457
			childName = BfnXmlConstants.EL_WISSNAME;
457 458
			Element elSynScientificName = XmlHelp.getSingleChildElement(success, elSyn, childName, bfnNamespace, obligatory);
458 459

  
459
			childElementName = "NANTEIL";
460
			childElementName = BfnXmlConstants.EL_NANTEIL;
460 461
			List<Element> elSynDetails = elSynScientificName.getChildren(childElementName, bfnNamespace);
461 462

  
462 463
			for(Element elSynDetail:elSynDetails){
463
				if(elSynDetail.getAttributeValue("bereich").equalsIgnoreCase("Rang")){
464
				if(elSynDetail.getAttributeValue(BfnXmlConstants.ATT_BEREICH).equalsIgnoreCase("Rang")){
464 465
					String strRank = elSynDetail.getTextNormalize();
465 466
					rank = makeRank(strRank);
466 467
				}
467
				if(elSynDetail.getAttributeValue("bereich").equalsIgnoreCase("Autoren")){
468
				if(elSynDetail.getAttributeValue(BfnXmlConstants.ATT_BEREICH).equalsIgnoreCase("Autoren")){
468 469
					strAuthor = elSynDetail.getTextNormalize();
469 470
				}
470
				if(elSynDetail.getAttributeValue("bereich", bfnNamespace).equalsIgnoreCase("Zusätze")){
471
				if(elSynDetail.getAttributeValue(BfnXmlConstants.ATT_BEREICH, bfnNamespace).equalsIgnoreCase("Zusätze")){
471 472
					strSupplement = elSynDetail.getTextNormalize();
472 473
				}
473
				if(elSynDetail.getAttributeValue("bereich").equalsIgnoreCase("wissName")){
474
				if(elSynDetail.getAttributeValue(BfnXmlConstants.ATT_BEREICH).equalsIgnoreCase("wissName")){
474 475
					try{
475 476
						TaxonNameBase<?, ?> nameBase = parseNonviralNames(rank,strAuthor,strSupplement,elSynDetail);
476 477

  
......
536 537
		for(Element elInfo:elInformationList){
537 538
			//check if geographical scope is Bund and import only these information for now
538 539
			//TODO create several taxon descriptions for different geographical scope
539
			if(elInfo.getName().equalsIgnoreCase("BEZUGSRAUM") && elInfo.getAttributeValue("name").equalsIgnoreCase("Bund")){
540
				childElementName = "IWERT";
540
			if(elInfo.getName().equalsIgnoreCase(BfnXmlConstants.EL_BEZUGSRAUM) && elInfo.getAttributeValue("name").equalsIgnoreCase("Bund")){
541
				childElementName = BfnXmlConstants.EL_IWERT;
541 542
				TaxonDescription taxonDescription = getTaxonDescription(taxon, false, true);
542 543
				UUID germanStateUUID;
543 544
				try {
......
552 553
				List<Element> elInfoDetailList = elInfo.getChildren(childElementName, bfnNamespace);
553 554

  
554 555
				for(Element elInfoDetail : elInfoDetailList){
555
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("RL Kat.")){
556
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("RL Kat.")){
556 557
						makeFeatures(taxonDescription, elInfoDetail, state, false);
557 558
					}
558
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("Kat. +/-")){
559
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Kat. +/-")){
559 560
						makeFeatures(taxonDescription, elInfoDetail, state, false);
560 561
					}
561
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("aktuelle Bestandsstituation")){
562
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("aktuelle Bestandsstituation")){
562 563
						makeFeatures(taxonDescription, elInfoDetail, state, false);
563 564
					}
564
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("langfristiger Bestandstrend")){
565
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("langfristiger Bestandstrend")){
565 566
						makeFeatures(taxonDescription, elInfoDetail, state, false);
566 567
					}
567
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("kurzfristiger Bestandstrend")){
568
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("kurzfristiger Bestandstrend")){
568 569
						makeFeatures(taxonDescription, elInfoDetail, state, false);
569 570
					}
570
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("Risikofaktoren")){
571
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Risikofaktoren")){
571 572
						makeFeatures(taxonDescription, elInfoDetail, state, false);
572 573
					}
573
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("Verantwortlichkeit")){
574
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Verantwortlichkeit")){
574 575
						makeFeatures(taxonDescription, elInfoDetail, state, false);
575 576
					}
576
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("alte RL- Kat.")){
577
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("alte RL- Kat.")){
577 578
						makeFeatures(taxonDescription, elInfoDetail, state, false);
578 579
					}
579
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("Neobiota")){
580
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Neobiota")){
580 581
						makeFeatures(taxonDescription, elInfoDetail, state, false);
581 582
					}
582
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("Eindeutiger Code")){
583
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Eindeutiger Code")){
583 584
						makeFeatures(taxonDescription, elInfoDetail, state, false);
584 585
					}
585
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("Kommentar zur Taxonomie")){
586
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Kommentar zur Taxonomie")){
586 587
						makeFeatures(taxonDescription, elInfoDetail, state, true);
587 588
					}
588
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("Kommentar zur Gefährdung")){
589
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Kommentar zur Gefährdung")){
589 590
						makeFeatures(taxonDescription, elInfoDetail, state, true);
590 591
					}
591
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("Sonderfälle")){
592
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Sonderfälle")){
592 593
						makeFeatures(taxonDescription, elInfoDetail, state, false);
593 594
					}
594
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("Letzter Nachweis")){
595
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Letzter Nachweis")){
595 596
						makeFeatures(taxonDescription, elInfoDetail, state, true);
596 597
					}
597
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("Weitere Kommentare")){
598
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("Weitere Kommentare")){
598 599
						makeFeatures(taxonDescription, elInfoDetail, state, true);
599 600
					}
600 601
					//create german federal states distribution status
601
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("BW")){
602
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("BW")){
602 603
                        createGermanDistributionStatus(taxon, elInfoDetail, state, taxonDescription);
603 604
                    }
604 605
					//create german federal states distribution status
605
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("BY")){
606
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("BY")){
606 607
					    createGermanDistributionStatus(taxon, elInfoDetail, state, taxonDescription);
607 608
					}
608 609
					//create german federal states distribution status
609
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("BE")){
610
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("BE")){
610 611
					    createGermanDistributionStatus(taxon, elInfoDetail, state, taxonDescription);
611 612
					}
612 613
					//create german federal states distribution status
613
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("BB")){
614
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("BB")){
614 615
					    createGermanDistributionStatus(taxon, elInfoDetail, state, taxonDescription);
615 616
					}
616 617
					//create german federal states distribution status
617
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("HB")){
618
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("HB")){
618 619
					    createGermanDistributionStatus(taxon, elInfoDetail, state, taxonDescription);
619 620
					}
620 621
					//create german federal states distribution status
621
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("HH")){
622
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("HH")){
622 623
					    createGermanDistributionStatus(taxon, elInfoDetail, state, taxonDescription);
623 624
					}
624 625
					//create german federal states distribution status
625
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("HE")){
626
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("HE")){
626 627
					    createGermanDistributionStatus(taxon, elInfoDetail, state, taxonDescription);
627 628
					}
628 629
					//create german federal states distribution status
629
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("MV")){
630
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("MV")){
630 631
					    createGermanDistributionStatus(taxon, elInfoDetail, state, taxonDescription);
631 632
					}
632 633
					//create german federal states distribution status
633
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("NI")){
634
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("NI")){
634 635
					    createGermanDistributionStatus(taxon, elInfoDetail, state, taxonDescription);
635 636
					}
636 637
					//create german federal states distribution status
637
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("NW")){
638
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("NW")){
638 639
					    createGermanDistributionStatus(taxon, elInfoDetail, state, taxonDescription);
639 640
					}
640 641
					//create german federal states distribution status
641
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("RP")){
642
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("RP")){
642 643
					    createGermanDistributionStatus(taxon, elInfoDetail, state, taxonDescription);
643 644
					}
644 645
					//create german federal states distribution status
645
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("SL")){
646
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("SL")){
646 647
					    createGermanDistributionStatus(taxon, elInfoDetail, state, taxonDescription);
647 648
					}
648 649
					//create german federal states distribution status
649
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("SN")){
650
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("SN")){
650 651
					    createGermanDistributionStatus(taxon, elInfoDetail, state, taxonDescription);
651 652
					}
652 653
					//create german federal states distribution status
653
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("ST")){
654
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("ST")){
654 655
					    createGermanDistributionStatus(taxon, elInfoDetail, state, taxonDescription);
655 656
					}
656 657
					//create german federal states distribution status
657
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("SH")){
658
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("SH")){
658 659
					    createGermanDistributionStatus(taxon, elInfoDetail, state, taxonDescription);
659 660
					}
660 661
					//create german federal states distribution status
661
					if(elInfoDetail.getAttributeValue("standardname").equalsIgnoreCase("TH")){
662
					if(elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME).equalsIgnoreCase("TH")){
662 663
					    createGermanDistributionStatus(taxon, elInfoDetail, state, taxonDescription);
663 664
					}
664 665
				}
......
692 693
		String transformedRlKatValue = null;
693 694
		UUID featureUUID = null;
694 695
		UUID stateTermUUID = null;
695
		String strRlKatValue = elInfoDetail.getChild("WERT").getValue();
696
		String strRlKat = elInfoDetail.getAttributeValue("standardname");
696
		String strRlKatValue = elInfoDetail.getChild(BfnXmlConstants.EL_WERT).getValue();
697
		String strRlKat = elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME);
697 698
		boolean randomStateUUID = false;
698 699
		try {
699 700
			featureUUID = BfnXmlTransformer.getRedlistFeatureUUID(strRlKat);
......
833 834
    private void createGermanDistributionStatus(Taxon taxon, Element elInfoDetail, BfnXmlImportState state,
834 835
            TaxonDescription taxonDescription){
835 836

  
836
        String strDistributionValue = elInfoDetail.getChild("WERT").getValue();
837
        String strGermanState = elInfoDetail.getAttributeValue("standardname");
837
        String strDistributionValue = elInfoDetail.getChild(BfnXmlConstants.EL_WERT).getValue();
838
        String strGermanState = elInfoDetail.getAttributeValue(BfnXmlConstants.ATT_STANDARDNAME);
838 839
        //match DistributionValue
839 840
        UUID matchedDistributionUUID = null;
840 841
        PresenceAbsenceTerm status = null;
app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/bfnXml/in/BfnXmlTransformer.java
14 14
import org.apache.commons.lang.StringUtils;
15 15
import org.apache.log4j.Logger;
16 16

  
17
import eu.etaxonomy.cdm.io.redlist.bfnXml.BfnXmlConstants;
17 18
import eu.etaxonomy.cdm.model.name.Rank;
18 19
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
19 20
import eu.etaxonomy.cdm.strategy.exceptions.UnknownCdmTypeException;
......
26 27
//import eu.etaxonomy.cdm.model.reference.WebPage;
27 28

  
28 29
public final class BfnXmlTransformer {
29
	@SuppressWarnings("unused")
30
    @SuppressWarnings("unused")
30 31
	private static final Logger logger = Logger.getLogger(BfnXmlTransformer.class);
31 32

  
32 33
	//redList state Vocabularies
......
185 186
	public static Rank rankCode2Rank (String strRank) throws UnknownCdmTypeException{
186 187
		if (strRank == null){return null;
187 188
		//genus group
188
		}else if (strRank.equals("infragen")){return Rank.INFRAGENUS();
189
		}else if (strRank.equals("subgen")){return Rank.SUBGENUS();
190
		}else if (strRank.equals("gen")){return Rank.GENUS();
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();
191 192
		//genus subdivision
192 193
		//TODO
193
		}else if (strRank.equals("aggr")){return Rank.SPECIESAGGREGATE();
194
		}else if (strRank.equals("agg.")){return Rank.SPECIESAGGREGATE();
195
		}else if (strRank.equals("taxinfragen")){return Rank.INFRAGENERICTAXON();
196
		}else if (strRank.equals("subser")){return Rank.SUBSERIES();
197
		}else if (strRank.equals("ser")){return Rank.SERIES();
198
		}else if (strRank.equals("subsect")){return Rank.SUBSECTION_BOTANY();
199
		}else if (strRank.equals("sect")){return Rank.SECTION_BOTANY();
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();
200 201
		//species group
201
		}else if (strRank.equals("subsp_aggr")){return Rank.SUBSPECIFICAGGREGATE();
202
		}else if (strRank.equals("ssp")){return Rank.SUBSPECIES();
203
		}else if (strRank.equals("subsp.")){return Rank.SUBSPECIES();
204
		}else if (strRank.equals("subsp")){return Rank.SUBSPECIES();
205
		}else if (strRank.equals("sp")){return Rank.SPECIES();
206
		}else if (strRank.equals("spezies")){return Rank.SPECIES();
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();
207 208
		//below subspecies
208
		}else if (strRank.equals("cand")){return Rank.CANDIDATE();
209
		}else if (strRank.equals("taxinfrasp")){return Rank.INFRASPECIFICTAXON();
210
		}else if (strRank.equals("fsp")){return Rank.SPECIALFORM();
211
		}else if (strRank.equals("subsubfm")){return Rank.SUBSUBFORM();
212
		}else if (strRank.equals("subfm")){return Rank.SUBFORM();
213
		}else if (strRank.equals("fm")){return Rank.FORM();
214
		}else if (strRank.equals("f.")){return Rank.FORM();
215
		}else if (strRank.equals("subsubvar")){return Rank.SUBSUBVARIETY();
216
		}else if (strRank.equals("subvar")){return Rank.SUBVARIETY();
217
		}else if (strRank.equals("var")){return Rank.VARIETY();
218
		}else if (strRank.equals("var.")){return Rank.VARIETY();
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();
219 220
		//TODO -> see documentation, Bacteria status
220 221
//		}else if (strRank.equals("pv")){return Rank;
221 222
//		}else if (strRank.equals("bv")){return Rank.;
222
		}else if (strRank.equals("infrasp")){return Rank.INFRASPECIES();
223
		}else if (strRank.equals(BfnXmlConstants.RNK_INFRASP)){return Rank.INFRASPECIES();
223 224
		//above superfamily
224
		}else if (strRank.equals("infraord")){return Rank.INFRAORDER();
225
		}else if (strRank.equals("ord")){return Rank.ORDER();
226
		}else if (strRank.equals("superord")){return Rank.SUPERORDER();
227
		}else if (strRank.equals("infracl")){return Rank.INFRACLASS();
228
		}else if (strRank.equals("subcl")){return Rank.SUBCLASS();
229
		}else if (strRank.equals("cl")){return Rank.CLASS();
230
		}else if (strRank.equals("supercl")){return Rank.SUPERCLASS();
231
		}else if (strRank.equals("infraphyl_div")){return Rank.INFRAPHYLUM();
232
		}else if (strRank.equals("subphyl_div")){return Rank.SUBPHYLUM();
233
		}else if (strRank.equals("phyl_div")){return Rank.PHYLUM();
234
		}else if (strRank.equals("superphyl_div")){return Rank.SUPERPHYLUM();
235
		}else if (strRank.equals("infrareg")){return Rank.INFRAKINGDOM();
236
		}else if (strRank.equals("subreg")){return Rank.SUBKINGDOM();
237
		}else if (strRank.equals("reg")){return Rank.KINGDOM();
238
		}else if (strRank.equals("superreg")){return Rank.SUPERKINGDOM();
239
		}else if (strRank.equals("dom")){return Rank.DOMAIN();
240
		}else if (strRank.equals("taxsupragen")){return Rank.SUPRAGENERICTAXON();
241
		}else if (strRank.equals("Auswertungsgruppe")){return Rank.EMPIRE();
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();
242 243
		//family group
243
		}else if (strRank.equals("infrafam")){return Rank.FAMILY();
244
		}else if (strRank.equals("subfam")){return Rank.FAMILY();
245
		}else if (strRank.equals("fam")){return Rank.FAMILY();
246
		}else if (strRank.equals("superfam")){return Rank.FAMILY();
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();
247 248
		//family subdivision
248
		}else if (strRank.equals("intratrib")){return Rank.FAMILY();
249
		}else if (strRank.equals("subtrib")){return Rank.FAMILY();
250
		}else if (strRank.equals("trib")){return Rank.FAMILY();
251
		}else if (strRank.equals("supertrib")){return Rank.FAMILY();
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();
252 253
		}
253 254
		else {
254 255
			throw new UnknownCdmTypeException("Unknown Rank " + strRank);
......
314 315

  
315 316
	public static UUID getRedlistVocabularyUUID(String redListVocabulary) throws UnknownCdmTypeException {
316 317

  
317
		if(redListVocabulary.equalsIgnoreCase("RL Kat.")) {
318
		if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
318 319
            return vocStateRLKat;
319
        }else if(redListVocabulary.equalsIgnoreCase("Kat. +/-")) {
320
        }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_KAT)) {
320 321
            return vocStateRlKatDiff;
321
        }else if(redListVocabulary.equalsIgnoreCase("aktuelle Bestandsstituation")) {
322
        }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
322 323
            return vocStateRlAkt;
323
        }else if(redListVocabulary.equalsIgnoreCase("langfristiger Bestandstrend")) {
324
        }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
324 325
            return vocStateRLLang;
325
        }else if(redListVocabulary.equalsIgnoreCase("kurzfristiger Bestandstrend")) {
326
        }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
326 327
            return vocStateRLKurz;
327
        }else if(redListVocabulary.equalsIgnoreCase("Risikofaktoren")) {
328
        }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_RISIKOFAKTOREN)) {
328 329
            return vocStateRLRisk;
329
        }else if(redListVocabulary.equalsIgnoreCase("Verantwortlichkeit")) {
330
        }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
330 331
            return vocStateRLResp;
331
        }else if(redListVocabulary.equalsIgnoreCase("alte RL- Kat.")) {
332
        }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
332 333
            return vocStateRLKatOld;
333
        }else if(redListVocabulary.equalsIgnoreCase("Neobiota")) {
334
        }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_NEOBIOTA)) {
334 335
            return vocStateRLNeo;
335
        }else if(redListVocabulary.equalsIgnoreCase("Eindeutiger Code")) {
336
        }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_EINDEUTIGER_CODE)) {
336 337
            return vocStateRLKatId;
337
        }else if(redListVocabulary.equalsIgnoreCase("Sonderfälle")) {
338
        }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_SONDERFAELLE)) {
338 339
            return vocStateRLSpecialCases;
339
        }else if(redListVocabulary.equalsIgnoreCase("Vorkommensstatus")) {
340
        }else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_VORKOMMENSSTATUS)) {
340 341
		    return vocGermanPresenceTerms;
341
		}else if(redListVocabulary.equalsIgnoreCase("Etablierungsstatus")) {
342
		}else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_ETABLIERUNGSSTATUS)) {
342 343
		    return vocGermanEstablishmentTerms;
343
		}else if(redListVocabulary.equalsIgnoreCase("Bundesländer")) {
344
		}else if(redListVocabulary.equalsIgnoreCase(BfnXmlConstants.VOC_BUNDESLAENDER)) {
344 345
            return vocGermanFederalStates;
345 346
        } else{
346 347
			throw new UnknownCdmTypeException("Unknown Vocabulary feature, could not match: " + redListVocabulary);
......
351 352

  
352 353
	public static UUID getRedlistFeatureUUID(String redListFeature) throws UnknownCdmTypeException {
353 354

  
354
		if(redListFeature.equalsIgnoreCase("RL Kat.")) {
355
		if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
355 356
            return featureRLKat;
356 357
        }
357
		if(redListFeature.equalsIgnoreCase("Kat. +/-")) {
358
		if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KAT)) {
358 359
            return featureRlKatDiff;
359 360
        }
360
		if(redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
361
		if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
361 362
            return featureRlAkt;
362 363
        }
363
		if(redListFeature.equalsIgnoreCase("langfristiger Bestandstrend")) {
364
		if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
364 365
            return featureRLLang;
365 366
        }
366
		if(redListFeature.equalsIgnoreCase("kurzfristiger Bestandstrend")) {
367
		if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
367 368
            return featureRLKurz;
368 369
        }
369
		if(redListFeature.equalsIgnoreCase("Risikofaktoren")) {
370
		if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RISIKOFAKTOREN)) {
370 371
            return featureRLRisk;
371 372
        }
372
		if(redListFeature.equalsIgnoreCase("Verantwortlichkeit")) {
373
		if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
373 374
            return featureRLResp;
374 375
        }
375
		if(redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
376
		if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
376 377
            return featureRLKatOld;
377 378
        }
378
		if(redListFeature.equalsIgnoreCase("Neobiota")) {
379
		if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_NEOBIOTA)) {
379 380
            return featureRLNeo;
380 381
        }
381
		if(redListFeature.equalsIgnoreCase("Eindeutiger Code")) {
382
		if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_EINDEUTIGER_CODE)) {
382 383
            return featureRLKatId;
383 384
        }
384 385
		if(redListFeature.equalsIgnoreCase("Kommentar zur Taxonomie")) {
......
387 388
		if(redListFeature.equalsIgnoreCase("Kommentar zur Gefährdung")) {
388 389
            return featureRLHazardComment;
389 390
        }
390
		if(redListFeature.equalsIgnoreCase("Sonderfälle")) {
391
		if(redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_SONDERFAELLE)) {
391 392
            return featureRLSpecialCases;
392 393
        }
393 394
		if(redListFeature.equalsIgnoreCase("Letzter Nachweis")) {
......
404 405
	public static UUID getRedlistStateTermUUID(String redListStateTerm, String redListFeature) throws UnknownCdmTypeException {
405 406
		//RL Kat
406 407
		char a = 0x2666;
407
		if(redListStateTerm.equalsIgnoreCase("0") && redListFeature.equalsIgnoreCase("RL Kat.")) {
408
		if(redListStateTerm.equalsIgnoreCase("0") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
408 409
            return stateTermRlKat0;
409 410
        }
410
		if(redListStateTerm.equalsIgnoreCase("1") && redListFeature.equalsIgnoreCase("RL Kat.")) {
411
		if(redListStateTerm.equalsIgnoreCase("1") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
411 412
            return stateTermRlKat1;
412 413
        }
413
		if(redListStateTerm.equalsIgnoreCase("2") && redListFeature.equalsIgnoreCase("RL Kat.")) {
414
		if(redListStateTerm.equalsIgnoreCase("2") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
414 415
            return stateTermRlKat2;
415 416
        }
416
		if(redListStateTerm.equalsIgnoreCase("3") && redListFeature.equalsIgnoreCase("RL Kat.")) {
417
		if(redListStateTerm.equalsIgnoreCase("3") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
417 418
            return stateTermRlKat3;
418 419
        }
419
		if(redListStateTerm.equalsIgnoreCase("G") && redListFeature.equalsIgnoreCase("RL Kat.")) {
420
		if(redListStateTerm.equalsIgnoreCase("G") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
420 421
            return stateTermRlKatG;
421 422
        }
422
		if(redListStateTerm.equalsIgnoreCase("R") && redListFeature.equalsIgnoreCase("RL Kat.")) {
423
		if(redListStateTerm.equalsIgnoreCase("R") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
423 424
            return stateTermRlKatR;
424 425
        }
425
		if(redListStateTerm.equalsIgnoreCase("V") && redListFeature.equalsIgnoreCase("RL Kat.")) {
426
		if(redListStateTerm.equalsIgnoreCase("V") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
426 427
            return stateTermRlKatV;
427 428
        }
428
		if(redListStateTerm.equalsIgnoreCase("*") && redListFeature.equalsIgnoreCase("RL Kat.")) {
429
		if(redListStateTerm.equalsIgnoreCase("*") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
429 430
            return stateTermRlKatStar;
430 431
        }
431
		if(redListStateTerm.equalsIgnoreCase("**") && redListFeature.equalsIgnoreCase("RL Kat.")) {
432
		if(redListStateTerm.equalsIgnoreCase("**") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
432 433
            return stateTermRlKatStar2;
433 434
        }
434
		if(redListStateTerm.equalsIgnoreCase("D") && redListFeature.equalsIgnoreCase("RL Kat.")) {
435
		if(redListStateTerm.equalsIgnoreCase("D") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
435 436
            return stateTermRlKatD;
436 437
        }
437
		if(redListStateTerm.equalsIgnoreCase(String.valueOf(a)) && redListFeature.equalsIgnoreCase("RL Kat.")) {
438
		if(redListStateTerm.equalsIgnoreCase(String.valueOf(a)) && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
438 439
            return stateTermRlKatDiamond;
439 440
        }
440
		if(redListStateTerm.equalsIgnoreCase("kN") && redListFeature.equalsIgnoreCase("RL Kat.")) {
441
		if(redListStateTerm.equalsIgnoreCase("kN") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RL_KAT)) {
441 442
            return stateTermRlKatKN;
442 443
        }
443 444

  
444 445
		//RL Diff
445
		if(redListStateTerm.equalsIgnoreCase("+") && redListFeature.equalsIgnoreCase("Kat. +/-")) {
446
		if(redListStateTerm.equalsIgnoreCase("+") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KAT)) {
446 447
            return stateTermRLKatDiffPlus;
447 448
        }
448
		if(redListStateTerm.equalsIgnoreCase("-") && redListFeature.equalsIgnoreCase("Kat. +/-")) {
449
		if(redListStateTerm.equalsIgnoreCase("-") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KAT)) {
449 450
            return stateTermRLKatDiffMinus;
450 451
        }
451
		if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase("Kat. +/-")) {
452
		if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KAT)) {
452 453
            return stateTermRLKatDiffEqual;
453 454
        }
454 455

  
455 456
		//Rl Akt
456
		if(redListStateTerm.equalsIgnoreCase("ex") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
457
		if(redListStateTerm.equalsIgnoreCase("ex") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
457 458
            return stateTermRLKatAktEx;
458 459
        }
459
		if(redListStateTerm.equalsIgnoreCase("es") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
460
		if(redListStateTerm.equalsIgnoreCase("es") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
460 461
            return stateTermRLKatAktEs;
461 462
        }
462
		if(redListStateTerm.equalsIgnoreCase("ss") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
463
		if(redListStateTerm.equalsIgnoreCase("ss") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
463 464
            return stateTermRLKatAktSs;
464 465
        }
465
		if(redListStateTerm.equalsIgnoreCase("s") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
466
		if(redListStateTerm.equalsIgnoreCase("s") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
466 467
            return stateTermRLKatAktS;
467 468
        }
468
		if(redListStateTerm.equalsIgnoreCase("mh") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
469
		if(redListStateTerm.equalsIgnoreCase("mh") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
469 470
            return stateTermRLKatAktMh;
470 471
        }
471
		if(redListStateTerm.equalsIgnoreCase("h") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
472
		if(redListStateTerm.equalsIgnoreCase("h") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
472 473
            return stateTermRLKatAktH;
473 474
        }
474
		if(redListStateTerm.equalsIgnoreCase("sh") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
475
		if(redListStateTerm.equalsIgnoreCase("sh") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
475 476
            return stateTermRLKatAktSh;
476 477
        }
477
		if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
478
		if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
478 479
            return stateTermRLKatAktQuest;
479 480
        }
480
		if(redListStateTerm.equalsIgnoreCase("nb") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
481
		if(redListStateTerm.equalsIgnoreCase("nb") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
481 482
            return stateTermRLKatAktNb;
482 483
        }
483
		if(redListStateTerm.equalsIgnoreCase("kN") && redListFeature.equalsIgnoreCase("aktuelle Bestandsstituation")) {
484
		if(redListStateTerm.equalsIgnoreCase("kN") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_AKTUELLE_BESTANDSSTITUATION)) {
484 485
            return stateTermRLKatAktKn;
485 486
        }
486 487

  
487 488
		//RL Lang
488
		if(redListStateTerm.equalsIgnoreCase("<<<") && redListFeature.equalsIgnoreCase("langfristiger Bestandstrend")) {
489
		if(redListStateTerm.equalsIgnoreCase("<<<") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
489 490
            return stateTermRLKatLangLT3;
490 491
        }
491
		if(redListStateTerm.equalsIgnoreCase("<<") && redListFeature.equalsIgnoreCase("langfristiger Bestandstrend")) {
492
		if(redListStateTerm.equalsIgnoreCase("<<") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
492 493
            return stateTermRLKatLangLT2;
493 494
        }
494
		if(redListStateTerm.equalsIgnoreCase("<") && redListFeature.equalsIgnoreCase("langfristiger Bestandstrend")) {
495
		if(redListStateTerm.equalsIgnoreCase("<") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
495 496
            return stateTermRLKatLangLT1;
496 497
        }
497
		if(redListStateTerm.equalsIgnoreCase("(<)") && redListFeature.equalsIgnoreCase("langfristiger Bestandstrend")) {
498
		if(redListStateTerm.equalsIgnoreCase("(<)") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
498 499
            return stateTermRLKatLangLT;
499 500
        }
500
		if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase("langfristiger Bestandstrend")) {
501
		if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
501 502
            return stateTermRLKatLangEqual;
502 503
        }
503
		if(redListStateTerm.equalsIgnoreCase(">") && redListFeature.equalsIgnoreCase("langfristiger Bestandstrend")) {
504
		if(redListStateTerm.equalsIgnoreCase(">") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
504 505
            return stateTermRLKatLangGT;
505 506
        }
506
		if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase("langfristiger Bestandstrend")) {
507
		if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_LANGFRISTIGER_BESTANDSTREND)) {
507 508
            return stateTermRLKatLangQuest;
508 509
        }
509 510

  
510 511
		//RL Kurz
511 512
		char c = 0x2193;
512 513
		char b = 0x2191;
513
		if(redListStateTerm.equalsIgnoreCase(String.valueOf(c)+String.valueOf(c)+String.valueOf(c)) && redListFeature.equalsIgnoreCase("kurzfristiger Bestandstrend")) {
514
		if(redListStateTerm.equalsIgnoreCase(String.valueOf(c)+String.valueOf(c)+String.valueOf(c)) && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
514 515
            return stateTermRLKatKurzDown3;
515 516
        }
516
		if(redListStateTerm.equalsIgnoreCase(String.valueOf(c)+String.valueOf(c)) && redListFeature.equalsIgnoreCase("kurzfristiger Bestandstrend")) {
517
		if(redListStateTerm.equalsIgnoreCase(String.valueOf(c)+String.valueOf(c)) && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
517 518
            return stateTermRLKatKurzDown2;
518 519
        }
519
		if(redListStateTerm.equalsIgnoreCase("("+String.valueOf(c)+")") && redListFeature.equalsIgnoreCase("kurzfristiger Bestandstrend")) {
520
		if(redListStateTerm.equalsIgnoreCase("("+String.valueOf(c)+")") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
520 521
            return stateTermRLKatKurzDown1;
521 522
        }
522
		if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase("kurzfristiger Bestandstrend")) {
523
		if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
523 524
            return stateTermRLKatKurzEqual;
524 525
        }
525
		if(redListStateTerm.equalsIgnoreCase(String.valueOf(b)) && redListFeature.equalsIgnoreCase("kurzfristiger Bestandstrend")) {
526
		if(redListStateTerm.equalsIgnoreCase(String.valueOf(b)) && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
526 527
            return stateTermRLKatKurzUp;
527 528
        }
528
		if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase("kurzfristiger Bestandstrend")) {
529
		if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_KURZFRISTIGER_BESTANDSTREND)) {
529 530
            return stateTermRLKatKurzQuest;
530 531
        }
531 532

  
532 533
		//RL Risk
533
		if(redListStateTerm.equalsIgnoreCase("-") && redListFeature.equalsIgnoreCase("Risikofaktoren")) {
534
		if(redListStateTerm.equalsIgnoreCase("-") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RISIKOFAKTOREN)) {
534 535
            return stateTermRLKatRiskMinus;
535 536
        }
536
		if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase("Risikofaktoren")) {
537
		if(redListStateTerm.equalsIgnoreCase("=") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_RISIKOFAKTOREN)) {
537 538
            return stateTermRLKatRiskEqual;
538 539
        }
539 540

  
540 541
		//RL Resp
541
		if(redListStateTerm.equalsIgnoreCase("!!") && redListFeature.equalsIgnoreCase("Verantwortlichkeit")) {
542
		if(redListStateTerm.equalsIgnoreCase("!!") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
542 543
            return stateTermRLKatRespBang2;
543 544
        }
544
		if(redListStateTerm.equalsIgnoreCase("!") && redListFeature.equalsIgnoreCase("Verantwortlichkeit")) {
545
		if(redListStateTerm.equalsIgnoreCase("!") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
545 546
            return stateTermRLKatRespBang1;
546 547
        }
547
		if(redListStateTerm.equalsIgnoreCase("(!)") && redListFeature.equalsIgnoreCase("Verantwortlichkeit")) {
548
		if(redListStateTerm.equalsIgnoreCase("(!)") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
548 549
            return stateTermRLKatRespBang;
549 550
        }
550
		if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase("Verantwortlichkeit")) {
551
		if(redListStateTerm.equalsIgnoreCase("?") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
551 552
            return stateTermRLKatRespQuest;
552 553
        }
553
		if(redListStateTerm.equalsIgnoreCase("nb") && redListFeature.equalsIgnoreCase("Verantwortlichkeit")) {
554
		if(redListStateTerm.equalsIgnoreCase("nb") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_VERANTWORTLICHKEIT)) {
554 555
            return stateTermRLKatRespNb;
555 556
        }
556 557

  
557 558
		//RL Kat Old
558
		if(redListStateTerm.equalsIgnoreCase("0") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
559
		if(redListStateTerm.equalsIgnoreCase("0") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
559 560
            return stateTermRLKatOld0;
560 561
        }
561
		if(redListStateTerm.equalsIgnoreCase("1") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
562
		if(redListStateTerm.equalsIgnoreCase("1") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
562 563
            return stateTermRLKatOld1;
563 564
        }
564
		if(redListStateTerm.equalsIgnoreCase("2") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
565
		if(redListStateTerm.equalsIgnoreCase("2") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
565 566
            return stateTermRLKatOld2;
566 567
        }
567
		if(redListStateTerm.equalsIgnoreCase("3") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
568
		if(redListStateTerm.equalsIgnoreCase("3") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
568 569
            return stateTermRLKatOld3;
569 570
        }
570
		if(redListStateTerm.equalsIgnoreCase("G") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
571
		if(redListStateTerm.equalsIgnoreCase("G") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
571 572
            return stateTermRLKatOldG;
572 573
        }
573
		if(redListStateTerm.equalsIgnoreCase("R") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
574
		if(redListStateTerm.equalsIgnoreCase("R") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
574 575
            return stateTermRLKatOldR;
575 576
        }
576
		if(redListStateTerm.equalsIgnoreCase("V") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
577
		if(redListStateTerm.equalsIgnoreCase("V") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
577 578
            return stateTermRLKatOldV;
578 579
        }
579
		if(redListStateTerm.equalsIgnoreCase("*") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
580
		if(redListStateTerm.equalsIgnoreCase("*") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
580 581
            return stateTermRLKatOldStar;
581 582
        }
582
		if(redListStateTerm.equalsIgnoreCase("**") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
583
		if(redListStateTerm.equalsIgnoreCase("**") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
583 584
            return stateTermRLKatOldStar2;
584 585
        }
585
		if(redListStateTerm.equalsIgnoreCase("D") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
586
		if(redListStateTerm.equalsIgnoreCase("D") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
586 587
            return stateTermRLKatOldD;
587 588
        }
588
		if(redListStateTerm.equalsIgnoreCase("nb") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
589
		if(redListStateTerm.equalsIgnoreCase("nb") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
589 590
            return stateTermRLKatOldNb;
590 591
        }
591
		if(redListStateTerm.equalsIgnoreCase("kN") && redListFeature.equalsIgnoreCase("alte RL- Kat.")) {
592
		if(redListStateTerm.equalsIgnoreCase("kN") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_ALTE_RL_KAT)) {
592 593
            return stateTermRLKatOldKn;
593 594
        }
594 595

  
595 596
		//RL Neo
596
		if(redListStateTerm.equalsIgnoreCase("N") && redListFeature.equalsIgnoreCase("Neobiota")) {
597
		if(redListStateTerm.equalsIgnoreCase("N") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_NEOBIOTA)) {
597 598
            return stateTermRLKatNeo;
598 599
        }
599 600

  
600 601
		//RL Special
601
		if(redListStateTerm.equalsIgnoreCase("S") && redListFeature.equalsIgnoreCase("Sonderfälle")) {
602
		if(redListStateTerm.equalsIgnoreCase("S") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_SONDERFAELLE)) {
602 603
            return stateTermRLSpecialS;
603 604
        }
604
		if(redListStateTerm.equalsIgnoreCase("E") && redListFeature.equalsIgnoreCase("Sonderfälle")) {
605
		if(redListStateTerm.equalsIgnoreCase("E") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_SONDERFAELLE)) {
605 606
            return stateTermRLSpecialE;
606 607
        }
607
		if(redListStateTerm.equalsIgnoreCase("D") && redListFeature.equalsIgnoreCase("Sonderfälle")) {
608
		if(redListStateTerm.equalsIgnoreCase("D") && redListFeature.equalsIgnoreCase(BfnXmlConstants.VOC_SONDERFAELLE)) {
608 609
            return stateTermRLSpecialD;
609 610
        }
610 611

  

Also available in: Unified diff