Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/services/DischargeInfoService.java @ 8755:30b1ddadf275
(issue1801) Unify reference gauge finding code
The basic way as described in the method comment of the
determineRefGauge method is now used in the WINFOArtifact,
MainValuesService and RiverUtils.getGauge method.
RiverUtils.getGauge previously just returned the first
gauge found. While this is now a behavior change I believe
that it is always more correct then the undeterministic
behavior of the previous implmenentation.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 24 Jun 2015 14:07:26 +0200 |
parents | e4606eae8ea5 |
children | 5e38e2924c07 |
rev | line source |
---|---|
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5916
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5916
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4433
diff
changeset
|
9 package org.dive4elements.river.artifacts.services; |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 |
4173
7d4480c0e68e
Allow users to select the current relevant discharge table in historical discharge table calculattion.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4115
diff
changeset
|
11 import java.util.Collections; |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 import java.util.List; |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 import java.util.Date; |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 import org.apache.log4j.Logger; |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 import org.w3c.dom.Document; |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
18 import org.w3c.dom.Element; |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4433
diff
changeset
|
20 import org.dive4elements.artifacts.CallMeta; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4433
diff
changeset
|
21 import org.dive4elements.artifacts.GlobalContext; |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4433
diff
changeset
|
23 import org.dive4elements.artifacts.common.ArtifactNamespaceContext; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4433
diff
changeset
|
24 import org.dive4elements.artifacts.common.utils.XMLUtils; |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4433
diff
changeset
|
26 import org.dive4elements.river.artifacts.model.DischargeTables; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4433
diff
changeset
|
27 import org.dive4elements.river.model.Gauge; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4433
diff
changeset
|
28 import org.dive4elements.river.model.DischargeTable; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4433
diff
changeset
|
29 import org.dive4elements.river.model.TimeInterval; |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 /** |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 * This service provides information about discharges at a defined gauge. |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 * |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 */ |
5868
35b2d86c3fb5
River artifacts: Renamed FLYSService to D4EService.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
36 public class DischargeInfoService extends D4EService { |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6839
diff
changeset
|
38 /** The log used in this service. */ |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6839
diff
changeset
|
39 private static Logger log = Logger.getLogger(DischargeInfoService.class); |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 public static final String GAUGE_XPATH = "/art:gauge/text()"; |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 |
6839
fe03337c8011
(issue1353) Add river name handling
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
43 public static final String RIVER_NAME_XPATH = "/art:gauge/art:river/text()"; |
fe03337c8011
(issue1353) Add river name handling
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
44 |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 public DischargeInfoService() { |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 } |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 @Override |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 public Document doProcess( |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 Document data, |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 GlobalContext globalContext, |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
53 CallMeta callMeta |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
54 ) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6839
diff
changeset
|
55 if (log.isDebugEnabled()) { |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6839
diff
changeset
|
56 log.debug("DischargeInfoService.process"); |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6839
diff
changeset
|
57 log.debug(XMLUtils.toString(data)); |
5916
d6bf8353e0fc
Historical discharge curves: Do not add calculation relevant curve into list of available curves.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5910
diff
changeset
|
58 } |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 String gaugeNumber = XMLUtils.xpathString( |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 data, GAUGE_XPATH, ArtifactNamespaceContext.INSTANCE); |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 |
6839
fe03337c8011
(issue1353) Add river name handling
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
63 String river = XMLUtils.xpathString( |
fe03337c8011
(issue1353) Add river name handling
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
64 data, RIVER_NAME_XPATH, ArtifactNamespaceContext.INSTANCE); |
fe03337c8011
(issue1353) Add river name handling
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
65 |
5916
d6bf8353e0fc
Historical discharge curves: Do not add calculation relevant curve into list of available curves.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5910
diff
changeset
|
66 if (gaugeNumber == null || |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 (gaugeNumber = gaugeNumber.trim()).length() == 0) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6839
diff
changeset
|
68 log.warn("No gauge specified. Cannot return discharge info."); |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
69 return XMLUtils.newDocument(); |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
70 } |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
71 |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6839
diff
changeset
|
72 log.debug("Getting discharge for gauge: " + gaugeNumber + " at river: " + river); |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
73 |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
74 long gn; |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
75 try { |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 gn = Long.parseLong(gaugeNumber); |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
77 } |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 catch (NumberFormatException nfe) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6839
diff
changeset
|
79 log.warn("Invalid gauge number. Cannot return discharge info."); |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 return XMLUtils.newDocument(); |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 } |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 |
6839
fe03337c8011
(issue1353) Add river name handling
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
83 Gauge gauge; |
fe03337c8011
(issue1353) Add river name handling
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
84 if (river == null || river.isEmpty()) { |
fe03337c8011
(issue1353) Add river name handling
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
85 gauge = Gauge.getGaugeByOfficialNumber(gn); |
fe03337c8011
(issue1353) Add river name handling
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
86 } else { |
fe03337c8011
(issue1353) Add river name handling
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
87 gauge = Gauge.getGaugeByOfficialNumber(gn, river); |
fe03337c8011
(issue1353) Add river name handling
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
88 } |
fe03337c8011
(issue1353) Add river name handling
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
89 |
5916
d6bf8353e0fc
Historical discharge curves: Do not add calculation relevant curve into list of available curves.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5910
diff
changeset
|
90 if (gauge == null) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6839
diff
changeset
|
91 log.warn("No such gauge found."); |
5916
d6bf8353e0fc
Historical discharge curves: Do not add calculation relevant curve into list of available curves.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5910
diff
changeset
|
92 return XMLUtils.newDocument(); |
d6bf8353e0fc
Historical discharge curves: Do not add calculation relevant curve into list of available curves.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5910
diff
changeset
|
93 } |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
94 |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6839
diff
changeset
|
95 log.debug("Found gauge: " + gauge.getName() + " id: " + gauge.getId()); |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
96 |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
97 return buildDocument(gauge); |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
98 } |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
99 |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
100 |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
101 protected Document buildDocument(Gauge gauge) { |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
102 Document result = XMLUtils.newDocument(); |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
103 |
5905
0c61dba8c0de
flys/issue1244 Historical discharge curve: Suppress current discharge curve.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5868
diff
changeset
|
104 List<DischargeTable> tables = gauge.getDischargeTables(); |
4433
5b8919ef601d
Backed out changeset e8a4d2fd25cc
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4432
diff
changeset
|
105 Collections.sort(tables); |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6839
diff
changeset
|
107 log.debug("# of tables:" + tables.size()); |
5916
d6bf8353e0fc
Historical discharge curves: Do not add calculation relevant curve into list of available curves.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5910
diff
changeset
|
108 |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
109 Element all = result.createElement("discharges"); |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
110 for (DischargeTable dt: tables) { |
5905
0c61dba8c0de
flys/issue1244 Historical discharge curve: Suppress current discharge curve.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5868
diff
changeset
|
111 if (dt.getKind() == DischargeTables.MASTER) { |
0c61dba8c0de
flys/issue1244 Historical discharge curve: Suppress current discharge curve.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5868
diff
changeset
|
112 continue; |
0c61dba8c0de
flys/issue1244 Historical discharge curve: Suppress current discharge curve.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5868
diff
changeset
|
113 } |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
114 Element discharge = result.createElement("discharge"); |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
115 discharge.setAttribute("description", dt.getDescription()); |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
116 |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
117 // Get time interval. |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
118 TimeInterval ti = dt.getTimeInterval(); |
2598
e96bf6c47c12
Improved selecting discharge tables for historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2276
diff
changeset
|
119 |
e96bf6c47c12
Improved selecting discharge tables for historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2276
diff
changeset
|
120 if (ti == null) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6839
diff
changeset
|
121 log.warn("DischargeTable has no TimeInterval set!"); |
2598
e96bf6c47c12
Improved selecting discharge tables for historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2276
diff
changeset
|
122 continue; |
e96bf6c47c12
Improved selecting discharge tables for historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2276
diff
changeset
|
123 } |
e96bf6c47c12
Improved selecting discharge tables for historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2276
diff
changeset
|
124 |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
125 Date startTime = ti.getStartTime(); |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
126 Date stopTime = ti.getStopTime(); |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
127 |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
128 if (startTime != null) { |
4115
0cc2c3d89a9d
#900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3083
diff
changeset
|
129 discharge.setAttribute("start", String.valueOf(startTime.getTime())); |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
130 } |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
131 else { |
4173
7d4480c0e68e
Allow users to select the current relevant discharge table in historical discharge table calculattion.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4115
diff
changeset
|
132 continue; |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
133 } |
4115
0cc2c3d89a9d
#900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3083
diff
changeset
|
134 |
5905
0c61dba8c0de
flys/issue1244 Historical discharge curve: Suppress current discharge curve.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5868
diff
changeset
|
135 if (stopTime != null) { |
4115
0cc2c3d89a9d
#900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3083
diff
changeset
|
136 discharge.setAttribute("end", String.valueOf(stopTime.getTime())); |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
137 } |
5905
0c61dba8c0de
flys/issue1244 Historical discharge curve: Suppress current discharge curve.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5868
diff
changeset
|
138 else { |
4173
7d4480c0e68e
Allow users to select the current relevant discharge table in historical discharge table calculattion.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4115
diff
changeset
|
139 long now = System.currentTimeMillis(); |
7d4480c0e68e
Allow users to select the current relevant discharge table in historical discharge table calculattion.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4115
diff
changeset
|
140 discharge.setAttribute("end", String.valueOf(now)); |
7d4480c0e68e
Allow users to select the current relevant discharge table in historical discharge table calculattion.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4115
diff
changeset
|
141 } |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
142 |
5910
b8adee716970
Discharge Info Service: Added 'bfg-id' to result document.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5905
diff
changeset
|
143 String bfgId = dt.getBfgId(); |
b8adee716970
Discharge Info Service: Added 'bfg-id' to result document.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5905
diff
changeset
|
144 if (bfgId != null) { |
b8adee716970
Discharge Info Service: Added 'bfg-id' to result document.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5905
diff
changeset
|
145 discharge.setAttribute("bfg-id", bfgId); |
b8adee716970
Discharge Info Service: Added 'bfg-id' to result document.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5905
diff
changeset
|
146 } |
b8adee716970
Discharge Info Service: Added 'bfg-id' to result document.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5905
diff
changeset
|
147 |
2276
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
148 all.appendChild(discharge); |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
149 } |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
150 result.appendChild(all); |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
151 return result; |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
152 } |
2966787b5188
Added service for discharge infos at a specific gauge.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
153 } |
3083
4bd3d8bbb60c
Added missing vim lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2598
diff
changeset
|
154 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |