annotate artifacts/src/main/java/org/dive4elements/river/artifacts/services/MainValuesService.java @ 8870:c26fb37899ca

Introduced groups for modules. Modules marked with the same group-id, will be put together in the ui. Also using now the localization info from the server instead of localizing the modules again on the client side.
author gernotbelger
date Wed, 07 Feb 2018 11:59:13 +0100
parents 5e38e2924c07
children 82c67b859aa7 0a5239a1e46e
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
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
49 /** XPath that points to the river definition of the incoming request.*/
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
50 public static final String XPATH_RIVER =
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
51 "/art:mainvalues/art:river/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
52
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
53 /** XPath that points to the start definition of the incoming request.*/
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
54 public static final String XPATH_START =
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
55 "/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
56
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 /** 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
58 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
59
7555
74e9768098a0 issue1542: Let MainValues have localized dates.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7553
diff changeset
60 protected CallMeta callMeta;
74e9768098a0 issue1542: Let MainValues have localized dates.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7553
diff changeset
61
74e9768098a0 issue1542: Let MainValues have localized dates.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7553
diff changeset
62
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
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 * 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
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 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
67 }
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
68
3728
d03e65378b9f Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1659
diff changeset
69 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
70 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
71 return XMLUtils.newDocument();
d03e65378b9f Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1659
diff changeset
72 }
d03e65378b9f Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1659
diff changeset
73
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
74
966
a63d79107289 Adjusted services to implement changed signature.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
75 @Override
1631
26e19cdaed5e Improved database session handling in services and artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 966
diff changeset
76 public Document doProcess(
966
a63d79107289 Adjusted services to implement changed signature.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
77 Document data,
a63d79107289 Adjusted services to implement changed signature.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
78 GlobalContext context,
a63d79107289 Adjusted services to implement changed signature.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
79 CallMeta callMeta
a63d79107289 Adjusted services to implement changed signature.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
80 ) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7639
diff changeset
81 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
82
7555
74e9768098a0 issue1542: Let MainValues have localized dates.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7553
diff changeset
83 this.callMeta = callMeta;
74e9768098a0 issue1542: Let MainValues have localized dates.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7553
diff changeset
84
3728
d03e65378b9f Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1659
diff changeset
85 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
86 if (river == null) {
d03e65378b9f Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1659
diff changeset
87 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
88 }
1659
ad54896ec369 Write gauge determined in MainValuesService to log.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1631
diff changeset
89
3728
d03e65378b9f Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1659
diff changeset
90 double[] minmax = getRequestedStartEnd(data, river);
8755
30b1ddadf275 (issue1801) Unify reference gauge finding code
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
91 Gauge gauge = river.determineRefGauge(minmax,
30b1ddadf275 (issue1801) Unify reference gauge finding code
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
92 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
93
3728
d03e65378b9f Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1659
diff changeset
94 if (gauge == null) {
d03e65378b9f Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1659
diff changeset
95 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
96 }
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
97
3728
d03e65378b9f Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1659
diff changeset
98 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
99
d03e65378b9f Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1659
diff changeset
100 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
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
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 /**
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 * 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
106 * 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
107 * 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
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 * @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
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 * @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
112 */
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 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
114 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
115 {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7639
diff changeset
116 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
117
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 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
119 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
120
3728
d03e65378b9f Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1659
diff changeset
121 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
122 ? RiverFactory.getRiver(riverStr)
d03e65378b9f Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1659
diff changeset
123 : 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
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
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 /**
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 * This method extracts the start and end point from incoming request
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
129 * document and returns both values in an array.
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
130 * If no start and end strings
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
131 * 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
132 * 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
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 * @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
135 * @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
136 *
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
137 * @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
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 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
140 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
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 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
143 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
144
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
145 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
146 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
147
3728
d03e65378b9f Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1659
diff changeset
148 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
149 return river.determineMinMaxDistance();
d03e65378b9f Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1659
diff changeset
150 }
d03e65378b9f Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1659
diff changeset
151
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
152 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
153 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
154 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
155
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7639
diff changeset
156 if (log.isDebugEnabled()) {
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7639
diff changeset
157 log.debug("Found start: " + start);
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7639
diff changeset
158 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
159 }
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
160
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
161 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
162 }
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 catch (NumberFormatException nfe) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7639
diff changeset
164 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
165 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
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
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
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 * 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
172 * 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
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 * @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
175 * @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
176 *
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
177 * @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
178 * 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
179 */
3728
d03e65378b9f Removed obsolete code. Removed NPE as regular flow control.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1659
diff changeset
180 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
181
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7639
diff changeset
182 if (log.isDebugEnabled()) {
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7639
diff changeset
183 log.debug("MainValuesService.buildMainValues");
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7639
diff changeset
184 log.debug("River: " + river.getName());
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7639
diff changeset
185 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
186 }
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
187
3734
0c217de0d84b Modify every second theme to differ from default theme (#835)
Christian Lins <christian.lins@intevation.de>
parents: 3728
diff changeset
188 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
189
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7639
diff changeset
190 if (log.isDebugEnabled()) {
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7639
diff changeset
191 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
192 }
1631
26e19cdaed5e Improved database session handling in services and artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 966
diff changeset
193
26e19cdaed5e Improved database session handling in services and artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 966
diff changeset
194 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
195 }
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
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
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 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
199 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
200 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
201 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
202 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
203 {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7639
diff changeset
204 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
205
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 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
207
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 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
209 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
210 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
211 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
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 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
214 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
215
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
216 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
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 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
219 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
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 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
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
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
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 /**
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 * 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
227 * 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
228 * 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
229 *
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 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
231 * @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
232 * @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
233 * @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
234 */
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 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
236 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
237 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
238 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
239 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
240 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
241 {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7639
diff changeset
242 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
243
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 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
245 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
246 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
247 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
248
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 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
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 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
252 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
253
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 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
255 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
256 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
257 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
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 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
260 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
261 }
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
262
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
263
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
264 /** Checks i a main value has an official associated, */
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
265 protected static boolean hasOfficialLine(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
266 NamedMainValue nmv,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
267 Integer riverId
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
268 ) {
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
269 for (OfficialLine ol: nmv.getOfficialLines()) {
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
270 if (
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
271 ol.getWstColumn().getWst().getRiver().getId().equals(riverId)
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
272 ) {
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
273 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
274 }
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
275 }
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
276 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
277 }
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
278
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
279
7552
81d5939ec064 Doc, cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6482
diff changeset
280 /** 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
281 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
282 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
283 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
284 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
285 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
286 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
287 {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7639
diff changeset
288 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
289
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
290 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
291 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
292 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
293 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
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 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
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 for (MainValue mainValue: mainValues) {
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
298 Element newEl = buildMainValueElement(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
299 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
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 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
302 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
303 }
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
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 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
307 }
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
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 * 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
312 * 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
313 *
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
314 * @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
315 * @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
316 * @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
317 *
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 * @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
319 */
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 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
321 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
322 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
323 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
324 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
325 {
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 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
327 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
328 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
329 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
330
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
331 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
332 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
333
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
334 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
335
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
336 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
337 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
338 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
339 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
340 if (mainValue.getTimeInterval().getStartTime() != null) {
7555
74e9768098a0 issue1542: Let MainValues have localized dates.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7553
diff changeset
341 cr.addAttr(el, "starttime",
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
342 Long.toString(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
343 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
344 }
4e999b1d7acd issue1542: Add timeinterval-data to mainvalues made available via service.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7552
diff changeset
345 if (mainValue.getTimeInterval().getStopTime() != null) {
7555
74e9768098a0 issue1542: Let MainValues have localized dates.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7553
diff changeset
346 cr.addAttr(el, "stoptime",
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
347 Long.toString(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8755
diff changeset
348 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
349 }
4e999b1d7acd issue1542: Add timeinterval-data to mainvalues made available via service.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7552
diff changeset
350 }
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
351
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
352 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
353 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
354 }
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
355
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
356 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
357 }
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
358 }
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
359 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org