Project

General

Profile

Download (9.75 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.Congo();
128
		}else if (area.equals("Equatorial Guinea")){return WaterbodyOrCountry.EQUATORIALGUINEAREPUBLICOF();
129
		}else if (area.equals("Gabon")){return WaterbodyOrCountry.GABONGABONESEREPUBLIC();
130
		}else if (area.equals("Liberia")){return WaterbodyOrCountry.LIBERIAREPUBLICOF();
131
		
132
		}else if (area.equals("Togo")){return WaterbodyOrCountry.TOGOTOGOLESEREPUBLIC();
133
//		}else if (area.equals("Guinea")){return WaterbodyOrCountry.Guinea();
134
		}else if (area.equals("Malawi")){return WaterbodyOrCountry.MALAWIREPUBLICOF();
135
		}else if (area.equals("Mozambique")){return WaterbodyOrCountry.MOZAMBIQUEPEOPLESREPUBLICOF();
136
		}else if (area.equals("Nigeria")){return WaterbodyOrCountry.NIGERIAFEDERALREPUBLICOF();
137
		}else if (area.equals("Senegal")){return WaterbodyOrCountry.SENEGALREPUBLICOF();
138
		}else if (area.equals("Sierra Leone")){return WaterbodyOrCountry.SIERRALEONEREPUBLICOF();
139
		}else if (area.equals("Sudan")){return WaterbodyOrCountry.SUDANDEMOCRATICREPUBLICOFTHE();
140
		}else if (area.equals("Madagascar")){return WaterbodyOrCountry.MADAGASCARREPUBLICOF();
141
		}else if (area.equals("Comoros")){return WaterbodyOrCountry.COMOROSUNIONOFTHE();
142
		
143
		}else if (area.equals("Vietnam")){return WaterbodyOrCountry.VIETNAMSOCIALISTREPUBLICOF();
144
		}else if (area.equals("Thailand")){return WaterbodyOrCountry.THAILANDKINGDOMOF();
145
		}else if (area.equals("Bhutan")){return WaterbodyOrCountry.BHUTANKINGDOMOF();
146
		}else if (area.equals("Laos")){return WaterbodyOrCountry.LAOPEOPLESDEMOCRATICREPUBLIC();
147
		}else if (area.equals("Myanmar (Burma)")){return WaterbodyOrCountry.MYANMAR();
148
		}else if (area.equals("Nepal")){return WaterbodyOrCountry.NEPALKINGDOMOF();
149
		}else if (area.equals("Pakistan")){return WaterbodyOrCountry.PAKISTANISLAMICREPUBLICOF();
150
		}else if (area.equals("Singapore")){return WaterbodyOrCountry.SINGAPOREREPUBLICOF();
151
			
152
		
153
		}else{	
154
			if (unhandledCountries.contains(area)){
155
//				logger.warn("Unhandled country '" + area + "' replaced by null" );
156
				return null;
157
			}
158
//			String warning = "New language abbreviation " + area;
159
//			logger.warn(warning);
160
			return null;
161
//			throw new IllegalArgumentException(warning);
162
		}
163
		
164
		
165
		
166
	}
167
	
168
	/* (non-Javadoc)
169
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getLanguageUuid(java.lang.String)
170
	 */
171
	@Override
172
	public UUID getLanguageUuid(String key)
173
			throws UndefinedTransformerMethodException {
174
		return super.getLanguageUuid(key);
175
	}
176
	
177
	
178
	
179
	
180
	
181

    
182
	/* (non-Javadoc)
183
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getExtensionTypeByKey(java.lang.String)
184
	 */
185
	@Override
186
	public ExtensionType getExtensionTypeByKey(String key) throws UndefinedTransformerMethodException {
187
		if (key == null){return null;
188
		}
189
		return null;
190
	}
191

    
192
	/* (non-Javadoc)
193
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getExtensionTypeUuid(java.lang.String)
194
	 */
195
	@Override
196
	public UUID getExtensionTypeUuid(String key)
197
			throws UndefinedTransformerMethodException {
198
		if (key == null){return null;
199
//		}else if (key.equalsIgnoreCase("recent only")){return uuidRecentOnly;
200
//		}else if (key.equalsIgnoreCase("recent + fossil")){return uuidRecentAndFossil;
201
//		}else if (key.equalsIgnoreCase("fossil only")){return uuidFossilOnly;
202
		}
203
		return null;
204
	}
205

    
206
	
207

    
208
	/* (non-Javadoc)
209
	 * @see eu.etaxonomy.cdm.io.common.mapping.InputTransformerBase#getFeatureByKey(java.lang.String)
210
	 */
211
	@Override
212
	public Feature getFeatureByKey(String key) throws UndefinedTransformerMethodException {
213
		if (StringUtils.isBlank(key)){return null;
214
		}else if (key.equalsIgnoreCase("Distribution")){return Feature.DISTRIBUTION();
215
		}else if (key.equalsIgnoreCase("Ecology")){return Feature.ECOLOGY();
216
		}else if (key.equalsIgnoreCase("Diagnosis")){return Feature.DIAGNOSIS();
217
		}else if (key.equalsIgnoreCase("Biology")){return Feature.BIOLOGY_ECOLOGY();
218
		}else if (key.equalsIgnoreCase("Host")){return Feature.HOSTPLANT();
219
		}else{
220
			return null;
221
		}
222
	}
223

    
224
	
225
	
226
	
227
}
(9-9/9)