Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/GaugeOverviewInfoService.java @ 4232:b3aa91e45010
Implemented the Q evaluation mode for historical discharge calculations.
Added the calculation itself, created new facets, added themes and improved the chart generator
to support the new facets.
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 24 Oct 2012 07:25:35 +0200 |
parents | 5fce1908317f |
children | 5da024c2af62 |
rev | line source |
---|---|
3739
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.artifacts.services; |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
2 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
3 import java.math.BigDecimal; |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
4 import java.util.List; |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
5 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
6 import org.apache.log4j.Logger; |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
7 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
8 import org.w3c.dom.Document; |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
9 import org.w3c.dom.Element; |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
10 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
11 import de.intevation.artifacts.CallMeta; |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
12 import de.intevation.artifacts.GlobalContext; |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
13 import de.intevation.artifacts.common.ArtifactNamespaceContext; |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
14 import de.intevation.artifacts.common.utils.XMLUtils; |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
15 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
16 import de.intevation.flys.artifacts.model.RiverFactory; |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
17 import de.intevation.flys.model.Gauge; |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
18 import de.intevation.flys.model.MinMaxWQ; |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
19 import de.intevation.flys.model.Range; |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
20 import de.intevation.flys.model.River; |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
21 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
22 /** |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
23 * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a> |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
24 */ |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
25 public class GaugeOverviewInfoService extends FLYSService { |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
26 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
27 private static final Logger logger = Logger.getLogger( |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
28 GaugeOverviewInfoService.class); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
29 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
30 public static final String RIVER_XPATH = "/art:river/text()"; |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
31 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
32 @Override |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
33 public Document doProcess( |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
34 Document data, |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
35 GlobalContext globalContext, |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
36 CallMeta callMeta |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
37 ) { |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
38 logger.debug("GaugeOverviewInfoService.process"); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
39 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
40 String riverstr = XMLUtils.xpathString( |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
41 data, RIVER_XPATH, ArtifactNamespaceContext.INSTANCE); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
42 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
43 River river = RiverFactory.getRiver(riverstr); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
44 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
45 Document result = XMLUtils.newDocument(); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
46 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
47 if (river == null) { |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
48 logger.warn("No river with name " + riverstr + " found."); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
49 return result; |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
50 } |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
51 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
52 XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator( |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
53 result, |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
54 ArtifactNamespaceContext.NAMESPACE_URI, |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
55 ArtifactNamespaceContext.NAMESPACE_PREFIX); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
56 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
57 Element go = ec.create("gauge-info"); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
58 |
3753
b3fdb5a12613
Add also min and max q values to the river info.
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3748
diff
changeset
|
59 double[] minmax = river.determineMinMaxDistance(); |
b3fdb5a12613
Add also min and max q values to the river info.
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3748
diff
changeset
|
60 double[] minmaxq = river.determineMinMaxQ(); |
3739
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
61 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
62 Element r = ec.create("river"); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
63 ec.addAttr(r, "name", river.getName(), true); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
64 ec.addAttr(r, "start", Double.toString(minmax[0]), true); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
65 ec.addAttr(r, "end", Double.toString(minmax[1]), true); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
66 ec.addAttr(r, "wstunit", river.getWstUnit().getName(), true); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
67 ec.addAttr(r, "kmup", Boolean.toString(river.getKmUp()), true); |
3753
b3fdb5a12613
Add also min and max q values to the river info.
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3748
diff
changeset
|
68 ec.addAttr(r, "minq", Double.toString(minmaxq[0]), true); |
b3fdb5a12613
Add also min and max q values to the river info.
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3748
diff
changeset
|
69 ec.addAttr(r, "maxq", Double.toString(minmaxq[1]), true); |
3912
5fce1908317f
Remove info-url and add official number
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3896
diff
changeset
|
70 ec.addAttr(r, "official", Long.toString(river.getOfficialNumber()), |
5fce1908317f
Remove info-url and add official number
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3896
diff
changeset
|
71 true); |
3739
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
72 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
73 Element egs = ec.create("gauges"); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
74 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
75 List<Gauge> gauges = river.getGauges(); |
3748
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
76 |
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
77 if (logger.isDebugEnabled()) { |
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
78 logger.debug("Loaded gauges: " + gauges); |
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
79 } |
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
80 |
3739
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
81 for (Gauge gauge: river.getGauges()) { |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
82 Element eg = ec.create("gauge"); |
3748
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
83 |
3739
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
84 String name = gauge.getName(); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
85 if (name != null) { |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
86 ec.addAttr(eg, "name", gauge.getName(), true); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
87 } |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
88 |
3748
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
89 String aeo = getGaugeValue(gauge.getAeo()); |
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
90 if (aeo != null) { |
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
91 ec.addAttr(eg, "aeo", aeo, true); |
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
92 } |
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
93 |
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
94 String datum = getGaugeValue(gauge.getDatum()); |
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
95 if (datum != null) { |
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
96 ec.addAttr(eg, "datum", datum, true); |
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
97 } |
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
98 |
3739
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
99 Range range = gauge.getRange(); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
100 if (range != null) { |
3753
b3fdb5a12613
Add also min and max q values to the river info.
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3748
diff
changeset
|
101 BigDecimal a = range.getA(); |
b3fdb5a12613
Add also min and max q values to the river info.
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3748
diff
changeset
|
102 if (a != null) { |
b3fdb5a12613
Add also min and max q values to the river info.
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3748
diff
changeset
|
103 double min = a.doubleValue(); |
b3fdb5a12613
Add also min and max q values to the river info.
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3748
diff
changeset
|
104 ec.addAttr(eg, "start", Double.toString(min), true); |
b3fdb5a12613
Add also min and max q values to the river info.
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3748
diff
changeset
|
105 } |
3739
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
106 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
107 BigDecimal b = range.getB(); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
108 if (b != null) { |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
109 double max = range.getB().doubleValue(); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
110 ec.addAttr(eg, "end", Double.toString(max), true); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
111 } |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
112 } |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
113 MinMaxWQ minmaxwq = gauge.fetchMaxMinWQ(); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
114 String minw = getGaugeValue(minmaxwq.getMinW()); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
115 String maxw = getGaugeValue(minmaxwq.getMaxW()); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
116 String minq = getGaugeValue(minmaxwq.getMinQ()); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
117 String maxq = getGaugeValue(minmaxwq.getMaxQ()); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
118 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
119 if (minw != null) { |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
120 ec.addAttr(eg, "minw", minw, true); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
121 } |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
122 if (maxw != null) { |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
123 ec.addAttr(eg, "maxw", maxw, true); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
124 } |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
125 if (minq != null) { |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
126 ec.addAttr(eg, "minq", minq, true); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
127 } |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
128 if (maxq != null) { |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
129 ec.addAttr(eg, "maxq", maxq, true); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
130 } |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
131 |
3879
ac49675f9335
Add the gauge station to the GaugeOverviewInfoService xml response
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3753
diff
changeset
|
132 String station = getGaugeValue(gauge.getStation()); |
ac49675f9335
Add the gauge station to the GaugeOverviewInfoService xml response
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3753
diff
changeset
|
133 if (station != null) { |
ac49675f9335
Add the gauge station to the GaugeOverviewInfoService xml response
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3753
diff
changeset
|
134 ec.addAttr(eg, "station", station, true); |
ac49675f9335
Add the gauge station to the GaugeOverviewInfoService xml response
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3753
diff
changeset
|
135 } |
ac49675f9335
Add the gauge station to the GaugeOverviewInfoService xml response
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3753
diff
changeset
|
136 |
3896
82109cea32d2
Return also the official gauge number in a service response
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3895
diff
changeset
|
137 Long official = gauge.getOfficialNumber(); |
82109cea32d2
Return also the official gauge number in a service response
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3895
diff
changeset
|
138 if (official != null) { |
82109cea32d2
Return also the official gauge number in a service response
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3895
diff
changeset
|
139 ec.addAttr(eg, "official", official.toString(), true); |
82109cea32d2
Return also the official gauge number in a service response
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3895
diff
changeset
|
140 } |
82109cea32d2
Return also the official gauge number in a service response
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3895
diff
changeset
|
141 |
3739
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
142 egs.appendChild(eg); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
143 } |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
144 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
145 go.appendChild(r); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
146 go.appendChild(egs); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
147 result.appendChild(go); |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
148 |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
149 return result; |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
150 } |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
151 |
3747
a33df17ac9bb
Use getGaugeValue method also for aeo and datum
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3739
diff
changeset
|
152 /** |
a33df17ac9bb
Use getGaugeValue method also for aeo and datum
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3739
diff
changeset
|
153 * Returns a Double from a BigDecimal value or null if value is null |
a33df17ac9bb
Use getGaugeValue method also for aeo and datum
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3739
diff
changeset
|
154 */ |
3748
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
155 private static String getGaugeValue(BigDecimal value) { |
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
156 return value != null |
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
157 ? Double.toString(value.doubleValue()) |
99f80469ba2b
Pegelinfo: Made generation of datum and aeo NPE proof.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3747
diff
changeset
|
158 : ""; |
3739
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
159 } |
0edc05642fa4
Add new artifact service for the gauge overview
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
160 } |