Project

General

Profile

Download (32.8 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2007 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

    
11
package eu.etaxonomy.cdm.io.markup;
12

    
13
import java.util.UUID;
14

    
15
import org.apache.log4j.Logger;
16

    
17
import eu.etaxonomy.cdm.common.CdmUtils;
18
import eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase;
19
import eu.etaxonomy.cdm.io.common.mapping.UndefinedTransformerMethodException;
20
import eu.etaxonomy.cdm.model.common.MarkerType;
21
import eu.etaxonomy.cdm.model.description.Feature;
22
import eu.etaxonomy.cdm.model.description.PresenceTerm;
23
import eu.etaxonomy.cdm.model.location.NamedArea;
24
import eu.etaxonomy.cdm.model.location.NamedAreaLevel;
25
import eu.etaxonomy.cdm.model.location.TdwgArea;
26

    
27
/**
28
 * @author a.mueller
29
 * @created 01.03.2010
30
 * @version 1.0
31
 */
32
public class MarkupTransformer extends InputTransformerBase {
33
	@SuppressWarnings("unused")
34
	private static final Logger logger = Logger.getLogger(MarkupTransformer.class);
35
	
36
	//preliminary
37
	public static final UUID uuidKalimantan = UUID.fromString("05c6bce3-2e55-48cb-a414-707e936066d1");
38
	public static final UUID uuidBorneo = UUID.fromString("e615e7e6-5b64-4903-b794-816baab689b3");
39
//	public static final UUID uuidCelebes = UUID.fromString("");
40
	public static final UUID uuidMoluccas = UUID.fromString("0ac8fc74-a081-45e5-b96d-aad367b5f48b");
41
	public static final UUID uuidPeninsularMalaysia = UUID.fromString("9f95af33-ae9e-4031-92f7-9f79d22eecf2");
42
	public static final UUID uuidJava = UUID.fromString("36b93871-0bee-4380-b47e-56a843ce6aa3");
43
	public static final UUID uuidBismarckArchipelago = UUID.fromString("d9a11144-447c-4e72-b75f-9daeb254e7c4");
44
//	public static final UUID uuidNewIreland = UUID.fromString("");
45
	public static final UUID uuidSumatra = UUID.fromString("4395d5e0-64e2-4309-a2ec-b1240919c34d");
46
//	public static final UUID uuidBangka = UUID.fromString("");
47
	public static final UUID uuidSabah = UUID.fromString("8d34b675-7de1-4623-a16a-1e0ca989df0c");
48
	public static final UUID uuidBali = UUID.fromString("3cc15dc7-bc55-4a9b-85af-e1eb733ad845");
49
	
50
	public static final UUID uuidPhilippines  = UUID.fromString("9dee4b0d-d864-4b6f-bd41-39a1ea7c56c3");
51
	
52
	
53
	
54
	
55
	//extension type uuids
56
	public static final UUID uuidTaxonTitle = UUID.fromString("5d9ca987-81f1-4d6c-b06a-eaa8311ca249");
57
	public static final UUID uuidWriterExtension = UUID.fromString("43f988cb-bc53-4324-a702-c8f920656975");
58
	
59
	//annotation type uuids
60
	public static final UUID uuidFootnote = UUID.fromString("b91fab29-7d26-4277-b549-262da0d901b1");
61
	public static final UUID uuidWriterAnnotation = UUID.fromString("df73df4a-93a1-4d95-a552-1cebe26db51b");
62
	
63
	
64
	//marker type uuid
65
//	public static final UUID uuidExcludedTaxon = UUID.fromString("e729a22d-8c94-4859-9f91-3e3ae212c91d");
66
	public static final UUID uuidIncompleteTaxon = UUID.fromString("cb34d525-de64-4569-b277-3429ec49a09f");
67
	public static final UUID uuidFeaturePlaceholder = UUID.fromString("89568794-375e-4a02-b75d-bd65601fb877");
68
	
69
	
70
	//named ared level uuids
71
	public static final UUID uuidRegion = UUID.fromString("06d3a74d-cf2e-4842-8c89-87722b9486a4");
72
	public static final UUID uuidWorld = UUID.fromString("69520b33-6381-454e-bb8f-0df11c3b3a67");
73
	public static final UUID uuidCounty = UUID.fromString("c2882e13-88dc-42ac-b89c-2ee404e22d81");
74
	public static final UUID uuidContinent = UUID.fromString("1051c9bb-d0ab-4a71-ab15-afdab82c2bdc");
75
	public static final UUID uuidDistrict = UUID.fromString("1b778ba8-ba5f-47a9-ad67-222826f96863");
76
	public static final UUID uuidLocality = UUID.fromString("224a4140-da1f-4046-91bb-fb948916d797");
77
	public static final UUID uuidLevelOther = UUID.fromString("4b483cc8-b42d-40ba-9cc7-a656faf629e2");
78
	
79
	public static final UUID uuidContinentalRegion = UUID.fromString("06d3a74d-cf2e-4842-8c89-87722b9486a4");
80
	
81
	
82
	
83
	//feature uuids
84
	
85
	public static final UUID uuidFigure = UUID.fromString("5165cd6a-9b31-4a1f-8b30-04ab740c502c");
86
	public static final UUID uuidFigures = UUID.fromString("6dfb4e78-c67e-410c-8989-c1fb1295abf6");
87
	
88
	
89
	
90
	
91
	public static final UUID uuidExtractedHabitat = UUID.fromString("d80511d2-a76c-48b8-b3aa-5fbd4a58fe5c");
92
//	public static final UUID uuidHabit = UUID.fromString("03487108-173a-4335-92be-05076af29155");
93
	public static final UUID uuidHabitat = UUID.fromString("fb16929f-bc9c-456f-9d40-dec987b36438");
94
	public static final UUID uuidHabitatEcology = UUID.fromString("9fdc4663-4d56-47d0-90b5-c0bf251bafbb");
95
	
96
	public static final UUID uuidChromosomes = UUID.fromString("c4a60319-4978-4692-9545-58d60cf8379e");
97
	public static final UUID uuidPhylogeny = UUID.fromString("8bcffbeb-a849-4222-83f9-bfcbbc3baef9");
98
	public static final UUID uuidHistory = UUID.fromString("6f9f0316-1c27-4e17-b96a-51332521f74e");
99
	public static final UUID uuidCultivation = UUID.fromString("f10f34fb-53b9-43c2-bfd6-05ea475e8e0f");
100
	
101
	public static final UUID uuidNote = UUID.fromString("b9af1489-6b68-497f-8d4b-260a9f886827");
102
	public static final UUID uuidNotes = UUID.fromString("e31bb420-f39e-493d-b452-dd5e63dda443");
103
	public static final UUID uuidTaxonomy = UUID.fromString("0c80c395-038b-4bd6-9ff4-48f4511754b6");
104
	public static final UUID uuidMorphology = UUID.fromString("1b5bfe4a-d075-4e38-ab63-3c6b6bb5846a");
105
	public static final UUID uuidPalynology = UUID.fromString("50ddb15e-aa25-4933-8449-c321dccad4e7");
106
	public static final UUID uuidWoodAnatomy = UUID.fromString("b2ff70bc-f7b9-4aa8-8a4c-8f41ad6f8ada");
107
	public static final UUID uuidLeafAnatomy = UUID.fromString("3633debe-1c00-4f43-98f7-38b950b3880d");
108
	public static final UUID uuidChromosomeNumbers = UUID.fromString("6f677e98-d8d5-4bc5-80bf-affdb7e3945a");
109
	public static final UUID uuidPhytochemistryAndChemotaxonomy = UUID.fromString("ea76e235-a845-4f25-af07-1eee91547ef5");
110
	public static final UUID uuidPollenMorphology = UUID.fromString("4a00d8b2-60d7-4891-b5e7-3244278d849d");
111
	public static final UUID uuidVegetativeMorphologyAndAnatomy = UUID.fromString("282d1d8e-47cf-4c34-86ff-772e78b71058");
112
	public static final UUID uuidFlowerMorphology = UUID.fromString("cbe3ca08-0407-4a67-bf35-665e6fb3efdb");
113
	public static final UUID uuidPollination = UUID.fromString("0d601a3d-c444-4a7c-940b-be0a9902673f");
114
	public static final UUID uuidLifeCycle = UUID.fromString("fcb5d9a7-ad56-401c-b179-5f017342f3b3");
115
	public static final UUID uuidFruitsAndEmbryology = UUID.fromString("f22ff5ff-8cf6-4fcc-8fd2-bfdc07cb7952");
116
	public static final UUID uuidDispersal = UUID.fromString("1349d543-929a-4048-89dd-5006880a4cb2");
117
	public static final UUID uuidPhytochemistry = UUID.fromString("3466fdb9-360f-467e-9bd2-be8d997d1361");
118
	public static final UUID uuidFossils = UUID.fromString("ccbf72ff-ab72-4f41-8c60-77100e14b6b0");
119
	public static final UUID uuidMorphologyAndAnatomy = UUID.fromString("e18a82c2-8961-409f-8b8e-0502225ea43f");
120
	public static final UUID uuidEmbryology = UUID.fromString("09b89b41-c993-45a6-b461-799a90e283f8");
121
	public static final UUID uuidCytology = UUID.fromString("cc28bedb-8d9f-457c-ac5f-5f019edb214e");
122
	
123
	
124
	public static final UUID uuidLeaflets = UUID.fromString("0efcfbb5-7f7a-454f-985e-50cea6523fef");
125
	public static final UUID uuidLeaves = UUID.fromString("378c6d5f-4f8a-4769-b054-50ddaff6f080");
126
	public static final UUID uuidBranchlets = UUID.fromString("e63af3b4-aaff-4b4d-a8fe-3b13b79974c8");
127
	public static final UUID uuidLifeform = UUID.fromString("db9228d3-8bbf-4460-abfe-0b1326c82f8e");
128
	public static final UUID uuidInflorescences = UUID.fromString("c476f5fb-dc06-4408-af36-f48e625f5767");
129
	public static final UUID uuidMaleInflorescences = UUID.fromString("374fa3fe-70c2-4ec9-a611-97c62288aeba");
130
	public static final UUID uuidFemaleInflorescences = UUID.fromString("179af784-850c-4187-ba1f-cdc9f68970ef");
131
	public static final UUID uuidFlowers = UUID.fromString("7fd80f15-9abf-44e7-b55a-be264b9dd7ac");
132
	public static final UUID uuidSepals = UUID.fromString("d6867f7c-68c9-4b7c-9094-862bdfe1e064");
133
	public static final UUID uuidOuterSepals = UUID.fromString("e95b65f8-656f-4770-b716-2824cb4b54b6");
134
	public static final UUID uuidAnthers = UUID.fromString("3f40ea65-320b-4875-86e6-f499017b4bc6");
135
	public static final UUID uuidPetals = UUID.fromString("ddcba956-a461-4e66-a996-a4db808d1d9f");
136
	public static final UUID uuidPetal = UUID.fromString("271c2e09-5965-4c03-9ab5-6ed31a0e7e17");
137
	public static final UUID uuidDisc = UUID.fromString("a98875f5-fdb8-4432-98dd-3840552bf701");
138
	public static final UUID uuidStamens = UUID.fromString("88a6e1ff-aba2-49a1-82c5-b6a20c44d825");
139
	public static final UUID uuidFruits = UUID.fromString("e19b1b3c-e3fe-4496-a254-46f01ab514b3");
140
	public static final UUID uuidIndumentum = UUID.fromString("5737a803-397e-43e9-a278-b195941b824b");
141
	public static final UUID uuidSeeds = UUID.fromString("c7bb0c58-5817-4fcf-9bea-e67224e8cd8f");
142
	public static final UUID uuidFlowering = UUID.fromString("e6f274b9-25ca-4d49-b264-50346350df0d");
143
	public static final UUID uuidBracts = UUID.fromString("7e1f2b3e-caa5-4e12-af4c-3fc379cea89f");
144
	public static final UUID uuidPedicels = UUID.fromString("fdb43c85-c3dd-4d13-b5e7-51cca60d25b1");
145
	public static final UUID uuidPistil = UUID.fromString("51df329b-2b2b-4f45-960c-bf4430be5910");
146
	public static final UUID uuidOvary = UUID.fromString("0757d8bc-d91c-4482-bde0-d239b4122934");
147
	public static final UUID uuidTwigs = UUID.fromString("e1eb9d5e-1397-4a4e-84e7-483e77822c6b");
148
	public static final UUID uuidBranches = UUID.fromString("7c515e4a-9a6f-4d4d-9af7-c0c4039dcf27");
149
	public static final UUID uuidInfructescences = UUID.fromString("e60fbb4f-cf4e-4331-9dcd-d65f640eb669");
150
	public static final UUID uuidPistillode = UUID.fromString("7c91c9ae-ad30-4aca-96b8-249c154fb296");
151
	public static final UUID uuidFlower = UUID.fromString("27a04dae-3a46-41ec-a36f-866561a0f8db");
152
	public static final UUID uuidOvules = UUID.fromString("e118915a-0d6c-41b9-9385-9f18d852e0bc");
153
	//= female Flowers
154
	//	public static final UUID uuidFemale = UUID.fromString("fe708a69-150d-41fb-b391-dc8d9c1b8d1a");
155
	public static final UUID uuidStyle = UUID.fromString("6b5ae8fb-72e4-4c60-9bbe-0abc9edb09c3");
156
	public static final UUID uuidArillode = UUID.fromString("d113362e-06cb-42c8-96c7-4df6bef9cb29");
157
	public static final UUID uuidFruit = UUID.fromString("05442d43-045d-4632-9a1e-d2eada227490");
158
	public static final UUID uuidBranch = UUID.fromString("71b7507c-9d04-49c9-b155-398b957b4aea");
159
	public static final UUID uuidInflorescence = UUID.fromString("736cd249-f2dc-4fe3-a127-2c7582e330f6");
160
	public static final UUID uuidCalyx = UUID.fromString("48a7fa54-1aef-4209-8df0-26a8148156af");
161
	public static final UUID uuidSeedling = UUID.fromString("7d977209-1579-44c9-a996-9eca1fb93cfc");
162
	public static final UUID uuidStaminodes = UUID.fromString("4c135e5d-805b-4591-b21f-bbc34e275ef6");
163
	public static final UUID uuidFilaments = UUID.fromString("5d61bc65-4621-488a-8ea9-11f6e4cd2c66");
164

    
165
	//key
166
	public static final UUID uuidPseudoStipules = UUID.fromString("a8e3002a-5a3a-4098-9439-90dff56deeed");
167
	public static final UUID uuidWallOfFruitInside = UUID.fromString("c9424f3a-91fd-4696-8207-c07b2cdd5902");
168

    
169
	public static final UUID uuidBuds = UUID.fromString("a2f1861d-50ba-4216-80f6-7889e4785cd5");
170
	public static final UUID uuidStems = UUID.fromString("80b542d6-c2ec-4bc9-95c1-a1b9429691a7");
171
	public static final UUID uuidTrees = UUID.fromString("03a2f775-e7c7-4487-a725-51b290084e14");
172
	public static final UUID uuidStigma = UUID.fromString("e68292cb-3711-4129-9b1a-992fb17059e3");
173
	public static final UUID uuidPetiole = UUID.fromString("7e926909-5983-490e-aebe-532a329fb21f");
174
	public static final UUID uuidAxillary = UUID.fromString("aa1eee6e-dd2f-464e-95ed-79cc5313e8d1");
175
	public static final UUID uuidPetiolules = UUID.fromString("9db0732d-35f9-476b-8824-727840faabb9");
176
	public static final UUID uuidMaleFlowers = UUID.fromString("036ed3cb-4598-4ccd-ae77-e66dff4274f8");
177
	public static final UUID uuidYoungInflorescences = UUID.fromString("c92baa8b-b20e-44ec-bbc4-5990d548431c");
178
	public static final UUID uuidSepal = UUID.fromString("7af26081-17c8-4966-9d58-affe26b8dc34");
179
	public static final UUID uuidThyrses = UUID.fromString("74af0814-5f11-4c1d-82c2-06ed97471fc5");
180
	public static final UUID uuidThyrsus = UUID.fromString("ff0ddbd3-6049-416e-91b5-fa8fe42621dd");
181
	public static final UUID uuidBark = UUID.fromString("a8cd7ed7-0e55-4aa6-8a6f-52bf497e1602");
182
	public static final UUID uuidEndophyticBody = UUID.fromString("5b6c3525-bc9a-4ae9-b16b-814ea0ff3ffc");
183
	public static final UUID uuidFloweringBuds = UUID.fromString("b3c8cd80-0eea-4747-83f9-32f2418c34ff");
184
	
185
	//VOL 13.1
186
	public static final UUID uuidPerianth = UUID.fromString("bd1480bb-ce44-495f-a462-98db4ac80530");
187
	public static final UUID uuidScales = UUID.fromString("bd1480bb-ce44-495f-a462-98db4ac80530");
188
	public static final UUID uuidPerigoneTube = UUID.fromString("d1799423-31ce-4525-b0ba-8d7cc9240abf");
189
	public static final UUID uuidPerigoneLobes = UUID.fromString("e309e1e3-8f60-4478-9b89-ca5069bc1622");
190
	public static final UUID uuidPerigone = UUID.fromString("f026fc87-5fc6-4559-a7e5-e8832c20033d");
191
	public static final UUID uuidCorolla = UUID.fromString("9ff17ff9-cb59-4ad7-bfa1-1d67935e567f");
192
	public static final UUID uuidAnnulus = UUID.fromString("d9b93acb-9b49-45ef-8661-09e00081931f");
193
	public static final UUID uuidFemaleFlowers = UUID.fromString("2e06cea2-5993-417c-8d0d-81cb571aa17a");
194
	public static final UUID uuidCymes = UUID.fromString("ab13622f-fc90-49de-b51c-c1b00ed98728");
195
	public static final UUID uuidNutlets = UUID.fromString("d9675d0c-0af7-4378-aeb7-7216cdff7289");
196
	public static final UUID uuidStem = UUID.fromString("39f35516-045a-4f10-a3a0-c25f47e30b7d");
197
	public static final UUID uuidPollen = UUID.fromString("7c0df742-d1b3-4174-976a-fa04a2664aba");
198
	public static final UUID uuidSecondaryXylem = UUID.fromString("f2e07699-edfc-404b-9504-52a8be014131");
199
	public static final UUID uuidChromosomeNumber = UUID.fromString("0000feeb-ca15-4207-954b-9e3aa1112950");
200
	public static final UUID uuidStemLeaves = UUID.fromString("b5ef43c8-e98b-4e06-b322-c214100370ad");
201
	public static final UUID uuidSeed = UUID.fromString("18c725f5-6ffc-4c57-a209-3393b6c28a18");
202
	public static final UUID uuidDrupes = UUID.fromString("ec664134-144b-425a-9f7b-ffccd0a4bf1a");
203
	public static final UUID uuidFruitingAxes = UUID.fromString("a246d13e-b809-4180-ab01-f6ac1b2d2b46");
204
	public static final UUID uuidAndroecium = UUID.fromString("ad600c18-b04c-4c61-b71e-ce6e48de508e");
205
	public static final UUID uuidGynoecium = UUID.fromString("02c81ac2-3fd7-4daa-9f62-ffb2d6776f44");
206
	public static final UUID uuidFlowerTube = UUID.fromString("4328c13c-f80c-4f16-8c53-b0b3d8ec3cb7");
207
	public static final UUID uuidAnther = UUID.fromString("4c7cf621-11f7-4102-b49a-caa493364707");
208
	public static final UUID uuidFlowerBearingStems = UUID.fromString("86ee899f-af71-4b51-aa1a-2666bab79cf0");
209
	public static final UUID uuidFloweringBranchlets = UUID.fromString("e0364345-764c-4b39-943a-fad1eac0fe9e");
210
	public static final UUID uuidWood = UUID.fromString("e44b3268-ca49-4400-90f7-98e17412fe92");
211
	
212

    
213
	//PHYTOCHEMISTRY AND CHEMOTAXONOMY
214
	public static final UUID uuidLeafPhenolics = UUID.fromString("4ae0580e-601e-4961-8220-b98876cb7fbf");
215
	public static final UUID uuidAlkaloids = UUID.fromString("a727f4f4-b2c3-4cac-9edd-138201470396");
216
	public static final UUID uuidIridoidGlucosides = UUID.fromString("d858c9d7-e870-4e4e-a52a-f6533599c9d7");
217
	public static final UUID uuidAluminium = UUID.fromString("5c6cdbf0-c7a9-4223-8bbb-d33d41e1b9d3");
218
	public static final UUID uuidChemotaxonomy = UUID.fromString("53ff9430-0154-48a4-a2bb-99f183757c96");
219
	public static final UUID uuidStorageProductsOfSeeds = UUID.fromString("5e569333-a5b6-42f9-bc5d-e010bdfef89c");
220
	
221
	
222
	
223
	
224

    
225
	/* (non-Javadoc)
226
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getFeatureByKey(java.lang.String)
227
	 */
228
	@Override
229
	public Feature getFeatureByKey(String key) throws UndefinedTransformerMethodException {
230
		if (CdmUtils.isEmpty(key)){return null;
231
		
232
		}else if (key.equalsIgnoreCase("ecology")){return Feature.ECOLOGY();
233
		}else if (key.equalsIgnoreCase("uses")){return Feature.USES();
234
		}else if (key.equalsIgnoreCase("anatomy")){return Feature.ANATOMY();
235
		}else if (key.equalsIgnoreCase("description")){return Feature.DESCRIPTION();
236
		}else if (key.equalsIgnoreCase("distribution")){return Feature.DISTRIBUTION();
237
		}else if (key.equalsIgnoreCase("habitatecology")){return Feature.HABITAT_ECOLOGY();
238
		
239
		}else if (key.equalsIgnoreCase("Vegetative Anatomy")){return Feature.ANATOMY();
240
		
241
		}else{
242
			return null;
243
		}
244
	}
245

    
246
	/* (non-Javadoc)
247
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getFeatureUuid(java.lang.String)
248
	 */
249
	@Override
250
	public UUID getFeatureUuid(String key) 	throws UndefinedTransformerMethodException {
251
		if (CdmUtils.isEmpty(key)){return null;
252

    
253
		
254
		}else if (key.equalsIgnoreCase("cultivation")){return uuidCultivation;
255
		}else if (key.equalsIgnoreCase("history")){return uuidHistory;
256
		}else if (key.equalsIgnoreCase("phylogeny")){return uuidPhylogeny;
257
		}else if (key.equalsIgnoreCase("Chromosomes")){return uuidChromosomes;
258
		}else if (key.equalsIgnoreCase("Habitat")){return uuidHabitat;
259
		}else if (key.equalsIgnoreCase("Habitat & Ecology")){return uuidHabitatEcology;
260
		}else if (key.equalsIgnoreCase("Leaflets")){return uuidLeaflets;
261
		}else if (key.equalsIgnoreCase("Leaves")){return uuidLeaves;
262
		}else if (key.equalsIgnoreCase("Branchlets")){return uuidBranchlets;
263
		}else if (key.equalsIgnoreCase("lifeform")){return uuidLifeform;
264
		}else if (key.equalsIgnoreCase("habit")){return uuidLifeform;
265
		}else if (key.equalsIgnoreCase("Inflorescences")){return uuidInflorescences;
266
		}else if (key.equalsIgnoreCase("Flowers")){return uuidFlowers;
267
		}else if (key.equalsIgnoreCase("Sepals")){return uuidSepals;
268
		}else if (key.equalsIgnoreCase("Outer Sepals")){return uuidOuterSepals;
269
		}else if (key.equalsIgnoreCase("Anthers")){return uuidAnthers;
270
		}else if (key.equalsIgnoreCase("Petals")){return uuidPetals;
271
		}else if (key.equalsIgnoreCase("Petal")){return uuidPetal;
272
		}else if (key.equalsIgnoreCase("Disc")){return uuidDisc;
273
		}else if (key.equalsIgnoreCase("Stamens")){return uuidStamens;
274
		}else if (key.equalsIgnoreCase("Fruits")){return uuidFruits;
275
		}else if (key.equalsIgnoreCase("Indumentum")){return uuidIndumentum;
276
		}else if (key.equalsIgnoreCase("figure")){return uuidFigure;
277
		}else if (key.equalsIgnoreCase("fig")){return uuidFigure;
278
		}else if (key.equalsIgnoreCase("figs")){return uuidFigures;
279
		}else if (key.equalsIgnoreCase("figures")){return uuidFigures;
280
		}else if (key.equalsIgnoreCase("Seeds")){return uuidSeeds;
281
		}else if (key.equalsIgnoreCase("Flowering")){return uuidFlowering;
282
		}else if (key.equalsIgnoreCase("Bracts")){return uuidBracts;
283
		}else if (key.equalsIgnoreCase("Pedicels")){return uuidPedicels;
284
		}else if (key.equalsIgnoreCase("Pistil")){return uuidPistil;
285
		}else if (key.equalsIgnoreCase("Ovary")){return uuidOvary;
286
		}else if (key.equalsIgnoreCase("Twigs")){return uuidTwigs;
287
		}else if (key.equalsIgnoreCase("Pedicels")){return uuidPedicels;
288
		}else if (key.equalsIgnoreCase("Infructescences")){return uuidInfructescences;
289
		}else if (key.equalsIgnoreCase("Branches")){return uuidBranches;
290
		}else if (key.equalsIgnoreCase("Flower")){return uuidFlower;
291
		}else if (key.equalsIgnoreCase("Ovules")){return uuidOvules;
292
		}else if (key.equalsIgnoreCase("Female")){return uuidFemaleFlowers;
293
		}else if (key.equalsIgnoreCase("Style")){return uuidStyle;
294
		}else if (key.equalsIgnoreCase("Arillode")){return uuidArillode;
295
		}else if (key.equalsIgnoreCase("Fruit")){return uuidFruit;
296
		}else if (key.equalsIgnoreCase("Branch")){return uuidBranch;
297
		}else if (key.equalsIgnoreCase("Inflorescence")){return uuidInflorescence;
298
		}else if (key.equalsIgnoreCase("Male inflorescences")){return uuidMaleInflorescences;
299
		}else if (key.equalsIgnoreCase("Female inflorescences")){return uuidFemaleInflorescences;
300
		
301
		}else if (key.equalsIgnoreCase("Calyx")){return uuidCalyx;
302
		}else if (key.equalsIgnoreCase("Seedling")){return uuidSeedling;
303
		}else if (key.equalsIgnoreCase("Staminodes")){return uuidStaminodes;
304
		}else if (key.equalsIgnoreCase("Filaments")){return uuidFilaments;
305
		}else if (key.equalsIgnoreCase("Pistillode")){return uuidPistillode;
306
		}else if (key.equalsIgnoreCase("Stigma")){return uuidStigma;
307
		}else if (key.equalsIgnoreCase("Petiole")){return uuidPetiole;	
308
		}else if (key.equalsIgnoreCase("Buds")){return uuidBuds;
309
		}else if (key.equalsIgnoreCase("Stems")){return uuidStems;
310
		}else if (key.equalsIgnoreCase("Trees")){return uuidTrees;
311
		}else if (key.equalsIgnoreCase("Axillary")){return uuidAxillary;
312
		}else if (key.equalsIgnoreCase("Petiolules")){return uuidPetiolules;
313
		}else if (key.equalsIgnoreCase("Male flowers")){return uuidMaleFlowers;
314
		}else if (key.equalsIgnoreCase("Young inflorescences")){return uuidYoungInflorescences;
315
		}else if (key.equalsIgnoreCase("Sepal")){return uuidSepal;
316
		}else if (key.equalsIgnoreCase("Thyrses")){return uuidThyrses;
317
		}else if (key.equalsIgnoreCase("Thyrsus")){return uuidThyrsus;
318
		}else if (key.equalsIgnoreCase("Bark")){return uuidBark;
319
		}else if (key.equalsIgnoreCase("endophytic body")){return uuidEndophyticBody;
320
		}else if (key.equalsIgnoreCase("flowering buds")){return uuidFloweringBuds;
321
		//TODO the same ?
322
		}else if (key.equalsIgnoreCase("flower buds")){return uuidFloweringBuds;
323
		}else if (key.equalsIgnoreCase("perianth")){return uuidPerianth;
324
		}else if (key.equalsIgnoreCase("scales")){return uuidScales;
325
		}else if (key.equalsIgnoreCase("perigone tube")){return uuidPerigoneTube;
326
		}else if (key.equalsIgnoreCase("perigone")){return uuidPerigone;
327
		}else if (key.equalsIgnoreCase("perigone lobes")){return uuidPerigoneLobes;
328
		
329
		}else if (key.equalsIgnoreCase("corolla")){return uuidCorolla;
330
		}else if (key.equalsIgnoreCase("annulus")){return uuidAnnulus;
331
		}else if (key.equalsIgnoreCase("female flowers")){return uuidFemaleFlowers;
332
		}else if (key.equalsIgnoreCase("cymes")){return uuidCymes;
333
		}else if (key.equalsIgnoreCase("nutlets")){return uuidNutlets;
334
		}else if (key.equalsIgnoreCase("stem")){return uuidStem;
335
		}else if (key.equalsIgnoreCase("pollen")){return uuidPollen;
336
		}else if (key.equalsIgnoreCase("secondary xylem")){return uuidSecondaryXylem;
337
		}else if (key.equalsIgnoreCase("chromosome number")){return uuidChromosomeNumber;
338
		}else if (key.equalsIgnoreCase("stem leaves")){return uuidStemLeaves;
339
		}else if (key.equalsIgnoreCase("flower tube")){return uuidFlowerTube;
340
		
341
		}else if (key.equalsIgnoreCase("seed")){return uuidSeed;
342
		}else if (key.equalsIgnoreCase("drupes")){return uuidDrupes;
343
		}else if (key.equalsIgnoreCase("fruiting axes")){return uuidFruitingAxes;
344
		}else if (key.equalsIgnoreCase("androecium")){return uuidAndroecium;
345
		}else if (key.equalsIgnoreCase("gynoecium")){return uuidGynoecium;
346
		
347
		}else if (key.equalsIgnoreCase("anther")){return uuidAnther;
348
		}else if (key.equalsIgnoreCase("wood")){return uuidWood;
349
		}else if (key.equalsIgnoreCase("flower-bearing stems")){return uuidFlowerBearingStems;
350
		}else if (key.equalsIgnoreCase("Flowering branchlets")){return uuidFloweringBranchlets;
351
		
352
		}else if (key.equalsIgnoreCase("Pseudo-stipules")){return uuidPseudoStipules;
353
		}else if (key.equalsIgnoreCase("Wall of fruit inside")){return uuidWallOfFruitInside;
354
				
355
		
356
		}else if (key.equalsIgnoreCase("Note")){return uuidNote;
357
		}else if (key.equalsIgnoreCase("Notes")){return uuidNotes;
358
		}else if (key.equalsIgnoreCase("Taxonomy")){return uuidTaxonomy;
359
		}else if (key.equalsIgnoreCase("Morphology")){return uuidMorphology;
360
		}else if (key.equalsIgnoreCase("Palynology")){return uuidPalynology;
361
		}else if (key.equalsIgnoreCase("Wood anatomy")){return uuidWoodAnatomy;
362
		}else if (key.equalsIgnoreCase("Leaf anatomy")){return uuidLeafAnatomy;
363
		}else if (key.equalsIgnoreCase("Chromosome numbers")){return uuidChromosomeNumbers;
364
		}else if (key.equalsIgnoreCase("Phytochemistry and Chemotaxonomy")){return uuidPhytochemistryAndChemotaxonomy;
365
		}else if (key.equalsIgnoreCase("phytochemo")){return uuidPhytochemistryAndChemotaxonomy;
366
		}else if (key.equalsIgnoreCase("Pollen morphology")){return uuidPollenMorphology;
367
		}else if (key.equalsIgnoreCase("Vegetative morphology and anatomy")){return uuidVegetativeMorphologyAndAnatomy;
368
		}else if (key.equalsIgnoreCase("Flower morphology")){return uuidFlowerMorphology;
369
		}else if (key.equalsIgnoreCase("Pollination")){return uuidPollination;
370
		}else if (key.equalsIgnoreCase("Life cycle")){return uuidLifeCycle;
371
		}else if (key.equalsIgnoreCase("lifehistory")){return uuidLifeCycle;
372
		}else if (key.equalsIgnoreCase("Fruits and embryology")){return uuidFruitsAndEmbryology;
373
		}else if (key.equalsIgnoreCase("Dispersal")){return uuidDispersal;
374
		}else if (key.equalsIgnoreCase("Phytochemistry")){return uuidPhytochemistry;
375
		}else if (key.equalsIgnoreCase("Fossils")){return uuidFossils;
376
		}else if (key.equalsIgnoreCase("Morphology and anatomy")){return uuidMorphologyAndAnatomy;
377
		}else if (key.equalsIgnoreCase("embryology")){return uuidEmbryology;
378
		}else if (key.equalsIgnoreCase("cytology")){return uuidCytology;
379
		
380
		}else if (key.equalsIgnoreCase("Leaf phenolics")){return uuidLeafPhenolics;
381
		}else if (key.equalsIgnoreCase("Alkaloids")){return uuidAlkaloids;
382
		}else if (key.equalsIgnoreCase("Iridoid glucosides")){return uuidIridoidGlucosides;
383
		}else if (key.equalsIgnoreCase("Aluminium")){return uuidAluminium;
384
		}else if (key.equalsIgnoreCase("Chemotaxonomy")){return uuidChemotaxonomy;
385
		}else if (key.equalsIgnoreCase("Storage products of seeds")){return uuidStorageProductsOfSeeds;
386
		
387
		
388
		
389
//		}else if (key.equalsIgnoreCase("Inflorescence")){return uuidInflorescence;
390

    
391
		
392
		
393
		}else{
394
			return null;
395
		}
396
		
397
	}
398

    
399
	
400

    
401
	/* (non-Javadoc)
402
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getMarkerTypeByKey(java.lang.String)
403
	 */
404
	@Override
405
	public MarkerType getMarkerTypeByKey(String key) throws UndefinedTransformerMethodException {
406
		if (CdmUtils.isEmpty(key)){return null;
407
//		}else if (key.equalsIgnoreCase("distribution")){return MarkerType.;
408
//		}else if (key.equalsIgnoreCase("habitatecology")){return Feature.ECOLOGY();
409
		}else{
410
			return null;
411
		}
412
	}
413

    
414
	@Override
415
	public UUID getMarkerTypeUuid(String key) throws UndefinedTransformerMethodException {
416
		if (CdmUtils.isEmpty(key)){return null;
417
		}else if (key.equalsIgnoreCase("INCOMPLETELY KNOWN SPECIES")){return uuidIncompleteTaxon;
418
		}else if (key.equalsIgnoreCase("INSUFICIENTLY KNOWN")){return uuidIncompleteTaxon;
419
		}else if (key.equalsIgnoreCase("INSUFFICIENTLY KNOWN")){return uuidIncompleteTaxon;
420
		}else if (key.equalsIgnoreCase("IMPERFECTLY KNOWN SPECIES")){return uuidIncompleteTaxon;
421
		}else{
422
			return null;
423
		}
424
		
425
	}
426
	
427
	
428
	
429
	@Override
430
	public NamedAreaLevel getNamedAreaLevelByKey(String key )throws UndefinedTransformerMethodException {
431
		if (CdmUtils.isEmpty(key)){return null;
432
		}else if (key.equalsIgnoreCase("country")){return NamedAreaLevel.COUNTRY();
433
		}else if (key.equalsIgnoreCase("province")){return NamedAreaLevel.PROVINCE();
434
		}else if (key.equalsIgnoreCase("town")){return NamedAreaLevel.TOWN();
435
		}else if (key.equalsIgnoreCase("state")){return NamedAreaLevel.STATE();
436
		}else if (key.equalsIgnoreCase("tdwg1")){return NamedAreaLevel.TDWG_LEVEL1();
437
		}else if (key.equalsIgnoreCase("tdwg2")){return NamedAreaLevel.TDWG_LEVEL2();
438
		}else if (key.equalsIgnoreCase("tdwg3")){return NamedAreaLevel.TDWG_LEVEL3();
439
		}else if (key.equalsIgnoreCase("tdwg4")){return NamedAreaLevel.TDWG_LEVEL4();
440
		}else{
441
			return null;
442
		}
443
	}
444

    
445
	/* (non-Javadoc)
446
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getNamedAreaLevelUuid(java.lang.String)
447
	 */
448
	@Override
449
	public UUID getNamedAreaLevelUuid(String key) throws UndefinedTransformerMethodException {
450
		if (CdmUtils.isEmpty(key)){return null;
451
		}else if (key.equalsIgnoreCase("region")){return uuidRegion;
452
		}else if (key.equalsIgnoreCase("continental region")){return uuidContinentalRegion;
453
		}else if (key.equalsIgnoreCase("world")){return uuidWorld;
454
		}else if (key.equalsIgnoreCase("county")){return uuidCounty;
455
		}else if (key.equalsIgnoreCase("continent")){return uuidContinent;
456
		}else if (key.equalsIgnoreCase("district")){return uuidDistrict;
457
		}else if (key.equalsIgnoreCase("locality")){return uuidLocality;
458
		}else if (key.equalsIgnoreCase("other")){return uuidLevelOther;
459
		}else{
460
			return null;
461
		}
462
	}
463
	
464
	
465

    
466
	/* (non-Javadoc)
467
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getNamedAreaByKey(java.lang.String)
468
	 */
469
	@Override
470
	public NamedArea getNamedAreaByKey(String key) throws UndefinedTransformerMethodException {
471
		if (CdmUtils.isEmpty(key)){return null;
472
		}else if (key.equalsIgnoreCase("Kalimantan")){return TdwgArea.getAreaByTdwgAbbreviation("BOR-KA");
473
		}else if (key.equalsIgnoreCase("Borneo")){return TdwgArea.getAreaByTdwgAbbreviation("BOR");
474
		}else if (key.equalsIgnoreCase("Peninsular Malaysia")){return TdwgArea.getAreaByTdwgAbbreviation("MLY-PM");
475
			}else if (key.equalsIgnoreCase("Malay Peninsula")){return TdwgArea.getAreaByTdwgAbbreviation("MLY-PM");
476
		}else if (key.equalsIgnoreCase("Java")){return TdwgArea.getAreaByTdwgAbbreviation("JAW-OO");
477
		}else if (key.equalsIgnoreCase("Bismarck Archipelago")){return TdwgArea.getAreaByTdwgAbbreviation("BIS-OO");
478
		}else if (key.equalsIgnoreCase("Sumatra")){return TdwgArea.getAreaByTdwgAbbreviation("SUM-OO");
479
		}else if (key.equalsIgnoreCase("Sabah")){return TdwgArea.getAreaByTdwgAbbreviation("BOR-SB");
480
			}else if (key.equalsIgnoreCase("North Borneo")){return TdwgArea.getAreaByTdwgAbbreviation("BOR-SB");
481
		
482
		}else if (key.equalsIgnoreCase("Bali")){return TdwgArea.getAreaByTdwgAbbreviation("LSI-BA");
483
		}else if (key.equalsIgnoreCase("Moluccas")){return TdwgArea.getAreaByTdwgAbbreviation("MOL-OO");
484
		
485
		}else if (key.equalsIgnoreCase("Indochina")){return TdwgArea.getAreaByTdwgAbbreviation("41");
486
		}else if (key.equalsIgnoreCase("Lesser Sunda Islands")){return TdwgArea.getAreaByTdwgAbbreviation("LSI");
487
		}else if (key.equalsIgnoreCase("Sulawesi")){return TdwgArea.getAreaByTdwgAbbreviation("SUL-OO");
488
			}else if (key.equalsIgnoreCase("Celebes")){return TdwgArea.getAreaByTdwgAbbreviation("SUL-OO");
489
		
490
		}else if (key.equalsIgnoreCase("south-east United States")){return TdwgArea.getAreaByTdwgAbbreviation("78");
491
		}else if (key.equalsIgnoreCase("West Indies")){return TdwgArea.getAreaByTdwgAbbreviation("81");
492
		
493
		}else{
494
			return null;
495
		}
496

    
497
	}
498

    
499
	/* (non-Javadoc)
500
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getNamedAreaUuid(java.lang.String)
501
	 */
502
	@Override
503
	public UUID getNamedAreaUuid(String key) throws UndefinedTransformerMethodException {
504
		if (CdmUtils.isEmpty(key)){return null;
505
		}else if (key.equalsIgnoreCase("Kalimantan")){return uuidKalimantan;
506
		}else if (key.equalsIgnoreCase("Borneo")){return uuidBorneo;
507
		}else if (key.equalsIgnoreCase("Moluccas")){return uuidMoluccas;
508
		}else if (key.equalsIgnoreCase("Peninsular Malaysia")){return uuidPeninsularMalaysia;
509
		}else if (key.equalsIgnoreCase("Java")){return uuidJava;
510
		}else if (key.equalsIgnoreCase("Bismarck Archipelago")){return uuidBismarckArchipelago;
511
//		}else if (key.equalsIgnoreCase("New Ireland")){return uuidNewIreland;
512
//		}else if (key.equalsIgnoreCase("Celebes")){return uuidSulawesi;
513
		}else if (key.equalsIgnoreCase("Sumatra")){return uuidSumatra;
514
		
515
//		}else if (key.equalsIgnoreCase("Bangka")){return uuidBangka;
516
		}else if (key.equalsIgnoreCase("Sabah")){return uuidSabah;
517
		}else if (key.equalsIgnoreCase("Bali")){return uuidBali;
518
	
519
		//
520
		//Celebes (Sulawesi)
521
		//Moluccas (Ceram, Halmahera, Ambon)
522
		//Peninsular Malaysia (Kedah, Perak, Kelantan, Trengganu, Pahang, Selangor, Negri Sembilan, Malacca, Johore)
523
		//Borneo (Sabah, Sarawak, Kalimantan)
524
		//Sumatra (Aceh, Sumatera Barat, Sumatera Utara)
525
		//Lesser Sunda Islands (Bali, Lombok, Flores, Timor)
526

    
527
		
528
		//countries
529
		}else if (key.equalsIgnoreCase("Philippines")){return uuidPhilippines;
530
		
531

    
532
		
533
		}else{
534
			return null;
535
		}
536
	}
537

    
538
	/* (non-Javadoc)
539
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getPresenceTermByKey(java.lang.String)
540
	 */
541
	@Override
542
	public PresenceTerm getPresenceTermByKey(String key) throws UndefinedTransformerMethodException {
543
		if (CdmUtils.isEmpty(key)){return null;
544
		}else if (key.equalsIgnoreCase("endemic")){return PresenceTerm.ENDEMIC_FOR_THE_RELEVANT_AREA();
545
		}else if (key.equalsIgnoreCase("cultivated")){return PresenceTerm.CULTIVATED();
546
		}else{
547
			return null;
548
		}
549
	}
550

    
551
	/* (non-Javadoc)
552
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getPresenceTermUuid(java.lang.String)
553
	 */
554
	@Override
555
	public UUID getPresenceTermUuid(String key) throws UndefinedTransformerMethodException {
556
		if (CdmUtils.isEmpty(key)){return null;
557
//		}else if (key.equalsIgnoreCase("region")){return uuidRegion;
558
		}else{
559
			return null;
560
		}
561
	}
562
	
563
	
564
	
565
	
566
}
(9-9/11)