update Globis import
[cdmlib-apps.git] / app-import / src / main / java / eu / etaxonomy / cdm / io / globis / GlobisTransformer.java
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 }