annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java @ 4255:670e98f5a441

Fixed leak while merging facets. The ThemeList that is used by OutputHelper to sort the Facets for an Output now uses a list to store the ManagedFacets. The correct order is made up by sorting the List using Collections.sort() function of the Java JDK. Therfore, the ManagedFacet class implements the Comparable interface. The return value of its compareTo(other) method depends on the value of the 'position' field.
author Ingo Weinzierl <weinzierl.ingo@googlemail.com>
date Thu, 25 Oct 2012 14:01:46 +0200
parents 9136fc8f35f0
children
rev   line source
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.artifacts.services;
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
644
02c0cce0e469 Introduce a cache for the distance-info service
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 316
diff changeset
3 import java.util.Iterator;
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 import org.apache.log4j.Logger;
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 import org.w3c.dom.Document;
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8 import org.w3c.dom.Element;
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 import de.intevation.artifacts.CallMeta;
966
a63d79107289 Adjusted services to implement changed signature.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 922
diff changeset
11 import de.intevation.artifacts.GlobalContext;
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import de.intevation.artifacts.common.ArtifactNamespaceContext;
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 import de.intevation.artifacts.common.utils.XMLUtils;
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15
2145
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
16 import de.intevation.flys.model.FastAnnotations;
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17
2145
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
18 import de.intevation.flys.artifacts.model.LocationProvider;
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19
644
02c0cce0e469 Introduce a cache for the distance-info service
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 316
diff changeset
20
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 /**
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 * This service provides information about distances of a specified river.
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 *
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 */
1631
26e19cdaed5e Improved database session handling in services and artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1070
diff changeset
26 public class DistanceInfoService extends FLYSService {
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27
1070
b1ed0ec0236f Smaller Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 966
diff changeset
28 /** The logger used in this service. */
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 private static Logger logger = Logger.getLogger(DistanceInfoService.class);
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30
644
02c0cce0e469 Introduce a cache for the distance-info service
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 316
diff changeset
31 public static final String RIVER_XPATH = "/art:river/text()";
02c0cce0e469 Introduce a cache for the distance-info service
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 316
diff changeset
32
922
95356252c309 Added the option to call the distance info service with a filter to fetch locations or distances only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 704
diff changeset
33 public static final String FILTER_XPATH = "/art:river/art:filter/text()";
95356252c309 Added the option to call the distance info service with a filter to fetch locations or distances only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 704
diff changeset
34
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 /**
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 * The default constructor.
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 */
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 public DistanceInfoService() {
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 }
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42
966
a63d79107289 Adjusted services to implement changed signature.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 922
diff changeset
43 @Override
1631
26e19cdaed5e Improved database session handling in services and artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1070
diff changeset
44 public Document doProcess(
966
a63d79107289 Adjusted services to implement changed signature.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 922
diff changeset
45 Document data,
a63d79107289 Adjusted services to implement changed signature.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 922
diff changeset
46 GlobalContext globalContext,
a63d79107289 Adjusted services to implement changed signature.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 922
diff changeset
47 CallMeta callMeta
a63d79107289 Adjusted services to implement changed signature.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 922
diff changeset
48 ) {
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 logger.debug("DistanceInfoService.process");
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 String river = XMLUtils.xpathString(
644
02c0cce0e469 Introduce a cache for the distance-info service
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 316
diff changeset
52 data, RIVER_XPATH, ArtifactNamespaceContext.INSTANCE);
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53
2145
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
54 String filterName = XMLUtils.xpathString(
922
95356252c309 Added the option to call the distance info service with a filter to fetch locations or distances only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 704
diff changeset
55 data, FILTER_XPATH, ArtifactNamespaceContext.INSTANCE);
95356252c309 Added the option to call the distance info service with a filter to fetch locations or distances only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 704
diff changeset
56
644
02c0cce0e469 Introduce a cache for the distance-info service
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 316
diff changeset
57 if (river == null || (river = river.trim()).length() == 0) {
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 logger.warn("No river specified. Cannot return distance info!");
644
02c0cce0e469 Introduce a cache for the distance-info service
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 316
diff changeset
59 return XMLUtils.newDocument();
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 }
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 logger.debug("Search distances for river: " + river);
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63
2145
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
64 FastAnnotations fas = LocationProvider.getAnnotations(river);
644
02c0cce0e469 Introduce a cache for the distance-info service
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 316
diff changeset
65
2145
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
66 FastAnnotations.Filter filter = selectFilter(filterName);
644
02c0cce0e469 Introduce a cache for the distance-info service
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 316
diff changeset
67
2145
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
68 return buildDocument(fas.filter(filter));
644
02c0cce0e469 Introduce a cache for the distance-info service
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 316
diff changeset
69 }
02c0cce0e469 Introduce a cache for the distance-info service
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 316
diff changeset
70
2145
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
71 protected Document buildDocument(
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
72 Iterator<FastAnnotations.Annotation> iter
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
73 ) {
644
02c0cce0e469 Introduce a cache for the distance-info service
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 316
diff changeset
74 Document result = XMLUtils.newDocument();
02c0cce0e469 Introduce a cache for the distance-info service
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 316
diff changeset
75
1631
26e19cdaed5e Improved database session handling in services and artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1070
diff changeset
76 Element all = result.createElement("distances");
922
95356252c309 Added the option to call the distance info service with a filter to fetch locations or distances only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 704
diff changeset
77
1631
26e19cdaed5e Improved database session handling in services and artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1070
diff changeset
78 while (iter.hasNext()) {
2145
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
79 all.appendChild(buildNode(result, iter.next()));
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80 }
1631
26e19cdaed5e Improved database session handling in services and artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1070
diff changeset
81
26e19cdaed5e Improved database session handling in services and artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1070
diff changeset
82 result.appendChild(all);
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84 return result;
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 }
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86
2145
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
87 protected static FastAnnotations.Filter selectFilter(String name) {
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88
2145
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
89 if (name != null) {
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
90 if ("locations".equals(name)) return FastAnnotations.IS_POINT;
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
91 if ("distances".equals(name)) return FastAnnotations.IS_RANGE;
3058
df4d6b286af8 Added states and transitions for S-Q-relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2145
diff changeset
92 if ("measuringpoint".equals(name))
3071
9136fc8f35f0 Changed filter string to 'Messstelle' in minfo S-Q relation.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3058
diff changeset
93 return new FastAnnotations.NameFilter("Messstelle");
922
95356252c309 Added the option to call the distance info service with a filter to fetch locations or distances only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 704
diff changeset
94 }
95356252c309 Added the option to call the distance info service with a filter to fetch locations or distances only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 704
diff changeset
95
2145
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
96 return FastAnnotations.ALL;
922
95356252c309 Added the option to call the distance info service with a filter to fetch locations or distances only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 704
diff changeset
97 }
95356252c309 Added the option to call the distance info service with a filter to fetch locations or distances only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 704
diff changeset
98
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99 /**
1070
b1ed0ec0236f Smaller Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 966
diff changeset
100 * Builds an Element for a distance info.
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101 *
2145
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
102 * @param an The Annotation that provides information about the distance.
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103 *
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104 * @return an Element that contains information about a distance.
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105 */
2145
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
106 protected static Element buildNode(
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
107 Document document,
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
108 FastAnnotations.Annotation an
686
3dc61e00385e Merged with trunk and introduced hashing of computed values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 644
diff changeset
109 ) {
3dc61e00385e Merged with trunk and introduced hashing of computed values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 644
diff changeset
110 Element distance = document.createElement("distance");
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111
2145
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
112 distance.setAttribute("description", an.getPosition());
686
3dc61e00385e Merged with trunk and introduced hashing of computed values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 644
diff changeset
113
2145
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
114 String riverSide = an.getAttribute();
686
3dc61e00385e Merged with trunk and introduced hashing of computed values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 644
diff changeset
115
3dc61e00385e Merged with trunk and introduced hashing of computed values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 644
diff changeset
116 if (riverSide != null && riverSide.length() > 0) {
3dc61e00385e Merged with trunk and introduced hashing of computed values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 644
diff changeset
117 distance.setAttribute("riverside", riverSide);
3dc61e00385e Merged with trunk and introduced hashing of computed values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 644
diff changeset
118 }
3dc61e00385e Merged with trunk and introduced hashing of computed values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 644
diff changeset
119
2145
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
120 distance.setAttribute("from", String.valueOf(an.getA()));
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
121
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
122 double b = an.getB();
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
123 double bottom = an.getBottom();
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
124 double top = an.getTop();
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
125
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
126 if (!Double.isNaN(b)) {
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
127 distance.setAttribute("to", String.valueOf(b));
686
3dc61e00385e Merged with trunk and introduced hashing of computed values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 644
diff changeset
128 }
2145
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
129
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
130 if (!Double.isNaN(bottom)) {
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
131 distance.setAttribute("bottom", String.valueOf(bottom));
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
132 }
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
133
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
134 if (!Double.isNaN(top)) {
e92bc9b0ca1d DistanceInfoService now uses annotations from LocationProvider.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1631
diff changeset
135 distance.setAttribute("top", String.valueOf(top));
686
3dc61e00385e Merged with trunk and introduced hashing of computed values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 644
diff changeset
136 }
301
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
137
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
138 return distance;
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139 }
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140 }
1a00cb4998a8 Implemented a service that retrieves distance information for a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org