Project

General

Profile

Download (5.95 KB) Statistics
| Branch: | Revision:
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
}
(7-7/14)