Project

General

Profile

Download (15.5 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.WaterbodyOrCountry;
26
import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus;
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
	//extension types
38
//	public static final UUID uuidEditor = UUID.fromString("07752659-3018-4880-bf26-41bb396fbf37");
39
	
40
	
41
	//language uuids
42
	
43
	
44
	
45
	
46
	
47
	/* (non-Javadoc)
48
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getNameTypeDesignationStatusByKey(java.lang.String)
49
	 */
50
	@Override
51
	public NameTypeDesignationStatus getNameTypeDesignationStatusByKey(String key) throws UndefinedTransformerMethodException {
52
		if (key == null){
53
			return null;
54
		}
55
		Integer intDesignationId = Integer.valueOf(key);
56
		switch (intDesignationId){
57
			case 1: return NameTypeDesignationStatus.ORIGINAL_DESIGNATION();
58
			case 2: return NameTypeDesignationStatus.SUBSEQUENT_DESIGNATION();
59
			case 3: return NameTypeDesignationStatus.MONOTYPY();
60
			default: 
61
				String warning = "Unknown name type designation status id " + key;
62
				logger.warn(warning);
63
				return null;
64
		}
65
	}
66

    
67

    
68

    
69

    
70
	/* (non-Javadoc)
71
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getNameTypeDesignationStatusUuid(java.lang.String)
72
	 */
73
	@Override
74
	public UUID getNameTypeDesignationStatusUuid(String key) throws UndefinedTransformerMethodException {
75
		//nott needed
76
		return super.getNameTypeDesignationStatusUuid(key);
77
	}
78

    
79

    
80
	public NamedArea getNamedAreaByKey(String area)  {
81
		Set<String> unhandledCountries = new HashSet<String>();
82
		
83
		if (StringUtils.isBlank(area)){return null;
84
		}else if (area.equals("Argentina")){return WaterbodyOrCountry.ARGENTINAARGENTINEREPUBLIC();
85
		}else if (area.equals("Bolivia")){return WaterbodyOrCountry.BOLIVIAREPUBLICOF();
86
		}else if (area.equals("Ghana")){return WaterbodyOrCountry.GHANAREPUBLICOF();
87
		}else if (area.equals("Angola")){return WaterbodyOrCountry.ANGOLAREPUBLICOF();
88
		}else if (area.equals("Tanzania")){return WaterbodyOrCountry.TANZANIAUNITEDREPUBLICOF();
89
		}else if (area.equals("China")){return WaterbodyOrCountry.CHINAPEOPLESREPUBLICOF();
90
		}else if (area.equals("Brunei")){return WaterbodyOrCountry.BRUNEIDARUSSALAM();
91
		}else if (area.equals("Australia")){return WaterbodyOrCountry.AUSTRALIACOMMONWEALTHOF();
92
		}else if (area.equals("Indonesia")){return WaterbodyOrCountry.INDONESIAREPUBLICOF();
93
		}else if (area.equals("Philippines")){return WaterbodyOrCountry.PHILIPPINESREPUBLICOFTHE();
94
		}else if (area.equals("Mongolia")){return WaterbodyOrCountry.MONGOLIAMONGOLIANPEOPLESREPUBLIC();
95
		}else if (area.equals("Russia")){return WaterbodyOrCountry.RUSSIANFEDERATION();
96
		}else if (area.equals("France")){return WaterbodyOrCountry.FRANCEFRENCHREPUBLIC();
97
		}else if (area.equals("Poland")){return WaterbodyOrCountry.POLANDPOLISHPEOPLESREPUBLIC();
98
		}else if (area.equals("Brazil")){return WaterbodyOrCountry.BRAZILFEDERATIVEREPUBLICOF();
99
		
100
		}else if (area.equals("Cuba")){return WaterbodyOrCountry.BRAZILFEDERATIVEREPUBLICOF();
101
		}else if (area.equals("Guatemala")){return WaterbodyOrCountry.GUATEMALAREPUBLICOF();
102
		}else if (area.equals("Colombia")){return WaterbodyOrCountry.COLOMBIAREPUBLICOF();
103
		}else if (area.equals("India")){return WaterbodyOrCountry.INDIAREPUBLICOF();
104
		
105
		}else if (area.equals("Mexico")){return WaterbodyOrCountry.MEXICOUNITEDMEXICANSTATES();
106
		}else if (area.equals("Peru")){return WaterbodyOrCountry.PERUREPUBLICOF();
107
		}else if (area.equals("Ecuador")){return WaterbodyOrCountry.ECUADORREPUBLICOF();
108
		}else if (area.equals("Venezuela")){return WaterbodyOrCountry.VENEZUELABOLIVARIANREPUBLICOF();
109
		}else if (area.equals("Guyana")){return WaterbodyOrCountry.GUYANAREPUBLICOF();
110
		}else if (area.equals("Panama")){return WaterbodyOrCountry.PANAMAREPUBLICOF();
111

    
112
		}else if (area.equals("Paraguay")){return WaterbodyOrCountry.PARAGUAYREPUBLICOF();
113
		}else if (area.equals("Suriname")){return WaterbodyOrCountry.SURINAMEREPUBLICOF();
114
		}else if (area.equals("Costa Rica")){return WaterbodyOrCountry.COSTARICAREPUBLICOF();
115
		}else if (area.equals("Ivory Coast")){return WaterbodyOrCountry.COTEDIVOIREIVORYCOASTREPUBLICOFTHE();
116

    
117
		}else if (area.equals("Benin")){return WaterbodyOrCountry.BENINPEOPLESREPUBLICOF();
118
		}else if (area.equalsIgnoreCase("Kenya")){return WaterbodyOrCountry.KENYAREPUBLICOF();
119
		}else if (area.equals("Uganda")){return WaterbodyOrCountry.UGANDAREPUBLICOF();
120
		}else if (area.equals("Zambia")){return WaterbodyOrCountry.ZAMBIAREPUBLICOF();
121
		}else if (area.equals("Rwanda")){return WaterbodyOrCountry.RWANDARWANDESEREPUBLIC();
122
		}else if (area.equals("South Africa")){return WaterbodyOrCountry.SOUTHAFRICAREPUBLICOF();
123
		}else if (area.equals("Botswana")){return WaterbodyOrCountry.BOTSWANAREPUBLICOF();
124
		}else if (area.equals("Burundi")){return WaterbodyOrCountry.BURUNDIREPUBLICOF();
125
		}else if (area.equals("Cameroon")){return WaterbodyOrCountry.CAMEROONUNITEDREPUBLICOF();
126
		
127
		}else if (area.equals("Congo")){return WaterbodyOrCountry.CONGOPEOPLESREPUBLICOF();
128
		}else if (area.equals("Zaire")){return WaterbodyOrCountry.CONGODEMOCRATICREPUBLICOF();
129
		}else if (area.equals("Equatorial Guinea")){return WaterbodyOrCountry.EQUATORIALGUINEAREPUBLICOF();
130
		}else if (area.equals("Gabon")){return WaterbodyOrCountry.GABONGABONESEREPUBLIC();
131
		}else if (area.equals("Liberia")){return WaterbodyOrCountry.LIBERIAREPUBLICOF();
132
		
133
		}else if (area.equals("Togo")){return WaterbodyOrCountry.TOGOTOGOLESEREPUBLIC();
134
		}else if (area.equals("Guinea")){return WaterbodyOrCountry.GUINEAREVOLUTIONARYPEOPLESREPCOF();
135
		}else if (area.equals("Guinea-Bissau")){return WaterbodyOrCountry.GUINEABISSAUREPUBLICOF();
136
		
137
		}else if (area.equals("Malawi")){return WaterbodyOrCountry.MALAWIREPUBLICOF();
138
		}else if (area.equals("Mozambique")){return WaterbodyOrCountry.MOZAMBIQUEPEOPLESREPUBLICOF();
139
		}else if (area.equals("Nigeria")){return WaterbodyOrCountry.NIGERIAFEDERALREPUBLICOF();
140
		}else if (area.equals("Senegal")){return WaterbodyOrCountry.SENEGALREPUBLICOF();
141
		}else if (area.equals("Sierra Leone")){return WaterbodyOrCountry.SIERRALEONEREPUBLICOF();
142
		}else if (area.equals("Sudan")){return WaterbodyOrCountry.SUDANDEMOCRATICREPUBLICOFTHE();
143
		}else if (area.equals("Madagascar")){return WaterbodyOrCountry.MADAGASCARREPUBLICOF();
144
		}else if (area.equals("Comoros")){return WaterbodyOrCountry.COMOROSUNIONOFTHE();
145
		
146
		}else if (area.equals("Vietnam")){return WaterbodyOrCountry.VIETNAMSOCIALISTREPUBLICOF();
147
		}else if (area.equals("Thailand")){return WaterbodyOrCountry.THAILANDKINGDOMOF();
148
		}else if (area.equals("Bhutan")){return WaterbodyOrCountry.BHUTANKINGDOMOF();
149
		}else if (area.equals("Laos")){return WaterbodyOrCountry.LAOPEOPLESDEMOCRATICREPUBLIC();
150
		}else if (area.equals("Myanmar (Burma)")){return WaterbodyOrCountry.MYANMAR();
151
		}else if (area.equals("Nepal")){return WaterbodyOrCountry.NEPALKINGDOMOF();
152
		}else if (area.equals("Pakistan")){return WaterbodyOrCountry.PAKISTANISLAMICREPUBLICOF();
153
		}else if (area.equals("Singapore")){return WaterbodyOrCountry.SINGAPOREREPUBLICOF();
154
		
155
		}else if (area.equals("Honduras")){return WaterbodyOrCountry.HONDURASREPUBLICOF();
156
		}else if (area.equals("Nicaragua")){return WaterbodyOrCountry.NICARAGUAREPUBLICOF();
157
		}else if (area.equals("Trinidad and Tobago")){return WaterbodyOrCountry.TRINIDADANDTOBAGOREPUBLICOF();
158
		}else if (area.equals("United States")){return WaterbodyOrCountry.UNITEDSTATESOFAMERICA();
159
		}else if (area.equals("Uruguay")){return WaterbodyOrCountry.URUGUAYEASTERNREPUBLICOF();
160
		}else if (area.equals("Haiti")){return WaterbodyOrCountry.HAITIREPUBLICOF();
161
		}else if (area.equals("North Korea")){return WaterbodyOrCountry.KOREADEMOCRATICPEOPLESREPUBLICOF();
162
		}else if (area.equals("South Korea")){return WaterbodyOrCountry.KOREAREPUBLICOF();
163
		}else if (area.equals("Taiwan")){return WaterbodyOrCountry.TAIWANPROVINCEOFCHINA();
164
		
165
		}else if (area.equals("Somalia")){return WaterbodyOrCountry.SOMALIASOMALIREPUBLIC();
166
		}else if (area.equals("Albania")){return WaterbodyOrCountry.ALBANIAPEOPLESSOCIALISTREPUBLICOF();
167
		}else if (area.equals("Algeria")){return WaterbodyOrCountry.ALGERIAPEOPLESDEMOCRATICREPUBLICOF();
168
		
169
		}else if (area.equals("Andorra")){return WaterbodyOrCountry.ANDORRAPRINCIPALITYOF();
170
		}else if (area.equals("Austria")){return WaterbodyOrCountry.AUSTRIAREPUBLICOF();
171
		}else if (area.equals("Azerbaijan")){return WaterbodyOrCountry.AZERBAIJANREPUBLICOF();
172
		}else if (area.equals("Bulgaria")){return WaterbodyOrCountry.BULGARIAPEOPLESREPUBLICOF();
173
		}else if (area.equals("Croatia")){return WaterbodyOrCountry.HRVATSKA();
174
		}else if (area.equals("Greece")){return WaterbodyOrCountry.GREECEHELLENICREPUBLIC();
175
		}else if (area.equals("Hungary")){return WaterbodyOrCountry.HUNGARYHUNGARIANPEOPLESREPUBLIC();
176
		
177
		}else if (area.equals("Iran")){return WaterbodyOrCountry.IRANISLAMICREPUBLICOF();
178
		}else if (area.equals("Iraq")){return WaterbodyOrCountry.IRAQREPUBLICOF();
179
		}else if (area.equals("Israel")){return WaterbodyOrCountry.ISRAELSTATEOF();
180
		}else if (area.equals("Italy")){return WaterbodyOrCountry.ITALYITALIANREPUBLIC();
181
		}else if (area.equals("Kazakhstan")){return WaterbodyOrCountry.KAZAKHSTANREPUBLICOF();
182
		}else if (area.equals("Kyrgyzstan")){return WaterbodyOrCountry.KYRGYZREPUBLIC();
183
		}else if (area.equals("Lebanon")){return WaterbodyOrCountry.LEBANONLEBANESEREPUBLIC();
184
		
185
		}else if (area.equals("Luxembourg")){return WaterbodyOrCountry.LUXEMBOURGGRANDDUCHYOF();
186
		}else if (area.equals("Macedonia")){return WaterbodyOrCountry.MACEDONIATHEFORMERYUGOSLAVREPUBLICOF();
187
		}else if (area.equals("Moldova")){return WaterbodyOrCountry.MOLDOVAREPUBLICOF();
188
		}else if (area.equals("Morocco")){return WaterbodyOrCountry.MOROCCOKINGDOMOF();
189
		}else if (area.equals("Romania")){return WaterbodyOrCountry.ROMANIASOCIALISTREPUBLICOF();
190
		}else if (area.equals("Serbia")){return WaterbodyOrCountry.SERBIAANDMONTENEGRO();
191
		}else if (area.equals("Slovakia")){return WaterbodyOrCountry.SLOVAKIA();
192
		}else if (area.equals("Spain")){return WaterbodyOrCountry.SPAINSPANISHSTATE();
193
		
194
		}else if (area.equals("Switzerland")){return WaterbodyOrCountry.SWITZERLANDSWISSCONFEDERATION();
195
		}else if (area.equals("Syria")){return WaterbodyOrCountry.SYRIANARABREPUBLIC();
196
		}else if (area.equals("Turkey")){return WaterbodyOrCountry.TURKEYREPUBLICOF();
197
		}else if (area.equals("Cambodia")){return WaterbodyOrCountry.CAMBODIAKINGDOMOF();
198
		}else if (area.equals("Bangladesh")){return WaterbodyOrCountry.BANGLADESHPEOPLESREPUBLICOF();
199
		
200
		}else if (area.equals("Sri Lanka")){return WaterbodyOrCountry.SRILANKADEMOCRATICSOCIALISTREPUBLICOF();
201
		}else if (area.equals("Bahamas")){return WaterbodyOrCountry.BAHAMASCOMMONWEALTHOFTHE();
202
		}else if (area.equals("Western Samoa")){return WaterbodyOrCountry.SAMOAINDEPENDENTSTATEOF();
203
		}else if (area.equals("Finland")){return WaterbodyOrCountry.FINLANDREPUBLICOF();
204
		}else if (area.equals("Norway")){return WaterbodyOrCountry.NORWAYKINGDOMOF();
205
		}else if (area.equals("El Salvador")){return WaterbodyOrCountry.ELSALVADORREPUBLICOF();
206
		}else if (area.equals("Cyprus")){return WaterbodyOrCountry.CYPRUSREPUBLICOF();
207
		}else if (area.equals("Sweden")){return WaterbodyOrCountry.SWEDENKINGDOMOF();
208
		}else if (area.equals("Denmark")){return WaterbodyOrCountry.DENMARKKINGDOMOF();
209
		}else if (area.equals("Trinidad & Tobago")){return WaterbodyOrCountry.TRINIDADANDTOBAGOREPUBLICOF();
210
		}else if (area.equals("Chile")){return WaterbodyOrCountry.CHILEREPUBLICOF();
211
		}else if (area.equals("Jordan")){return WaterbodyOrCountry.JORDANHASHEMITEKINGDOMOF();
212
		}else if (area.equals("Montenegro")){
213
			logger.warn("Montenegro is currently mapped to 'Serbia & Montenegro'");
214
			return WaterbodyOrCountry.SERBIAANDMONTENEGRO();
215
		}else if (area.equals("Portugal")){return WaterbodyOrCountry.PORTUGALPORTUGUESEREPUBLIC();
216
		}else if (area.equals("Tunisia")){return WaterbodyOrCountry.TUNISIAREPUBLICOF();
217
		}else if (area.equals("Seychelles")){return WaterbodyOrCountry.SEYCHELLESREPUBLICOF();
218
		}else if (area.equals("Fiji")){return WaterbodyOrCountry.FIJIREPUBLICOFTHEFIJIISLANDS();
219
		}else if (area.equals("Belgium")){return WaterbodyOrCountry.BELGIUMKINGDOMOF();
220
		}else if (area.equals("Virgin Islands")){return WaterbodyOrCountry.USVIRGINISLANDS();
221
		}else if (area.equals("Gambia")){return WaterbodyOrCountry.GAMBIAREPUBLICOFTHE();
222
		}else if (area.equals("Dominica")){return WaterbodyOrCountry.DOMINICACOMMONWEALTHOF();
223
		}else if (area.equals("Liechtenstein")){return WaterbodyOrCountry.LIECHTENSTEINPRINCIPALITYOF();
224
		}else if (area.matches("B(y)?elarus")){return WaterbodyOrCountry.BELARUS();
225
		
226
		
227
		
228
		
229
		
230
		}else{	
231
			if (unhandledCountries.contains(area)){
232
//				logger.warn("Unhandled country '" + area + "' replaced by null" );
233
				return null;
234
			}
235
//			String warning = "New language abbreviation " + area;
236
//			logger.warn(warning);
237
			return null;
238
//			throw new IllegalArgumentException(warning);
239
		}
240
		
241
		
242
		
243
	}
244
	
245
	/* (non-Javadoc)
246
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getLanguageUuid(java.lang.String)
247
	 */
248
	@Override
249
	public UUID getLanguageUuid(String key)
250
			throws UndefinedTransformerMethodException {
251
		return super.getLanguageUuid(key);
252
	}
253
	
254
	
255
	
256
	
257
	
258

    
259
	/* (non-Javadoc)
260
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getExtensionTypeByKey(java.lang.String)
261
	 */
262
	@Override
263
	public ExtensionType getExtensionTypeByKey(String key) throws UndefinedTransformerMethodException {
264
		if (key == null){return null;
265
		}
266
		return null;
267
	}
268

    
269
	/* (non-Javadoc)
270
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getExtensionTypeUuid(java.lang.String)
271
	 */
272
	@Override
273
	public UUID getExtensionTypeUuid(String key)
274
			throws UndefinedTransformerMethodException {
275
		if (key == null){return null;
276
//		}else if (key.equalsIgnoreCase("recent only")){return uuidRecentOnly;
277
//		}else if (key.equalsIgnoreCase("recent + fossil")){return uuidRecentAndFossil;
278
//		}else if (key.equalsIgnoreCase("fossil only")){return uuidFossilOnly;
279
		}
280
		return null;
281
	}
282

    
283
	
284

    
285
	/* (non-Javadoc)
286
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getFeatureByKey(java.lang.String)
287
	 */
288
	@Override
289
	public Feature getFeatureByKey(String key) throws UndefinedTransformerMethodException {
290
		if (StringUtils.isBlank(key)){return null;
291
		}else if (key.equalsIgnoreCase("Distribution")){return Feature.DISTRIBUTION();
292
		}else if (key.equalsIgnoreCase("Ecology")){return Feature.ECOLOGY();
293
		}else if (key.equalsIgnoreCase("Diagnosis")){return Feature.DIAGNOSIS();
294
		}else if (key.equalsIgnoreCase("Biology")){return Feature.BIOLOGY_ECOLOGY();
295
		}else if (key.equalsIgnoreCase("Host")){return Feature.HOSTPLANT();
296
		}else{
297
			return null;
298
		}
299
	}
300

    
301
	
302
	
303
	
304
}
(10-10/10)