1
|
/**
|
2
|
*
|
3
|
*/
|
4
|
package eu.etaxonomy.cdm.io.algaterra;
|
5
|
|
6
|
import java.util.UUID;
|
7
|
|
8
|
import org.apache.log4j.Logger;
|
9
|
|
10
|
import eu.etaxonomy.cdm.io.berlinModel.BerlinModelTransformer;
|
11
|
import eu.etaxonomy.cdm.io.common.mapping.UndefinedTransformerMethodException;
|
12
|
import eu.etaxonomy.cdm.model.description.Feature;
|
13
|
|
14
|
/**
|
15
|
* @author a.mueller
|
16
|
* @created 13.09.2012
|
17
|
*
|
18
|
*/
|
19
|
public class AlgaTerraImportTransformer extends BerlinModelTransformer {
|
20
|
private static final Logger logger = Logger.getLogger(AlgaTerraImportTransformer.class);
|
21
|
|
22
|
// feature - parameter
|
23
|
public static final UUID uuidFeaturePH = UUID.fromString("99354dac-0695-44b3-a0e6-c4d4f5684006");
|
24
|
public static final UUID uuidFeatureConductivity = UUID.fromString("7ddb72ef-dd88-4320-848b-1c36de548459");
|
25
|
public static final UUID uuidFeatureWaterTemperature = UUID.fromString("4b45fb58-c6d0-486d-82b7-e1355d177859");
|
26
|
public static final UUID uuidFeatureSilica = UUID.fromString("435ff3a7-b117-4eda-bdc7-b68b1e2403d9");
|
27
|
public static final UUID uuidFeatureNitrate = UUID.fromString("7d527547-2d2f-405a-bc07-f69884acc3dd");
|
28
|
public static final UUID uuidFeatureAmmonium = UUID.fromString("1245d380-ab78-4aef-bcdc-c23bd207bb52");
|
29
|
public static final UUID uuidFeatureNitrite = UUID.fromString("0012a3eb-abc5-4022-abbe-286658d6a6dc");
|
30
|
public static final UUID uuidFeaturePhosphate = UUID.fromString("f60b5fa6-6600-47e4-9c6d-ca341e3a440c");
|
31
|
public static final UUID uuidFeatureDIN = UUID.fromString("1f54453b-91ab-4e15-9664-f21aed90bc8c");
|
32
|
public static final UUID uuidFeatureNPRation = UUID.fromString("5ee7741b-da0e-4e0e-8362-1d277350f6ad");
|
33
|
public static final UUID uuidFeatureSRP = UUID.fromString("94977e8d-8cad-41d3-bb24-1252474fa884");
|
34
|
public static final UUID uuidFeatureOxygenSaturation = UUID.fromString("23c0ca33-ad6b-4cd0-96da-98ab3573deb8");
|
35
|
public static final UUID uuidFeatureCommunity = UUID.fromString("3ff5b1ab-3999-4b5a-b8f7-01fd2f6c12c7");
|
36
|
public static final UUID uuidFeatureCl = UUID.fromString("0eacde9f-d245-4452-aade-28eb849155e8");
|
37
|
public static final UUID uuidFeatureOrthoPhosphate = UUID.fromString("00281ea0-5cb4-4b2f-93f1-c59d6e11cb41");
|
38
|
public static final UUID uuidFeatureSecchiDepth = UUID.fromString("4282d63f-107a-4818-abfc-0c23b3d0da83");
|
39
|
|
40
|
public static final UUID uuidFeatureChloroplastPosition = UUID.fromString("e48f97a5-b066-41fb-87bd-4d69e18acf1b");
|
41
|
public static final UUID uuidFeatureChloroplastShape = UUID.fromString("89e4aed5-c4ea-4830-a6bc-227d2e7d9a01");
|
42
|
public static final UUID uuidFeatureChloroplastStructure = UUID.fromString("a04ca566-2020-4992-8d16-f218932c58c3");
|
43
|
public static final UUID uuidFeatureGrowthForm = UUID.fromString("8e55bcaa-3b7e-4d21-80d0-41c2a2c4f8ab");
|
44
|
public static final UUID uuidFeatureOrganisationLevel = UUID.fromString("ae958c09-e528-4183-9b9c-3b53012b12e7");
|
45
|
public static final UUID uuidFeatureRaphe = UUID.fromString("b6743a16-23d4-4645-a63d-3b2f711971c1");
|
46
|
public static final UUID uuidFeatureShape = UUID.fromString("a8f9b43f-53cb-4f0c-bb5e-8f9f8748882b");
|
47
|
public static final UUID uuidFeatureSymmetrie = UUID.fromString("cc5e4ce9-c259-4744-9c99-f16144ca7a55");
|
48
|
|
49
|
public static final UUID uuidFeatureApices = UUID.fromString("34d3dd86-cfce-4b65-9866-71a9be020edf");
|
50
|
public static final UUID uuidFeatureChloroplastNumber = UUID.fromString("d1ef5be9-9c67-4ed0-84d4-d3bb57adddd9");
|
51
|
public static final UUID uuidFeaturePyrenoid = UUID.fromString("6a42b427-69be-4cc1-a2de-fd813474d522");
|
52
|
public static final UUID uuidFeatureCellWall = UUID.fromString("676f01de-416b-4cdb-b7bb-f806f7142449");
|
53
|
public static final UUID uuidFeatureReproductiveStages = UUID.fromString("281de060-64aa-42d8-8c3b-7a764d207fdb");
|
54
|
|
55
|
public static final UUID uuidFeatureSize = UUID.fromString("b12ca3be-2a49-46ec-96fe-12059de361db");
|
56
|
public static final UUID uuidFeatureLength = UUID.fromString("492e24e1-40a1-47db-824a-180cc1f9e205");
|
57
|
public static final UUID uuidFeatureWidth = UUID.fromString("50632b76-82ae-403f-b65f-a681b6788e62");
|
58
|
public static final UUID uuidFeatureHeigth = UUID.fromString("cd48ed93-7eef-4387-9002-4849d2dbc040");
|
59
|
|
60
|
public static final UUID uuidFeatureValve1 = UUID.fromString("50df186b-2efb-4e9e-b58b-35f8f2959f29");
|
61
|
public static final UUID uuidFeatureStriaeFrequencyValve1 = UUID.fromString("e6c14666-0fd2-4361-a6f5-f6cf15b1734d");
|
62
|
public static final UUID uuidFeatureStriaeOrientationMidValve1 = UUID.fromString("596ba634-ef39-4073-a5f1-4e3b7c0031f5");
|
63
|
public static final UUID uuidFeatureStriaeOrientationApicesValve1 = UUID.fromString("8d95ea61-4bbc-4885-b7ab-dd4ad506133b");
|
64
|
public static final UUID uuidFeatureCentralAreaValve1 = UUID.fromString("cacd7b76-080c-4de2-a19d-c3f382729a04");
|
65
|
public static final UUID uuidFeatureAxialAreaValve1 = UUID.fromString("450578cd-0a53-4fe0-9d43-aecfc1d7fdd9");
|
66
|
public static final UUID uuidFeatureHasRapheValve1 = UUID.fromString("69acb582-7a3e-4e12-9a9e-ab1871e0a0c9");
|
67
|
|
68
|
public static final UUID uuidFeatureValve2 = UUID.fromString("5e34f17f-9628-4a3d-a974-df4e709d68fb");
|
69
|
public static final UUID uuidFeatureStriaeFrequencyValve2 = UUID.fromString("db8f1200-5c17-4410-a58d-d93abcb3059b");
|
70
|
public static final UUID uuidFeatureStriaeOrientationMidValve2 = UUID.fromString("87d50361-25f6-4d10-a830-ce17c9392825");
|
71
|
public static final UUID uuidFeatureStriaeOrientationApicesValve2 = UUID.fromString("b21a9bf7-987b-49ed-b4ef-905fdfa89057");
|
72
|
public static final UUID uuidFeatureCentralAreaValve2 = UUID.fromString("ac7a95c0-e388-4ab1-bf87-5bd1c17a1ad0");
|
73
|
public static final UUID uuidFeatureAxialAreaValve2 = UUID.fromString("0d84c46b-789f-430a-ab55-81e2b280d8d4");
|
74
|
public static final UUID uuidFeatureHasRapheValve2 = UUID.fromString("b0d99b12-8de2-43e6-83d0-2e94ca71a53e");
|
75
|
public static final UUID uuidFeatureSalinity = UUID.fromString("2c9377d6-73d9-4401-a113-799eb3752ef3");
|
76
|
|
77
|
public static final UUID uuidFeatureLivingSpecimen = UUID.fromString("0f167e2e-6494-4cf6-93a5-d92266626ec9");
|
78
|
|
79
|
|
80
|
public static final UUID uuidVocChloroplastPosition = UUID.fromString("0ef57573-09e0-4ed6-a6bc-d80a8f927113");
|
81
|
public static final UUID uuidVocChloroplastShape = UUID.fromString("7777329d-a5e5-4f3d-a85b-2cd5be82080a");
|
82
|
public static final UUID uuidVocChloroplastStructure = UUID.fromString("cd41aefa-8ca8-469c-9793-78f8eb2e66f1");
|
83
|
public static final UUID uuidVocGrowthForm = UUID.fromString("8ad0597d-82c5-4d96-9113-3080cd6074e7");
|
84
|
public static final UUID uuidVocOrganisationLevel = UUID.fromString("0b09e2a5-cb38-45b7-a4fd-dd46817c9fab");
|
85
|
public static final UUID uuidVocRaphe = UUID.fromString("93a6f107-af4c-42c9-9a04-3c715f23742d");
|
86
|
public static final UUID uuidVocShape = UUID.fromString("11f9f0af-da1b-44a0-8673-99e418ad6b97");
|
87
|
public static final UUID uuidVocSymmetry = UUID.fromString("3b7b921f-5d49-4cd7-b73d-29c4710f95da");
|
88
|
|
89
|
|
90
|
public static final UUID uuidMeasurementUnitMgL = UUID.fromString("7ac302c5-3cbd-4334-964a-bf5d11eb9ead");
|
91
|
public static final UUID uuidMeasurementUnitMolMol = UUID.fromString("96b78d78-3e49-448f-8100-e7779b71dd53");
|
92
|
public static final UUID uuidMeasurementUnitMicroMolSiL = UUID.fromString("2cb8bc85-a4af-42f1-b80b-34c36c9f75d4");
|
93
|
public static final UUID uuidMeasurementUnitMicroMolL = UUID.fromString("a631f62e-377e-405c-bd1a-76885b13a72b");
|
94
|
public static final UUID uuidMeasurementUnitDegreeC = UUID.fromString("55222aec-d5be-413e-8db7-d9a48c316c6c");
|
95
|
public static final UUID uuidMeasurementUnitPercent = UUID.fromString("3ea3110e-f048-4bed-8bfe-33c60f63626f");
|
96
|
public static final UUID uuidMeasurementUnitCm = UUID.fromString("3ea3110e-f048-4bed-8bfe-33c60f63626f");
|
97
|
public static final UUID uuidMeasurementUnitMicroSiCm = UUID.fromString("3ea3110e-f048-4bed-8bfe-33c60f63626f");
|
98
|
|
99
|
|
100
|
public static final UUID uuidNamedAreaVocAlgaTerraInformalAreas = UUID.fromString("ebce2f16-2a5d-4845-b4b8-f7841796a093");
|
101
|
public static final UUID uuidNamedAreaPatagonia = UUID.fromString("e0423d0a-87c3-41aa-afa3-8f2a86aa06dd");
|
102
|
public static final UUID uuidNamedAreaTierraDelFuego = UUID.fromString("53cf6dc2-b5cc-42be-9fad-7158b8f682f4");
|
103
|
public static final UUID uuidNamedAreaBorneo = UUID.fromString("6bb908af-be16-402b-973b-3ea20df1d70d");
|
104
|
|
105
|
public static final UUID uuidKindOfUnitVoc = UUID.fromString("400d3ef7-1882-4ed6-bb76-f98f636b595c");
|
106
|
|
107
|
|
108
|
/* (non-Javadoc)
|
109
|
* @see eu.etaxonomy.cdm.io.common.mapping.IInputTransformer#getFeatureByKey(java.lang.String)
|
110
|
*/
|
111
|
public Feature getFeatureByKey(String key) throws UndefinedTransformerMethodException {
|
112
|
String warning = "getFeatureByKey is not implemented in implementing transformer class";
|
113
|
throw new UndefinedTransformerMethodException(warning);
|
114
|
}
|
115
|
|
116
|
/* (non-Javadoc)
|
117
|
* @see eu.etaxonomy.cdm.io.common.mapping.IInputTransformer#getFeatureUuid(java.lang.String)
|
118
|
*/
|
119
|
public static UUID getFeatureUuid(String key) throws UndefinedTransformerMethodException {
|
120
|
if (key == null){ return null;
|
121
|
}else if(key.equalsIgnoreCase("pH")){return uuidFeaturePH;
|
122
|
}else if(key.equalsIgnoreCase("Conductivity")){return uuidFeatureConductivity;
|
123
|
}else if(key.equalsIgnoreCase("Water temperature")){return uuidFeatureWaterTemperature;
|
124
|
}else if(key.equalsIgnoreCase("Silica")){return uuidFeatureSilica;
|
125
|
}else if(key.equalsIgnoreCase("Nitrate")){return uuidFeatureNitrate;
|
126
|
}else if(key.equalsIgnoreCase("Nitrite")){return uuidFeatureNitrite;
|
127
|
}else if(key.equalsIgnoreCase("Ammonium")){return uuidFeatureAmmonium;
|
128
|
}else if(key.equalsIgnoreCase("Phosphate")){return uuidFeaturePhosphate;
|
129
|
}else if(key.equalsIgnoreCase("DIN")){return uuidFeatureDIN;
|
130
|
}else if(key.equalsIgnoreCase("N/P-ratio")){return uuidFeatureNPRation;
|
131
|
}else if(key.equalsIgnoreCase("SRP")){return uuidFeatureSRP;
|
132
|
}else if(key.equalsIgnoreCase("Oxygen saturation")){return uuidFeatureOxygenSaturation;
|
133
|
}else if(key.equalsIgnoreCase("Community")){return uuidFeatureCommunity;
|
134
|
}else if(key.equalsIgnoreCase("Cl")){return uuidFeatureCl;
|
135
|
}else if(key.equalsIgnoreCase("Ortho-phosphate")){return uuidFeatureOrthoPhosphate;
|
136
|
}else if(key.equalsIgnoreCase("Secchi depth")){return uuidFeatureSecchiDepth;
|
137
|
|
138
|
}else if (key.equalsIgnoreCase("Chloroplast Position")){return uuidFeatureChloroplastPosition;
|
139
|
}else if (key.equalsIgnoreCase("Chloroplast Shape")){return uuidFeatureChloroplastShape;
|
140
|
}else if (key.equalsIgnoreCase("Chloroplast Structure")){return uuidFeatureChloroplastStructure;
|
141
|
}else if (key.equalsIgnoreCase("Growth Form")){return uuidFeatureGrowthForm;
|
142
|
}else if (key.equalsIgnoreCase("Organisation Level")){return uuidFeatureOrganisationLevel;
|
143
|
}else if (key.equalsIgnoreCase("Raphe")){return uuidFeatureRaphe;
|
144
|
}else if (key.equalsIgnoreCase("Shape")){return uuidFeatureShape;
|
145
|
}else if (key.equalsIgnoreCase("Symmetry")){return uuidFeatureSymmetrie;
|
146
|
|
147
|
}else if (key.equalsIgnoreCase("Apices")){return uuidFeatureApices;
|
148
|
}else if (key.equalsIgnoreCase("Chloroplast Number")){return uuidFeatureChloroplastNumber;
|
149
|
}else if (key.equalsIgnoreCase("Pyrenoid")){return uuidFeaturePyrenoid;
|
150
|
}else if (key.equalsIgnoreCase("Cell Wall")){return uuidFeatureCellWall;
|
151
|
}else if (key.equalsIgnoreCase("Reproductive Stages")){return uuidFeatureReproductiveStages;
|
152
|
|
153
|
}else if (key.equalsIgnoreCase("Valve 1")){return uuidFeatureValve1;
|
154
|
}else if (key.equalsIgnoreCase("Striae Frequency Valve 1")){return uuidFeatureStriaeFrequencyValve1;
|
155
|
}else if (key.equalsIgnoreCase("Striae Orientation Mid Valve 1")){return uuidFeatureStriaeOrientationMidValve1;
|
156
|
}else if (key.equalsIgnoreCase("Striae Orientation Apices Valve 1")){return uuidFeatureStriaeOrientationApicesValve1;
|
157
|
}else if (key.equalsIgnoreCase("Central Area Valve 1")){return uuidFeatureCentralAreaValve1;
|
158
|
}else if (key.equalsIgnoreCase("Axial Area Valve 1")){return uuidFeatureAxialAreaValve1;
|
159
|
}else if (key.equalsIgnoreCase("has Raphe Valve 1")){return uuidFeatureHasRapheValve1;
|
160
|
|
161
|
}else if (key.equalsIgnoreCase("Valve 2")){return uuidFeatureValve2;
|
162
|
}else if (key.equalsIgnoreCase("Striae Frequency Valve 2")){return uuidFeatureStriaeFrequencyValve2;
|
163
|
}else if (key.equalsIgnoreCase("Striae Orientation Mid Valve 2")){return uuidFeatureStriaeOrientationMidValve2;
|
164
|
}else if (key.equalsIgnoreCase("Striae Orientation Apices Valve 2")){return uuidFeatureStriaeOrientationApicesValve2;
|
165
|
}else if (key.equalsIgnoreCase("Central Area Valve 2")){return uuidFeatureCentralAreaValve2;
|
166
|
}else if (key.equalsIgnoreCase("Axial Area Valve 2")){return uuidFeatureAxialAreaValve2;
|
167
|
}else if (key.equalsIgnoreCase("has Raphe Valve 2")){return uuidFeatureHasRapheValve2;
|
168
|
|
169
|
}else if (key.equalsIgnoreCase("Salinity")){return uuidFeatureSalinity;
|
170
|
|
171
|
}else{
|
172
|
logger.warn("Feature was not recognized: " + key);
|
173
|
return null;
|
174
|
}
|
175
|
}
|
176
|
|
177
|
|
178
|
public static UUID getMeasurementUnitUuid(String key) {
|
179
|
if (key == null){ return null;
|
180
|
}else if (key.equalsIgnoreCase("mg/L")){ return uuidMeasurementUnitMgL;
|
181
|
}else if (key.equalsIgnoreCase("mol/mol")){ return uuidMeasurementUnitMolMol;
|
182
|
}else if (key.equalsIgnoreCase("\u00B5mol Si/L")){return uuidMeasurementUnitMicroMolSiL; //µmol Si/L
|
183
|
}else if (key.equalsIgnoreCase("\u00B5mol/L")){ return uuidMeasurementUnitMicroMolL; //µmol/L
|
184
|
}else if (key.equalsIgnoreCase("\u00B0C")){ return uuidMeasurementUnitDegreeC; //°C
|
185
|
}else if (key.equalsIgnoreCase("%")){ return uuidMeasurementUnitPercent;
|
186
|
}else if (key.equalsIgnoreCase("cm")){ return uuidMeasurementUnitCm;
|
187
|
}else if (key.equalsIgnoreCase("\u00B5S/cm")){ return uuidMeasurementUnitMicroSiCm; //µS/cm
|
188
|
}else{
|
189
|
logger.warn("MeasurementUnit was not recognized");
|
190
|
return null;
|
191
|
}
|
192
|
}
|
193
|
}
|