Project

General

Profile

Download (15.2 KB) Statistics
| Branch: | 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.globis;
12

    
13
import java.util.HashSet;
14
import java.util.Set;
15
import java.util.UUID;
16

    
17
import org.apache.commons.lang.StringUtils;
18
import org.apache.log4j.Logger;
19

    
20
import eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase;
21
import eu.etaxonomy.cdm.io.common.mapping.UndefinedTransformerMethodException;
22
import eu.etaxonomy.cdm.model.common.ExtensionType;
23
import eu.etaxonomy.cdm.model.description.Feature;
24
import eu.etaxonomy.cdm.model.location.NamedArea;
25
import eu.etaxonomy.cdm.model.location.TdwgArea;
26
import eu.etaxonomy.cdm.model.location.WaterbodyOrCountry;
27

    
28
/**
29
 * @author a.mueller
30
 * @created 01.03.2010
31
 * @version 1.0
32
 */
33
public final class GlobisTransformer extends InputTransformerBase {
34
	private static final Logger logger = Logger.getLogger(GlobisTransformer.class);
35
	
36

    
37
	//marker types
38
	public static final UUID uuidCheckedMarkerType = UUID.fromString("f2a7926f-def1-49a6-b642-9b81e6b1e35c");
39
	public static final UUID uuidOldRecordMarkerType = UUID.fromString("8616edc5-00d4-40ca-aca4-d48ec32231e9");
40
	public static final UUID uuidNotAvailableMarkerType = UUID.fromString("6931e584-6fc2-44ab-9084-e6452f8cd5d1");
41
	
42
	//extension types
43
	public static final UUID uuidExtTypeNotAvailableReason = UUID.fromString("d7dd5632-8c65-4058-b804-d1291560ac4c");
44
	
45
	public NamedArea getNamedAreaByKey(String area)  {
46
		Set<String> unhandledCountries = new HashSet<String>();
47
		
48
		if (StringUtils.isBlank(area)){return null;
49
		}else if (area.equals("Argentina")){return WaterbodyOrCountry.ARGENTINAARGENTINEREPUBLIC();
50
		}else if (area.equals("Bolivia")){return WaterbodyOrCountry.BOLIVIAREPUBLICOF();
51
		}else if (area.equals("Ghana")){return WaterbodyOrCountry.GHANAREPUBLICOF();
52
		}else if (area.equals("Angola")){return WaterbodyOrCountry.ANGOLAREPUBLICOF();
53
		}else if (area.equals("Tanzania")){return WaterbodyOrCountry.TANZANIAUNITEDREPUBLICOF();
54
		}else if (area.equals("China")){return WaterbodyOrCountry.CHINAPEOPLESREPUBLICOF();
55
		}else if (area.equals("Brunei")){return WaterbodyOrCountry.BRUNEIDARUSSALAM();
56
		}else if (area.equals("Australia")){return WaterbodyOrCountry.AUSTRALIACOMMONWEALTHOF();
57
		}else if (area.equals("Indonesia")){return WaterbodyOrCountry.INDONESIAREPUBLICOF();
58
		}else if (area.equals("Philippines")){return WaterbodyOrCountry.PHILIPPINESREPUBLICOFTHE();
59
		}else if (area.equals("Mongolia")){return WaterbodyOrCountry.MONGOLIAMONGOLIANPEOPLESREPUBLIC();
60
		}else if (area.equals("Russia")){return WaterbodyOrCountry.RUSSIANFEDERATION();
61
		}else if (area.equals("France")){return WaterbodyOrCountry.FRANCEFRENCHREPUBLIC();
62
		}else if (area.equals("Poland")){return WaterbodyOrCountry.POLANDPOLISHPEOPLESREPUBLIC();
63
		}else if (area.equals("Brazil")){return WaterbodyOrCountry.BRAZILFEDERATIVEREPUBLICOF();
64
		
65
		}else if (area.equals("Cuba")){return WaterbodyOrCountry.BRAZILFEDERATIVEREPUBLICOF();
66
		}else if (area.equals("Guatemala")){return WaterbodyOrCountry.GUATEMALAREPUBLICOF();
67
		}else if (area.equals("Colombia")){return WaterbodyOrCountry.COLOMBIAREPUBLICOF();
68
		}else if (area.equals("India")){return WaterbodyOrCountry.INDIAREPUBLICOF();
69
		
70
		}else if (area.equals("Mexico")){return WaterbodyOrCountry.MEXICOUNITEDMEXICANSTATES();
71
		}else if (area.equals("Peru")){return WaterbodyOrCountry.PERUREPUBLICOF();
72
		}else if (area.equals("Ecuador")){return WaterbodyOrCountry.ECUADORREPUBLICOF();
73
		}else if (area.equals("Venezuela")){return WaterbodyOrCountry.VENEZUELABOLIVARIANREPUBLICOF();
74
		}else if (area.equals("Guyana")){return WaterbodyOrCountry.GUYANAREPUBLICOF();
75
		}else if (area.equals("Panama")){return WaterbodyOrCountry.PANAMAREPUBLICOF();
76

    
77
		}else if (area.equals("Paraguay")){return WaterbodyOrCountry.PARAGUAYREPUBLICOF();
78
		}else if (area.equals("Suriname")){return WaterbodyOrCountry.SURINAMEREPUBLICOF();
79
		}else if (area.equals("Costa Rica")){return WaterbodyOrCountry.COSTARICAREPUBLICOF();
80
		}else if (area.equals("Ivory Coast")){return WaterbodyOrCountry.COTEDIVOIREIVORYCOASTREPUBLICOFTHE();
81

    
82
		}else if (area.equals("Benin")){return WaterbodyOrCountry.BENINPEOPLESREPUBLICOF();
83
		}else if (area.equalsIgnoreCase("Kenya")){return WaterbodyOrCountry.KENYAREPUBLICOF();
84
		}else if (area.equals("Uganda")){return WaterbodyOrCountry.UGANDAREPUBLICOF();
85
		}else if (area.equals("Zambia")){return WaterbodyOrCountry.ZAMBIAREPUBLICOF();
86
		}else if (area.equals("Rwanda")){return WaterbodyOrCountry.RWANDARWANDESEREPUBLIC();
87
		}else if (area.equals("South Africa")){return WaterbodyOrCountry.SOUTHAFRICAREPUBLICOF();
88
		}else if (area.equals("Botswana")){return WaterbodyOrCountry.BOTSWANAREPUBLICOF();
89
		}else if (area.equals("Burundi")){return WaterbodyOrCountry.BURUNDIREPUBLICOF();
90
		}else if (area.equals("Cameroon")){return WaterbodyOrCountry.CAMEROONUNITEDREPUBLICOF();
91
		
92
		}else if (area.equals("Congo")){return WaterbodyOrCountry.CONGOPEOPLESREPUBLICOF();
93
		}else if (area.equals("Zaire")){return WaterbodyOrCountry.CONGODEMOCRATICREPUBLICOF();
94
		}else if (area.equals("Equatorial Guinea")){return WaterbodyOrCountry.EQUATORIALGUINEAREPUBLICOF();
95
		}else if (area.equals("Gabon")){return WaterbodyOrCountry.GABONGABONESEREPUBLIC();
96
		}else if (area.equals("Liberia")){return WaterbodyOrCountry.LIBERIAREPUBLICOF();
97
		
98
		}else if (area.equals("Togo")){return WaterbodyOrCountry.TOGOTOGOLESEREPUBLIC();
99
		}else if (area.equals("Guinea")){return WaterbodyOrCountry.GUINEAREVOLUTIONARYPEOPLESREPCOF();
100
		}else if (area.equals("Guinea-Bissau")){return WaterbodyOrCountry.GUINEABISSAUREPUBLICOF();
101
		
102
		}else if (area.equals("Malawi")){return WaterbodyOrCountry.MALAWIREPUBLICOF();
103
		}else if (area.equals("Mozambique")){return WaterbodyOrCountry.MOZAMBIQUEPEOPLESREPUBLICOF();
104
		}else if (area.equals("Nigeria")){return WaterbodyOrCountry.NIGERIAFEDERALREPUBLICOF();
105
		}else if (area.equals("Senegal")){return WaterbodyOrCountry.SENEGALREPUBLICOF();
106
		}else if (area.equals("Sierra Leone")){return WaterbodyOrCountry.SIERRALEONEREPUBLICOF();
107
		}else if (area.equals("Sudan")){return WaterbodyOrCountry.SUDANDEMOCRATICREPUBLICOFTHE();
108
		}else if (area.equals("Madagascar")){return WaterbodyOrCountry.MADAGASCARREPUBLICOF();
109
		}else if (area.equals("Comoros")){return WaterbodyOrCountry.COMOROSUNIONOFTHE();
110
		
111
		}else if (area.equals("Vietnam")){return WaterbodyOrCountry.VIETNAMSOCIALISTREPUBLICOF();
112
		}else if (area.equals("Thailand")){return WaterbodyOrCountry.THAILANDKINGDOMOF();
113
		}else if (area.equals("Bhutan")){return WaterbodyOrCountry.BHUTANKINGDOMOF();
114
		}else if (area.equals("Laos")){return WaterbodyOrCountry.LAOPEOPLESDEMOCRATICREPUBLIC();
115
		}else if (area.equals("Myanmar (Burma)")){return WaterbodyOrCountry.MYANMAR();
116
		}else if (area.equals("Nepal")){return WaterbodyOrCountry.NEPALKINGDOMOF();
117
		}else if (area.equals("Pakistan")){return WaterbodyOrCountry.PAKISTANISLAMICREPUBLICOF();
118
		}else if (area.equals("Singapore")){return WaterbodyOrCountry.SINGAPOREREPUBLICOF();
119
		
120
		}else if (area.equals("Honduras")){return WaterbodyOrCountry.HONDURASREPUBLICOF();
121
		}else if (area.equals("Nicaragua")){return WaterbodyOrCountry.NICARAGUAREPUBLICOF();
122
		}else if (area.equals("Trinidad and Tobago")){return WaterbodyOrCountry.TRINIDADANDTOBAGOREPUBLICOF();
123
		}else if (area.equals("United States")){return WaterbodyOrCountry.UNITEDSTATESOFAMERICA();
124
		}else if (area.equals("Uruguay")){return WaterbodyOrCountry.URUGUAYEASTERNREPUBLICOF();
125
		}else if (area.equals("Haiti")){return WaterbodyOrCountry.HAITIREPUBLICOF();
126
		}else if (area.equals("North Korea")){return WaterbodyOrCountry.KOREADEMOCRATICPEOPLESREPUBLICOF();
127
		}else if (area.equals("South Korea")){return WaterbodyOrCountry.KOREAREPUBLICOF();
128
		}else if (area.equals("Taiwan")){return WaterbodyOrCountry.TAIWANPROVINCEOFCHINA();
129
		
130
		}else if (area.equals("Somalia")){return WaterbodyOrCountry.SOMALIASOMALIREPUBLIC();
131
		}else if (area.equals("Albania")){return WaterbodyOrCountry.ALBANIAPEOPLESSOCIALISTREPUBLICOF();
132
		}else if (area.equals("Algeria")){return WaterbodyOrCountry.ALGERIAPEOPLESDEMOCRATICREPUBLICOF();
133
		
134
		}else if (area.equals("Andorra")){return WaterbodyOrCountry.ANDORRAPRINCIPALITYOF();
135
		}else if (area.equals("Austria")){return WaterbodyOrCountry.AUSTRIAREPUBLICOF();
136
		}else if (area.equals("Azerbaijan")){return WaterbodyOrCountry.AZERBAIJANREPUBLICOF();
137
		}else if (area.equals("Bulgaria")){return WaterbodyOrCountry.BULGARIAPEOPLESREPUBLICOF();
138
		}else if (area.equals("Croatia")){return WaterbodyOrCountry.HRVATSKA();
139
		}else if (area.equals("Greece")){return WaterbodyOrCountry.GREECEHELLENICREPUBLIC();
140
		}else if (area.equals("Hungary")){return WaterbodyOrCountry.HUNGARYHUNGARIANPEOPLESREPUBLIC();
141
		
142
		}else if (area.equals("Iran")){return WaterbodyOrCountry.IRANISLAMICREPUBLICOF();
143
		}else if (area.equals("Iraq")){return WaterbodyOrCountry.IRAQREPUBLICOF();
144
		}else if (area.equals("Israel")){return WaterbodyOrCountry.ISRAELSTATEOF();
145
		}else if (area.equals("Italy")){return WaterbodyOrCountry.ITALYITALIANREPUBLIC();
146
		}else if (area.equals("Kazakhstan")){return WaterbodyOrCountry.KAZAKHSTANREPUBLICOF();
147
		}else if (area.equals("Kyrgyzstan")){return WaterbodyOrCountry.KYRGYZREPUBLIC();
148
		}else if (area.equals("Lebanon")){return WaterbodyOrCountry.LEBANONLEBANESEREPUBLIC();
149
		
150
		}else if (area.equals("Luxembourg")){return WaterbodyOrCountry.LUXEMBOURGGRANDDUCHYOF();
151
		}else if (area.equals("Macedonia")){return WaterbodyOrCountry.MACEDONIATHEFORMERYUGOSLAVREPUBLICOF();
152
		}else if (area.equals("Moldova")){return WaterbodyOrCountry.MOLDOVAREPUBLICOF();
153
		}else if (area.equals("Morocco")){return WaterbodyOrCountry.MOROCCOKINGDOMOF();
154
		}else if (area.equals("Romania")){return WaterbodyOrCountry.ROMANIASOCIALISTREPUBLICOF();
155
		}else if (area.equals("Serbia")){return WaterbodyOrCountry.SERBIAANDMONTENEGRO();
156
		}else if (area.equals("Slovakia")){return WaterbodyOrCountry.SLOVAKIA();
157
		}else if (area.equals("Spain")){return WaterbodyOrCountry.SPAINSPANISHSTATE();
158
		
159
		}else if (area.equals("Switzerland")){return WaterbodyOrCountry.SWITZERLANDSWISSCONFEDERATION();
160
		}else if (area.equals("Syria")){return WaterbodyOrCountry.SYRIANARABREPUBLIC();
161
		}else if (area.equals("Turkey")){return WaterbodyOrCountry.TURKEYREPUBLICOF();
162
		}else if (area.equals("Cambodia")){return WaterbodyOrCountry.CAMBODIAKINGDOMOF();
163
		}else if (area.equals("Bangladesh")){return WaterbodyOrCountry.BANGLADESHPEOPLESREPUBLICOF();
164
		
165
		}else if (area.equals("Sri Lanka")){return WaterbodyOrCountry.SRILANKADEMOCRATICSOCIALISTREPUBLICOF();
166
		}else if (area.equals("Bahamas")){return WaterbodyOrCountry.BAHAMASCOMMONWEALTHOFTHE();
167
		}else if (area.equals("Western Samoa")){return WaterbodyOrCountry.SAMOAINDEPENDENTSTATEOF();
168
		}else if (area.equals("Finland")){return WaterbodyOrCountry.FINLANDREPUBLICOF();
169
		}else if (area.equals("Norway")){return WaterbodyOrCountry.NORWAYKINGDOMOF();
170
		}else if (area.equals("El Salvador")){return WaterbodyOrCountry.ELSALVADORREPUBLICOF();
171
		}else if (area.equals("Cyprus")){return WaterbodyOrCountry.CYPRUSREPUBLICOF();
172
		}else if (area.equals("Sweden")){return WaterbodyOrCountry.SWEDENKINGDOMOF();
173
		}else if (area.equals("Denmark")){return WaterbodyOrCountry.DENMARKKINGDOMOF();
174
		}else if (area.equals("Trinidad & Tobago")){return WaterbodyOrCountry.TRINIDADANDTOBAGOREPUBLICOF();
175
		}else if (area.equals("Chile")){return WaterbodyOrCountry.CHILEREPUBLICOF();
176
		}else if (area.equals("Jordan")){return WaterbodyOrCountry.JORDANHASHEMITEKINGDOMOF();
177
		}else if (area.equals("Montenegro")){
178
			logger.warn("Montenegro is currently mapped to 'Serbia & Montenegro'");
179
			return WaterbodyOrCountry.SERBIAANDMONTENEGRO();
180
		}else if (area.equals("Portugal")){return WaterbodyOrCountry.PORTUGALPORTUGUESEREPUBLIC();
181
		}else if (area.equals("Tunisia")){return WaterbodyOrCountry.TUNISIAREPUBLICOF();
182
		}else if (area.equals("Seychelles")){return WaterbodyOrCountry.SEYCHELLESREPUBLICOF();
183
		}else if (area.equals("Fiji")){return WaterbodyOrCountry.FIJIREPUBLICOFTHEFIJIISLANDS();
184
		}else if (area.equals("Belgium")){return WaterbodyOrCountry.BELGIUMKINGDOMOF();
185
		}else if (area.equals("Virgin Islands")){return WaterbodyOrCountry.USVIRGINISLANDS();
186
		}else if (area.equals("Gambia")){return WaterbodyOrCountry.GAMBIAREPUBLICOFTHE();
187
		}else if (area.equals("Dominica")){return WaterbodyOrCountry.DOMINICACOMMONWEALTHOF();
188
		}else if (area.equals("Liechtenstein")){return WaterbodyOrCountry.LIECHTENSTEINPRINCIPALITYOF();
189
		}else if (area.matches("B(y)?elarus")){return WaterbodyOrCountry.BELARUS();
190
		}else if (area.matches("United States: Alaska")){ return TdwgArea.getAreaByTdwgAbbreviation("ASK");
191
		
192
		}else{	
193
			if (unhandledCountries.contains(area)){
194
				logger.warn("Unhandled country '" + area + "' replaced by null" );
195
				return null;
196
			}
197
			return null;
198

    
199
		}
200

    
201
	}
202
	
203
	/* (non-Javadoc)
204
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getLanguageUuid(java.lang.String)
205
	 */
206
	@Override
207
	public UUID getLanguageUuid(String key)
208
			throws UndefinedTransformerMethodException {
209
		return super.getLanguageUuid(key);
210
	}
211
	
212
	
213
	
214
	
215
	
216

    
217
	/* (non-Javadoc)
218
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getExtensionTypeByKey(java.lang.String)
219
	 */
220
	@Override
221
	public ExtensionType getExtensionTypeByKey(String key) throws UndefinedTransformerMethodException {
222
		if (key == null){return null;
223
		}
224
		return null;
225
	}
226

    
227
	/* (non-Javadoc)
228
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getExtensionTypeUuid(java.lang.String)
229
	 */
230
	@Override
231
	public UUID getExtensionTypeUuid(String key)
232
			throws UndefinedTransformerMethodException {
233
		if (key == null){return null;
234
		}else if (key.equalsIgnoreCase("not available reason")){return uuidExtTypeNotAvailableReason;
235
//		}else if (key.equalsIgnoreCase("recent + fossil")){return uuidRecentAndFossil;
236
//		}else if (key.equalsIgnoreCase("fossil only")){return uuidFossilOnly;
237
		}
238
		return null;
239
	}
240
	
241
	/* (non-Javadoc)
242
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getExtensionTypeUuid(java.lang.String)
243
	 */
244
	@Override
245
	public UUID getMarkerTypeUuid(String key)
246
			throws UndefinedTransformerMethodException {
247
		if (key == null){return null;
248
		}else if (key.equalsIgnoreCase("old record")){return uuidOldRecordMarkerType;
249
		}else if (key.equalsIgnoreCase("checked")){return uuidCheckedMarkerType;
250
		}else if (key.equalsIgnoreCase("not available")){return uuidNotAvailableMarkerType;
251
		
252
		}
253
		return null;
254
	}
255

    
256
	
257

    
258
	/* (non-Javadoc)
259
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getFeatureByKey(java.lang.String)
260
	 */
261
	@Override
262
	public Feature getFeatureByKey(String key) throws UndefinedTransformerMethodException {
263
		if (StringUtils.isBlank(key)){return null;
264
		}else if (key.equalsIgnoreCase("Distribution")){return Feature.DISTRIBUTION();
265
		}else if (key.equalsIgnoreCase("Ecology")){return Feature.ECOLOGY();
266
		}else if (key.equalsIgnoreCase("Diagnosis")){return Feature.DIAGNOSIS();
267
		}else if (key.equalsIgnoreCase("Biology")){return Feature.BIOLOGY_ECOLOGY();
268
		}else if (key.equalsIgnoreCase("Host")){return Feature.HOSTPLANT();
269
		}else{
270
			return null;
271
		}
272
	}
273

    
274
	
275
	
276
	
277
}
(9-9/9)