annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java @ 4023:e064e781d255

Merged.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Thu, 04 Oct 2012 11:27:06 +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