Project

General

Profile

Download (13.9 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.equals("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.Guinea();
135
		}else if (area.equals("Malawi")){return WaterbodyOrCountry.MALAWIREPUBLICOF();
136
		}else if (area.equals("Mozambique")){return WaterbodyOrCountry.MOZAMBIQUEPEOPLESREPUBLICOF();
137
		}else if (area.equals("Nigeria")){return WaterbodyOrCountry.NIGERIAFEDERALREPUBLICOF();
138
		}else if (area.equals("Senegal")){return WaterbodyOrCountry.SENEGALREPUBLICOF();
139
		}else if (area.equals("Sierra Leone")){return WaterbodyOrCountry.SIERRALEONEREPUBLICOF();
140
		}else if (area.equals("Sudan")){return WaterbodyOrCountry.SUDANDEMOCRATICREPUBLICOFTHE();
141
		}else if (area.equals("Madagascar")){return WaterbodyOrCountry.MADAGASCARREPUBLICOF();
142
		}else if (area.equals("Comoros")){return WaterbodyOrCountry.COMOROSUNIONOFTHE();
143
		
144
		}else if (area.equals("Vietnam")){return WaterbodyOrCountry.VIETNAMSOCIALISTREPUBLICOF();
145
		}else if (area.equals("Thailand")){return WaterbodyOrCountry.THAILANDKINGDOMOF();
146
		}else if (area.equals("Bhutan")){return WaterbodyOrCountry.BHUTANKINGDOMOF();
147
		}else if (area.equals("Laos")){return WaterbodyOrCountry.LAOPEOPLESDEMOCRATICREPUBLIC();
148
		}else if (area.equals("Myanmar (Burma)")){return WaterbodyOrCountry.MYANMAR();
149
		}else if (area.equals("Nepal")){return WaterbodyOrCountry.NEPALKINGDOMOF();
150
		}else if (area.equals("Pakistan")){return WaterbodyOrCountry.PAKISTANISLAMICREPUBLICOF();
151
		}else if (area.equals("Singapore")){return WaterbodyOrCountry.SINGAPOREREPUBLICOF();
152
		
153
		}else if (area.equals("Honduras")){return WaterbodyOrCountry.HONDURASREPUBLICOF();
154
		}else if (area.equals("Nicaragua")){return WaterbodyOrCountry.NICARAGUAREPUBLICOF();
155
		}else if (area.equals("Trinidad and Tobago")){return WaterbodyOrCountry.TRINIDADANDTOBAGOREPUBLICOF();
156
		}else if (area.equals("United States")){return WaterbodyOrCountry.UNITEDSTATESOFAMERICA();
157
		}else if (area.equals("Uruguay")){return WaterbodyOrCountry.URUGUAYEASTERNREPUBLICOF();
158
		}else if (area.equals("Haiti")){return WaterbodyOrCountry.HAITIREPUBLICOF();
159
		}else if (area.equals("North Korea")){return WaterbodyOrCountry.KOREADEMOCRATICPEOPLESREPUBLICOF();
160
		}else if (area.equals("South Korea")){return WaterbodyOrCountry.KOREAREPUBLICOF();
161
		}else if (area.equals("Taiwan")){return WaterbodyOrCountry.TAIWANPROVINCEOFCHINA();
162
		
163
		}else if (area.equals("Somalia")){return WaterbodyOrCountry.SOMALIASOMALIREPUBLIC();
164
		}else if (area.equals("Albania")){return WaterbodyOrCountry.ALBANIAPEOPLESSOCIALISTREPUBLICOF();
165
		}else if (area.equals("Algeria")){return WaterbodyOrCountry.ALGERIAPEOPLESDEMOCRATICREPUBLICOF();
166
		
167
		}else if (area.equals("Andorra")){return WaterbodyOrCountry.ANDORRAPRINCIPALITYOF();
168
		}else if (area.equals("Austria")){return WaterbodyOrCountry.AUSTRIAREPUBLICOF();
169
		}else if (area.equals("Azerbaijan")){return WaterbodyOrCountry.AZERBAIJANREPUBLICOF();
170
		}else if (area.equals("Bulgaria")){return WaterbodyOrCountry.BULGARIAPEOPLESREPUBLICOF();
171
//		}else if (area.equals("Croatia")){return WaterbodyOrCountry.Croatia();
172
		}else if (area.equals("Greece")){return WaterbodyOrCountry.GREECEHELLENICREPUBLIC();
173
		}else if (area.equals("Hungary")){return WaterbodyOrCountry.HUNGARYHUNGARIANPEOPLESREPUBLIC();
174
		
175
		}else if (area.equals("Iran")){return WaterbodyOrCountry.IRANISLAMICREPUBLICOF();
176
		}else if (area.equals("Iraq")){return WaterbodyOrCountry.IRAQREPUBLICOF();
177
		}else if (area.equals("Israel")){return WaterbodyOrCountry.ISRAELSTATEOF();
178
		}else if (area.equals("Italy")){return WaterbodyOrCountry.ITALYITALIANREPUBLIC();
179
		}else if (area.equals("Kazakhstan")){return WaterbodyOrCountry.KAZAKHSTANREPUBLICOF();
180
		}else if (area.equals("Kyrgyzstan")){return WaterbodyOrCountry.KYRGYZREPUBLIC();
181
		}else if (area.equals("Lebanon")){return WaterbodyOrCountry.LEBANONLEBANESEREPUBLIC();
182
		
183
		}else if (area.equals("Luxembourg")){return WaterbodyOrCountry.LUXEMBOURGGRANDDUCHYOF();
184
		}else if (area.equals("Macedonia")){return WaterbodyOrCountry.MACEDONIATHEFORMERYUGOSLAVREPUBLICOF();
185
		}else if (area.equals("Moldova")){return WaterbodyOrCountry.MOLDOVAREPUBLICOF();
186
		}else if (area.equals("Morocco")){return WaterbodyOrCountry.MOROCCOKINGDOMOF();
187
		}else if (area.equals("Romania")){return WaterbodyOrCountry.ROMANIASOCIALISTREPUBLICOF();
188
		}else if (area.equals("Serbia")){return WaterbodyOrCountry.SERBIAANDMONTENEGRO();
189
		}else if (area.equals("Slovakia")){return WaterbodyOrCountry.SLOVAKIA();
190
		}else if (area.equals("Spain")){return WaterbodyOrCountry.SPAINSPANISHSTATE();
191
		
192
		}else if (area.equals("Switzerland")){return WaterbodyOrCountry.SWITZERLANDSWISSCONFEDERATION();
193
		}else if (area.equals("Syria")){return WaterbodyOrCountry.SYRIANARABREPUBLIC();
194
		}else if (area.equals("Turkey")){return WaterbodyOrCountry.TURKEYREPUBLICOF();
195
		}else if (area.equals("Cambodia")){return WaterbodyOrCountry.CAMBODIAKINGDOMOF();
196
		}else if (area.equals("Bangladesh")){return WaterbodyOrCountry.BANGLADESHPEOPLESREPUBLICOF();
197
		
198
		}else if (area.equals("Sri Lanka")){return WaterbodyOrCountry.SRILANKADEMOCRATICSOCIALISTREPUBLICOF();
199
		}else if (area.equals("Bahamas")){return WaterbodyOrCountry.BAHAMASCOMMONWEALTHOFTHE();
200
//		}else if (area.equals("Western Samoa")){return WaterbodyOrCountry.WESTERNSAMOA();
201
		}else if (area.equals("Finland")){return WaterbodyOrCountry.FINLANDREPUBLICOF();
202
		}else if (area.equals("Norway")){return WaterbodyOrCountry.NORWAYKINGDOMOF();
203
		}else if (area.equals("El Salvador")){return WaterbodyOrCountry.ELSALVADORREPUBLICOF();
204
		}else if (area.equals("Cyprus")){return WaterbodyOrCountry.CYPRUSREPUBLICOF();
205
		
206
		
207
		}else{	
208
			if (unhandledCountries.contains(area)){
209
//				logger.warn("Unhandled country '" + area + "' replaced by null" );
210
				return null;
211
			}
212
//			String warning = "New language abbreviation " + area;
213
//			logger.warn(warning);
214
			return null;
215
//			throw new IllegalArgumentException(warning);
216
		}
217
		
218
		
219
		
220
	}
221
	
222
	/* (non-Javadoc)
223
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getLanguageUuid(java.lang.String)
224
	 */
225
	@Override
226
	public UUID getLanguageUuid(String key)
227
			throws UndefinedTransformerMethodException {
228
		return super.getLanguageUuid(key);
229
	}
230
	
231
	
232
	
233
	
234
	
235

    
236
	/* (non-Javadoc)
237
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getExtensionTypeByKey(java.lang.String)
238
	 */
239
	@Override
240
	public ExtensionType getExtensionTypeByKey(String key) throws UndefinedTransformerMethodException {
241
		if (key == null){return null;
242
		}
243
		return null;
244
	}
245

    
246
	/* (non-Javadoc)
247
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getExtensionTypeUuid(java.lang.String)
248
	 */
249
	@Override
250
	public UUID getExtensionTypeUuid(String key)
251
			throws UndefinedTransformerMethodException {
252
		if (key == null){return null;
253
//		}else if (key.equalsIgnoreCase("recent only")){return uuidRecentOnly;
254
//		}else if (key.equalsIgnoreCase("recent + fossil")){return uuidRecentAndFossil;
255
//		}else if (key.equalsIgnoreCase("fossil only")){return uuidFossilOnly;
256
		}
257
		return null;
258
	}
259

    
260
	
261

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

    
278
	
279
	
280
	
281
}
(9-9/9)