Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/services/MeasurementStationInfoService.java @ 5838:5aa05a7a34b7
Rename modules to more fitting names.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 25 Apr 2013 15:23:37 +0200 |
parents | flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/MeasurementStationInfoService.java@bd047b71ab37 |
children | 4897a58c8746 |
comparison
equal
deleted
inserted
replaced
5837:d9901a08d0a6 | 5838:5aa05a7a34b7 |
---|---|
1 package org.dive4elements.river.artifacts.services; | |
2 | |
3 import java.math.BigDecimal; | |
4 import java.text.DateFormat; | |
5 import java.util.Date; | |
6 import java.util.List; | |
7 import java.util.Locale; | |
8 | |
9 import org.apache.log4j.Logger; | |
10 | |
11 import org.w3c.dom.Document; | |
12 import org.w3c.dom.Element; | |
13 | |
14 import org.dive4elements.artifacts.CallMeta; | |
15 import org.dive4elements.artifacts.GlobalContext; | |
16 | |
17 import org.dive4elements.river.model.MeasurementStation; | |
18 import org.dive4elements.river.model.Range; | |
19 import org.dive4elements.river.model.TimeInterval; | |
20 | |
21 /** | |
22 * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a> | |
23 */ | |
24 public class MeasurementStationInfoService extends RiverInfoService { | |
25 | |
26 private static final Logger logger = Logger.getLogger( | |
27 MeasurementStationInfoService.class); | |
28 | |
29 public static final DateFormat DATE_FORMAT = DateFormat.getDateInstance( | |
30 DateFormat.SHORT, Locale.GERMANY); | |
31 | |
32 @Override | |
33 public Document doProcess( | |
34 Document data, | |
35 GlobalContext globalContext, | |
36 CallMeta callMeta | |
37 ) { | |
38 Document result = super.doProcess(data, globalContext, callMeta); | |
39 | |
40 Element egs = ec.create("measurement-stations"); | |
41 | |
42 List<MeasurementStation> mstations = river.getMeasurementStations(); | |
43 | |
44 if (logger.isDebugEnabled()) { | |
45 logger.debug("Loaded stations: " + mstations); | |
46 } | |
47 | |
48 for (MeasurementStation mstation: mstations) { | |
49 Element eg = ec.create("measurement-station"); | |
50 | |
51 String name = mstation.getName(); | |
52 if (name != null) { | |
53 ec.addAttr(eg, "name", name, true); | |
54 } | |
55 | |
56 Integer id = mstation.getId(); | |
57 if (id != null) { | |
58 ec.addAttr(eg, "id", Integer.toString(id), true); | |
59 } | |
60 | |
61 String type = mstation.getMeasurementType(); | |
62 if (type != null) { | |
63 ec.addAttr(eg, "type", type, true); | |
64 } | |
65 | |
66 String riverside = mstation.getRiverside(); | |
67 if (riverside != null) { | |
68 ec.addAttr(eg, "riverside", riverside, true); | |
69 } | |
70 | |
71 Double station = mstation.getStation(); | |
72 if (station != null) { | |
73 ec.addAttr(eg, "station", Double.toString(station), true); | |
74 } | |
75 | |
76 Range range = mstation.getRange(); | |
77 if (range != null) { | |
78 BigDecimal a = range.getA(); | |
79 if (a != null) { | |
80 ec.addAttr(eg, "start", getStringValue(a), true); | |
81 } | |
82 | |
83 BigDecimal b = range.getB(); | |
84 if (b != null) { | |
85 ec.addAttr(eg, "end", getStringValue(b), true); | |
86 } | |
87 } | |
88 | |
89 String moperator = mstation.getOperator(); | |
90 if (moperator != null) { | |
91 ec.addAttr(eg, "operator", moperator, true); | |
92 } | |
93 | |
94 TimeInterval tinterval = mstation.getObservationTimerange(); | |
95 if (tinterval != null) { | |
96 Date tstart = tinterval.getStartTime(); | |
97 if (tstart != null) { | |
98 ec.addAttr(eg, "starttime", DATE_FORMAT.format(tstart), | |
99 true); | |
100 } | |
101 Date tstop = tinterval.getStopTime(); | |
102 if (tstop != null) { | |
103 ec.addAttr(eg, "stoptime", DATE_FORMAT.format(tstop), | |
104 true); | |
105 } | |
106 } | |
107 | |
108 String gaugename= mstation.getGaugeName(); | |
109 | |
110 if (gaugename != null) { | |
111 Element egauge = ec.create("gauge"); | |
112 ec.addAttr(egauge, "name", gaugename, true); | |
113 eg.appendChild(egauge); | |
114 } | |
115 | |
116 egs.appendChild(eg); | |
117 } | |
118 | |
119 this.riverele.appendChild(egs); | |
120 | |
121 return result; | |
122 } | |
123 | |
124 } |