1
|
/**
|
2
|
*
|
3
|
*/
|
4
|
package eu.etaxonomy.cdm.io.algaterra;
|
5
|
|
6
|
import java.util.UUID;
|
7
|
|
8
|
import org.apache.commons.lang.StringUtils;
|
9
|
import org.apache.log4j.Logger;
|
10
|
|
11
|
import eu.etaxonomy.cdm.io.berlinModel.BerlinModelTransformer;
|
12
|
import eu.etaxonomy.cdm.io.common.mapping.UndefinedTransformerMethodException;
|
13
|
import eu.etaxonomy.cdm.model.description.Feature;
|
14
|
import eu.etaxonomy.cdm.model.description.MeasurementUnit;
|
15
|
|
16
|
/**
|
17
|
* @author a.mueller
|
18
|
* @created 13.09.2012
|
19
|
*
|
20
|
*/
|
21
|
public class AlgaTerraImportTransformer extends BerlinModelTransformer {
|
22
|
private static final Logger logger = Logger.getLogger(AlgaTerraImportTransformer.class);
|
23
|
|
24
|
// feature - parameter
|
25
|
public static final UUID uuidFeaturePH = UUID.fromString("99354dac-0695-44b3-a0e6-c4d4f5684006");
|
26
|
public static final UUID uuidFeatureConductivity = UUID.fromString("7ddb72ef-dd88-4320-848b-1c36de548459");
|
27
|
public static final UUID uuidFeatureWaterTemperature = UUID.fromString("4b45fb58-c6d0-486d-82b7-e1355d177859");
|
28
|
public static final UUID uuidFeatureSilica = UUID.fromString("435ff3a7-b117-4eda-bdc7-b68b1e2403d9");
|
29
|
public static final UUID uuidFeatureNitrate = UUID.fromString("7d527547-2d2f-405a-bc07-f69884acc3dd");
|
30
|
public static final UUID uuidFeatureAmmonium = UUID.fromString("1245d380-ab78-4aef-bcdc-c23bd207bb52");
|
31
|
public static final UUID uuidFeatureNitrite = UUID.fromString("0012a3eb-abc5-4022-abbe-286658d6a6dc");
|
32
|
public static final UUID uuidFeaturePhosphate = UUID.fromString("f60b5fa6-6600-47e4-9c6d-ca341e3a440c");
|
33
|
public static final UUID uuidFeatureDIN = UUID.fromString("1f54453b-91ab-4e15-9664-f21aed90bc8c");
|
34
|
public static final UUID uuidFeatureNPRation = UUID.fromString("5ee7741b-da0e-4e0e-8362-1d277350f6ad");
|
35
|
public static final UUID uuidFeatureSRP = UUID.fromString("94977e8d-8cad-41d3-bb24-1252474fa884");
|
36
|
public static final UUID uuidFeatureOxygenSaturation = UUID.fromString("23c0ca33-ad6b-4cd0-96da-98ab3573deb8");
|
37
|
public static final UUID uuidFeatureCommunity = UUID.fromString("3ff5b1ab-3999-4b5a-b8f7-01fd2f6c12c7");
|
38
|
public static final UUID uuidFeatureCl = UUID.fromString("0eacde9f-d245-4452-aade-28eb849155e8");
|
39
|
public static final UUID uuidFeatureOrthoPhosphate = UUID.fromString("00281ea0-5cb4-4b2f-93f1-c59d6e11cb41");
|
40
|
public static final UUID uuidFeatureSecchiDepth = UUID.fromString("4282d63f-107a-4818-abfc-0c23b3d0da83");
|
41
|
|
42
|
public static final UUID uuidMeasurementUnitMgL = UUID.fromString("7ac302c5-3cbd-4334-964a-bf5d11eb9ead");
|
43
|
public static final UUID uuidMeasurementUnitMolMol = UUID.fromString("96b78d78-3e49-448f-8100-e7779b71dd53");
|
44
|
public static final UUID uuidMeasurementUnitMicroMolSiL = UUID.fromString("2cb8bc85-a4af-42f1-b80b-34c36c9f75d4");
|
45
|
public static final UUID uuidMeasurementUnitMicroMolL = UUID.fromString("a631f62e-377e-405c-bd1a-76885b13a72b");
|
46
|
public static final UUID uuidMeasurementUnitDegreeC = UUID.fromString("55222aec-d5be-413e-8db7-d9a48c316c6c");
|
47
|
public static final UUID uuidMeasurementUnitPercent = UUID.fromString("3ea3110e-f048-4bed-8bfe-33c60f63626f");
|
48
|
public static final UUID uuidMeasurementUnitCm = UUID.fromString("3ea3110e-f048-4bed-8bfe-33c60f63626f");
|
49
|
public static final UUID uuidMeasurementUnitMicroSiCm = UUID.fromString("3ea3110e-f048-4bed-8bfe-33c60f63626f");
|
50
|
|
51
|
|
52
|
/* (non-Javadoc)
|
53
|
* @see eu.etaxonomy.cdm.io.common.mapping.IInputTransformer#getFeatureByKey(java.lang.String)
|
54
|
*/
|
55
|
public Feature getFeatureByKey(String key) throws UndefinedTransformerMethodException {
|
56
|
String warning = "getFeatureByKey is not implemented in implementing transformer class";
|
57
|
throw new UndefinedTransformerMethodException(warning);
|
58
|
}
|
59
|
|
60
|
/* (non-Javadoc)
|
61
|
* @see eu.etaxonomy.cdm.io.common.mapping.IInputTransformer#getFeatureUuid(java.lang.String)
|
62
|
*/
|
63
|
public static UUID getFeatureUuid(String key) throws UndefinedTransformerMethodException {
|
64
|
if (key == null){ return null;
|
65
|
}else if(key.equalsIgnoreCase("pH")){return uuidFeaturePH;
|
66
|
}else if(key.equalsIgnoreCase("Conductivity")){return uuidFeatureConductivity;
|
67
|
}else if(key.equalsIgnoreCase("Water temperature")){return uuidFeatureWaterTemperature;
|
68
|
}else if(key.equalsIgnoreCase("Silica")){return uuidFeatureSilica;
|
69
|
}else if(key.equalsIgnoreCase("Nitrate")){return uuidFeatureNitrate;
|
70
|
}else if(key.equalsIgnoreCase("Nitrite")){return uuidFeatureNitrite;
|
71
|
}else if(key.equalsIgnoreCase("Ammonium")){return uuidFeatureAmmonium;
|
72
|
}else if(key.equalsIgnoreCase("Phosphate")){return uuidFeaturePhosphate;
|
73
|
}else if(key.equalsIgnoreCase("DIN")){return uuidFeatureDIN;
|
74
|
}else if(key.equalsIgnoreCase("N/P-ratio")){return uuidFeatureNPRation;
|
75
|
}else if(key.equalsIgnoreCase("SRP")){return uuidFeatureSRP;
|
76
|
}else if(key.equalsIgnoreCase("Oxygen saturation")){return uuidFeatureOxygenSaturation;
|
77
|
}else if(key.equalsIgnoreCase("Community")){return uuidFeatureCommunity;
|
78
|
}else if(key.equalsIgnoreCase("Cl")){return uuidFeatureCl;
|
79
|
}else if(key.equalsIgnoreCase("Ortho-phosphate")){return uuidFeatureOrthoPhosphate;
|
80
|
}else if(key.equalsIgnoreCase("Secchi depth")){return uuidFeatureSecchiDepth;
|
81
|
|
82
|
}else{
|
83
|
logger.warn("Feature was not recognized: " + key);
|
84
|
return null;
|
85
|
}
|
86
|
}
|
87
|
|
88
|
|
89
|
public static UUID getMeasurementUnitUuid(String key) {
|
90
|
if (key == null){ return null;
|
91
|
}else if (key.equalsIgnoreCase("mg/L")){ return uuidMeasurementUnitMgL;
|
92
|
}else if (key.equalsIgnoreCase("mol/mol")){ return uuidMeasurementUnitMolMol;
|
93
|
}else if (key.equalsIgnoreCase("\u00B5mol Si/L")){return uuidMeasurementUnitMicroMolSiL; //µmol Si/L
|
94
|
}else if (key.equalsIgnoreCase("\u00B5mol/L")){ return uuidMeasurementUnitMicroMolL; //µmol/L
|
95
|
}else if (key.equalsIgnoreCase("\u00B0C")){ return uuidMeasurementUnitDegreeC; //°C
|
96
|
}else if (key.equalsIgnoreCase("%")){ return uuidMeasurementUnitPercent;
|
97
|
}else if (key.equalsIgnoreCase("cm")){ return uuidMeasurementUnitCm;
|
98
|
}else if (key.equalsIgnoreCase("\u00B5S/cm")){ return uuidMeasurementUnitMicroSiCm; //µS/cm
|
99
|
}else{
|
100
|
logger.warn("MeasurementUnit was not recognized");
|
101
|
return null;
|
102
|
}
|
103
|
}
|
104
|
}
|