Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/services/MainValuesService.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:
5868
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:
5868
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:
3734
diff
changeset
|
9 package org.dive4elements.river.artifacts.services; |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
11 import java.util.List; |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
12 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 import org.apache.log4j.Logger; |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
15 import org.w3c.dom.Document; |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
16 import org.w3c.dom.Element; |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3734
diff
changeset
|
18 import org.dive4elements.artifacts.CallMeta; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3734
diff
changeset
|
19 import org.dive4elements.artifacts.GlobalContext; |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3734
diff
changeset
|
21 import org.dive4elements.artifacts.common.ArtifactNamespaceContext; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3734
diff
changeset
|
22 import org.dive4elements.artifacts.common.utils.XMLUtils; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3734
diff
changeset
|
23 import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator; |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3734
diff
changeset
|
25 import org.dive4elements.river.model.Gauge; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3734
diff
changeset
|
26 import org.dive4elements.river.model.MainValue; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3734
diff
changeset
|
27 import org.dive4elements.river.model.MainValueType; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3734
diff
changeset
|
28 import org.dive4elements.river.model.NamedMainValue; |
6356
4c791a458305
Artifacts: Scan the official lines associated with a main value if it applies for the current river.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6107
diff
changeset
|
29 import org.dive4elements.river.model.OfficialLine; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3734
diff
changeset
|
30 import org.dive4elements.river.model.Range; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3734
diff
changeset
|
31 import org.dive4elements.river.model.River; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3734
diff
changeset
|
32 |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3734
diff
changeset
|
33 import org.dive4elements.river.artifacts.model.RiverFactory; |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 |
8755
30b1ddadf275
(issue1801) Unify reference gauge finding code
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8202
diff
changeset
|
35 import static org.dive4elements.river.backend.utils.EpsilonComparator.CMP; |
30b1ddadf275
(issue1801) Unify reference gauge finding code
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8202
diff
changeset
|
36 |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 /** |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 * This service returns the main values of a river's gauge based on the start |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 * and end point of the river. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 * |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
43 */ |
5868
35b2d86c3fb5
River artifacts: Renamed FLYSService to D4EService.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
44 public class MainValuesService extends D4EService { |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
46 /** The log that is used by this service.*/ |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
47 private static Logger log = Logger.getLogger(MainValuesService.class); |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 /** The XPath that points to the river definition of the incoming request.*/ |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 public static final String XPATH_RIVER = "/art:mainvalues/art:river/text()"; |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 /** The XPath that points to the start definition of the incoming request.*/ |
444
932a5e3c7fa1
ISSUE-72 Repaired broken XPath expression in MainValuesService to extract start and end kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
331
diff
changeset
|
53 public static final String XPATH_START = "/art:mainvalues/art:start/text()"; |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 /** The XPath that points to the end definition of the incoming request.*/ |
444
932a5e3c7fa1
ISSUE-72 Repaired broken XPath expression in MainValuesService to extract start and end kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
331
diff
changeset
|
56 public static final String XPATH_END = "/art:mainvalues/art:end/text()"; |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
57 |
7555
74e9768098a0
issue1542: Let MainValues have localized dates.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7553
diff
changeset
|
58 protected CallMeta callMeta; |
74e9768098a0
issue1542: Let MainValues have localized dates.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7553
diff
changeset
|
59 |
74e9768098a0
issue1542: Let MainValues have localized dates.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7553
diff
changeset
|
60 |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
61 /** |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
62 * The default constructor. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
63 */ |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
64 public MainValuesService() { |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
65 } |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
66 |
3728
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
67 private static final Document error(String msg) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
68 log.debug(msg); |
3728
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
69 return XMLUtils.newDocument(); |
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
70 } |
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
71 |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
72 |
966
a63d79107289
Adjusted services to implement changed signature.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
444
diff
changeset
|
73 @Override |
1631
26e19cdaed5e
Improved database session handling in services and artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
966
diff
changeset
|
74 public Document doProcess( |
966
a63d79107289
Adjusted services to implement changed signature.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
444
diff
changeset
|
75 Document data, |
a63d79107289
Adjusted services to implement changed signature.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
444
diff
changeset
|
76 GlobalContext context, |
a63d79107289
Adjusted services to implement changed signature.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
444
diff
changeset
|
77 CallMeta callMeta |
a63d79107289
Adjusted services to implement changed signature.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
444
diff
changeset
|
78 ) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
79 log.debug("MainValuesService.process"); |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
80 |
7555
74e9768098a0
issue1542: Let MainValues have localized dates.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7553
diff
changeset
|
81 this.callMeta = callMeta; |
74e9768098a0
issue1542: Let MainValues have localized dates.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7553
diff
changeset
|
82 |
3728
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
83 River river = getRequestedRiver(data); |
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
84 if (river == null) { |
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
85 return error("no river found."); |
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
86 } |
1659
ad54896ec369
Write gauge determined in MainValuesService to log.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1631
diff
changeset
|
87 |
3728
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
88 double[] minmax = getRequestedStartEnd(data, river); |
8755
30b1ddadf275
(issue1801) Unify reference gauge finding code
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8202
diff
changeset
|
89 Gauge gauge = river.determineRefGauge(minmax, |
30b1ddadf275
(issue1801) Unify reference gauge finding code
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8202
diff
changeset
|
90 CMP.compare(minmax[0], minmax[1]) != 0); |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
91 |
3728
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
92 if (gauge == null) { |
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
93 return error("no gauge found."); |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
94 } |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
95 |
3728
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
96 List<MainValue> mainValues = getMainValues(river, gauge); |
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
97 |
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
98 return buildDocument(river, gauge, mainValues, context); |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
99 } |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
100 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
101 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
102 /** |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
103 * This method extracts the river from the incoming request. If no river |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
104 * string was found or no river is found in the database based on this |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
105 * string a NullPointerException is thrown. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
106 * |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
107 * @param data The incoming request data. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
108 * |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
109 * @return the River object. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
110 */ |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
111 protected River getRequestedRiver(Document data) |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
112 throws NullPointerException |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
113 { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
114 log.debug("MainValuesService.getRequestedRiver"); |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
115 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
116 String riverStr = XMLUtils.xpathString( |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
117 data, XPATH_RIVER, ArtifactNamespaceContext.INSTANCE); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
118 |
3728
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
119 return riverStr != null && (riverStr = riverStr.trim()).length() > 0 |
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
120 ? RiverFactory.getRiver(riverStr) |
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
121 : null; |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
122 } |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
123 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
124 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
125 /** |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
126 * This method extracts the start and end point from incoming request |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
127 * document and returns both values in an array. If no start and end strings |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
128 * are found in the document, the min/max values of the <i>river</i> are |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
129 * returned. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
130 * |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
131 * @param data The incoming request data. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
132 * @param river The river of the request. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
133 * |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
134 * @return the start and end point. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
135 */ |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
136 protected double[] getRequestedStartEnd(Document data, River river) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
137 log.debug("MainValuesService.getStartEnd"); |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
138 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
139 String startStr = XMLUtils.xpathString( |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
140 data, XPATH_START, ArtifactNamespaceContext.INSTANCE); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
141 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
142 String endStr = XMLUtils.xpathString( |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
143 data, XPATH_END, ArtifactNamespaceContext.INSTANCE); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
144 |
3728
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
145 if (startStr == null || endStr == null) { |
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
146 return river.determineMinMaxDistance(); |
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
147 } |
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
148 |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
149 try { |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
150 double start = Double.parseDouble(startStr); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
151 double end = Double.parseDouble(endStr); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
152 |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
153 if (log.isDebugEnabled()) { |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
154 log.debug("Found start: " + start); |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
155 log.debug("Found end: " + end); |
3728
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
156 } |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
157 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
158 return new double[] { start, end }; |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
159 } |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
160 catch (NumberFormatException nfe) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
161 log.warn(nfe, nfe); |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
162 return river.determineMinMaxDistance(); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
163 } |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
164 } |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
165 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
166 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
167 /** |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
168 * This method creates the result document that includes the main values of |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
169 * the specified <i>gauge</i>. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
170 * |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
171 * @param river The river. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
172 * @param gauge The gauge. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
173 * |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
174 * @return a document that includes the main values of the specified river |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
175 * at the specified gauge. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
176 */ |
3728
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
177 protected List<MainValue> getMainValues(River river, Gauge gauge) { |
d03e65378b9f
Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1659
diff
changeset
|
178 |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
179 if (log.isDebugEnabled()) { |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
180 log.debug("MainValuesService.buildMainValues"); |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
181 log.debug("River: " + river.getName()); |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
182 log.debug("Gauge: " + gauge.getName()); |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
183 } |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
184 |
3734
0c217de0d84b
Modify every second theme to differ from default theme (#835)
Christian Lins <christian.lins@intevation.de>
parents:
3728
diff
changeset
|
185 List<MainValue> mainValues = gauge.getMainValues(); |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
186 |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
187 if (log.isDebugEnabled()) { |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
188 log.debug(mainValues.size() + " main values found."); |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
189 } |
1631
26e19cdaed5e
Improved database session handling in services and artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
966
diff
changeset
|
190 |
26e19cdaed5e
Improved database session handling in services and artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
966
diff
changeset
|
191 return mainValues; |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
192 } |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
193 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
194 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
195 protected Document buildDocument( |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
196 River river, |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
197 Gauge gauge, |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
198 List<MainValue> mainValues, |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
199 Object context) |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
200 { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
201 log.debug("MainValuesService.buildDocument"); |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
202 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
203 Document doc = XMLUtils.newDocument(); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
204 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
205 ElementCreator cr = new ElementCreator( |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
206 doc, |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
207 ArtifactNamespaceContext.NAMESPACE_URI, |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
208 ArtifactNamespaceContext.NAMESPACE_PREFIX); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
209 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
210 Element rootEl = cr.create("service"); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
211 cr.addAttr(rootEl, "name", "mainvalues"); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
212 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
213 doc.appendChild(rootEl); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
214 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
215 appendMetaInformation(doc, rootEl, river, gauge, context); |
6482
b07cfc319781
Official lines: Use river id instead of river name to be more precise when finding out which main values has a official line.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6356
diff
changeset
|
216 appendMainValues(doc, rootEl, mainValues, river.getId(), context); |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
217 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
218 return doc; |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
219 } |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
220 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
221 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
222 /** |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
223 * This method appends some meta information to the result document. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
224 * Currently, the river's and gauge's names and the gauge's range are |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
225 * appended. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
226 * |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
227 * @param root The root element of the result document. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
228 * @param river The river. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
229 * @param gauge The gauge. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
230 * @param context The context object. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
231 */ |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
232 protected void appendMetaInformation( |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
233 Document doc, |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
234 Element root, |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
235 River river, |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
236 Gauge gauge, |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
237 Object context) |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
238 { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
239 log.debug("MainValuesService.appendMetaInformation"); |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
240 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
241 ElementCreator cr = new ElementCreator( |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
242 doc, |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
243 ArtifactNamespaceContext.NAMESPACE_URI, |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
244 ArtifactNamespaceContext.NAMESPACE_PREFIX); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
245 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
246 Range range = gauge.getRange(); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
247 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
248 Element riverEl = cr.create("river"); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
249 cr.addAttr(riverEl, "name", river.getName()); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
250 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
251 Element gaugeEl = cr.create("gauge"); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
252 cr.addAttr(gaugeEl, "name", gauge.getName()); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
253 cr.addAttr(gaugeEl, "from", range.getA().toString()); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
254 cr.addAttr(gaugeEl, "to", range.getB().toString()); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
255 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
256 root.appendChild(riverEl); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
257 root.appendChild(gaugeEl); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
258 } |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
259 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
260 |
6356
4c791a458305
Artifacts: Scan the official lines associated with a main value if it applies for the current river.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6107
diff
changeset
|
261 /** Checks i a main value has an official associated, */ |
6482
b07cfc319781
Official lines: Use river id instead of river name to be more precise when finding out which main values has a official line.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6356
diff
changeset
|
262 protected static boolean hasOfficialLine(NamedMainValue nmv, Integer riverId) { |
6356
4c791a458305
Artifacts: Scan the official lines associated with a main value if it applies for the current river.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6107
diff
changeset
|
263 for (OfficialLine ol: nmv.getOfficialLines()) { |
6482
b07cfc319781
Official lines: Use river id instead of river name to be more precise when finding out which main values has a official line.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6356
diff
changeset
|
264 if (ol.getWstColumn().getWst().getRiver().getId().equals(riverId)) { |
6356
4c791a458305
Artifacts: Scan the official lines associated with a main value if it applies for the current river.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6107
diff
changeset
|
265 return true; |
4c791a458305
Artifacts: Scan the official lines associated with a main value if it applies for the current river.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6107
diff
changeset
|
266 } |
4c791a458305
Artifacts: Scan the official lines associated with a main value if it applies for the current river.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6107
diff
changeset
|
267 } |
4c791a458305
Artifacts: Scan the official lines associated with a main value if it applies for the current river.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6107
diff
changeset
|
268 return false; |
4c791a458305
Artifacts: Scan the official lines associated with a main value if it applies for the current river.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6107
diff
changeset
|
269 } |
4c791a458305
Artifacts: Scan the official lines associated with a main value if it applies for the current river.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6107
diff
changeset
|
270 |
4c791a458305
Artifacts: Scan the official lines associated with a main value if it applies for the current river.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6107
diff
changeset
|
271 |
7552
81d5939ec064
Doc, cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6482
diff
changeset
|
272 /** Append xml representation of main values to document. */ |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
273 protected void appendMainValues( |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
274 Document doc, |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
275 Element root, |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
276 List<MainValue> mainValues, |
6482
b07cfc319781
Official lines: Use river id instead of river name to be more precise when finding out which main values has a official line.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6356
diff
changeset
|
277 Integer riverId, |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
278 Object context) |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
279 { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7639
diff
changeset
|
280 log.debug("MainValuesService.appendMainValues"); |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
281 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
282 ElementCreator cr = new ElementCreator( |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
283 doc, |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
284 ArtifactNamespaceContext.NAMESPACE_URI, |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
285 ArtifactNamespaceContext.NAMESPACE_PREFIX); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
286 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
287 Element list = cr.create("mainvalues"); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
288 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
289 for (MainValue mainValue: mainValues) { |
6482
b07cfc319781
Official lines: Use river id instead of river name to be more precise when finding out which main values has a official line.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6356
diff
changeset
|
290 Element newEl = buildMainValueElement(doc, mainValue, riverId, context); |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
291 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
292 if (newEl != null) { |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
293 list.appendChild(newEl); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
294 } |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
295 } |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
296 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
297 root.appendChild(list); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
298 } |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
299 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
300 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
301 /** |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
302 * This method builds a concrete mainvalue element. This element consists of |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
303 * three attributes: the value, its name and its type. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
304 * |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
305 * @param doc The owner document. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
306 * @param mainValue The mainvalue. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
307 * @param context The context object. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
308 * |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
309 * @return a mainvalue element. |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
310 */ |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
311 protected Element buildMainValueElement( |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
312 Document doc, |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
313 MainValue mainValue, |
6482
b07cfc319781
Official lines: Use river id instead of river name to be more precise when finding out which main values has a official line.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6356
diff
changeset
|
314 Integer riverId, |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
315 Object context) |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
316 { |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
317 ElementCreator cr = new ElementCreator( |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
318 doc, |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
319 ArtifactNamespaceContext.NAMESPACE_URI, |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
320 ArtifactNamespaceContext.NAMESPACE_PREFIX); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
321 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
322 NamedMainValue namedMainValue = mainValue.getMainValue(); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
323 MainValueType mainValueType = namedMainValue.getType(); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
324 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
325 Element el = cr.create("mainvalue"); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
326 |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
327 cr.addAttr(el, "value", mainValue.getValue().toString()); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
328 cr.addAttr(el, "name", namedMainValue.getName()); |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
329 cr.addAttr(el, "type", mainValueType.getName()); |
7553
4e999b1d7acd
issue1542: Add timeinterval-data to mainvalues made available via service.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7552
diff
changeset
|
330 if (mainValue.getTimeInterval() != null) { |
4e999b1d7acd
issue1542: Add timeinterval-data to mainvalues made available via service.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7552
diff
changeset
|
331 if (mainValue.getTimeInterval().getStartTime() != null) { |
7555
74e9768098a0
issue1542: Let MainValues have localized dates.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7553
diff
changeset
|
332 cr.addAttr(el, "starttime", |
7561
368d419ae4d1
issue1542: Let client to i18n and formatting of dates.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7555
diff
changeset
|
333 Long.toString(mainValue.getTimeInterval().getStartTime().getTime())); |
7553
4e999b1d7acd
issue1542: Add timeinterval-data to mainvalues made available via service.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7552
diff
changeset
|
334 } |
4e999b1d7acd
issue1542: Add timeinterval-data to mainvalues made available via service.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7552
diff
changeset
|
335 if (mainValue.getTimeInterval().getStopTime() != null) { |
7555
74e9768098a0
issue1542: Let MainValues have localized dates.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7553
diff
changeset
|
336 cr.addAttr(el, "stoptime", |
7561
368d419ae4d1
issue1542: Let client to i18n and formatting of dates.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7555
diff
changeset
|
337 Long.toString(mainValue.getTimeInterval().getStopTime().getTime())); |
7553
4e999b1d7acd
issue1542: Add timeinterval-data to mainvalues made available via service.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7552
diff
changeset
|
338 } |
4e999b1d7acd
issue1542: Add timeinterval-data to mainvalues made available via service.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7552
diff
changeset
|
339 } |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
340 |
6482
b07cfc319781
Official lines: Use river id instead of river name to be more precise when finding out which main values has a official line.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6356
diff
changeset
|
341 if (hasOfficialLine(namedMainValue, riverId)) { |
6356
4c791a458305
Artifacts: Scan the official lines associated with a main value if it applies for the current river.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6107
diff
changeset
|
342 cr.addAttr(el, "official", "true"); |
4c791a458305
Artifacts: Scan the official lines associated with a main value if it applies for the current river.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6107
diff
changeset
|
343 } |
4c791a458305
Artifacts: Scan the official lines associated with a main value if it applies for the current river.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6107
diff
changeset
|
344 |
331
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
345 return el; |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
346 } |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
347 } |
5a2df8677b3e
Added a service that returns the MainValues of a Gauge based on a river name and a stationing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
348 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |