annotate gwt-client/src/main/java/org/dive4elements/river/client/server/GaugeInfoServiceImpl.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 238fc722f87a
children 0a5239a1e46e
rev   line source
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5861
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5861
diff changeset
6 * documentation coming with Dive4Elements River for details.
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
9 package org.dive4elements.river.client.server;
2466
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import java.util.ArrayList;
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 import java.util.List;
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 import javax.xml.xpath.XPathConstants;
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 import org.w3c.dom.Document;
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 import org.w3c.dom.Element;
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 import org.w3c.dom.NodeList;
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 import org.apache.log4j.Logger;
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 import com.google.gwt.user.server.rpc.RemoteServiceServlet;
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
24 import org.dive4elements.artifacts.common.ArtifactNamespaceContext;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
25 import org.dive4elements.artifacts.common.utils.XMLUtils;
2466
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
27 import org.dive4elements.artifacts.httpclient.exceptions.ConnectionException;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
28 import org.dive4elements.artifacts.httpclient.http.HttpClient;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
29 import org.dive4elements.artifacts.httpclient.http.HttpClientImpl;
2466
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
31 import org.dive4elements.river.client.shared.exceptions.ServerException;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
32 import org.dive4elements.river.client.client.services.GaugeInfoService;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
33 import org.dive4elements.river.client.shared.model.Gauge;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
34 import org.dive4elements.river.client.shared.model.GaugeImpl;
2466
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 /**
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 */
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 public class GaugeInfoServiceImpl
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 extends RemoteServiceServlet
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 implements GaugeInfoService
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 {
8203
238fc722f87a sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5993
diff changeset
44 private static final Logger log =
2466
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 Logger.getLogger(GaugeInfoServiceImpl.class);
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 public static final String ERROR_NO_GAUGES_FOUND =
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 "error_no_gaugeinfo_found";
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 public static final String XPATH_GAUGES = "art:service/art:gauge";
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 public List<Gauge> getGaugeInfo(String rivername, String refnumber)
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 throws ServerException
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 {
8203
238fc722f87a sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5993
diff changeset
57 log.info("GaugeInfoServiceImpl.getGaugeInfo");
2466
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 String url = getServletContext().getInitParameter("server-url");
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 Document doc = XMLUtils.newDocument();
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator(
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64 doc,
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65 ArtifactNamespaceContext.NAMESPACE_URI,
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66 ArtifactNamespaceContext.NAMESPACE_PREFIX);
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 Element river = ec.create("river");
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 ec.addAttr(river, "name", rivername);
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 if (refnumber != null && refnumber.length() > 0) {
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72 Element filter = ec.create("filter");
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 Element gauge = ec.create("gauge");
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74 gauge.setTextContent(refnumber);
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76 filter.appendChild(gauge);
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 river.appendChild(filter);
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 }
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80 doc.appendChild(river);
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 HttpClient client = new HttpClientImpl(url);
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84 try {
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 Document result = client.callService(url, "gaugeinfo", doc);
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86
8203
238fc722f87a sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5993
diff changeset
87 log.debug("Extract gauge info now.");
2466
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 List<Gauge> gauges = extractGauges(result);
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 if (gauges != null && gauges.size() > 0) {
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91 return gauges;
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92 }
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93 }
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94 catch (ConnectionException ce) {
8203
238fc722f87a sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5993
diff changeset
95 log.error(ce, ce);
2466
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96 }
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98 throw new ServerException(ERROR_NO_GAUGES_FOUND);
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99 }
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102 /**
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103 * Extracts all wq info objects from <i>result</i> document.
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104 *
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105 * @param result The document retrieved by the server.
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106 *
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107 * @return a list of WQInfoObjects.
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
108 */
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109 protected List<Gauge> extractGauges(Document result)
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
110 throws ServerException
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111 {
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112 List<Gauge> gauges = new ArrayList<Gauge>();
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114 NodeList list = (NodeList) XMLUtils.xpath(
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
115 result,
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
116 XPATH_GAUGES,
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
117 XPathConstants.NODESET,
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
118 ArtifactNamespaceContext.INSTANCE);
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
119
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
120 if (list == null || list.getLength() == 0) {
8203
238fc722f87a sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5993
diff changeset
121 log.warn("No gauges found.");
2466
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
122
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
123 throw new ServerException(ERROR_NO_GAUGES_FOUND);
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124 }
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
125
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
126 int num = list.getLength();
8203
238fc722f87a sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5993
diff changeset
127 log.debug("Response contains " + num + " objects.");
2466
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
128
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
129 for (int i = 0; i < num; i++) {
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130 Gauge obj = buildGauge((Element) list.item(i));
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
131
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132 if (obj != null) {
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 gauges.add(obj);
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
134 }
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135 }
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
136
8203
238fc722f87a sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5993
diff changeset
137 log.debug("Retrieved " + gauges.size() + " gauges.");
2466
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
138
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139 return gauges;
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140 }
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
142
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
143 protected Gauge buildGauge(Element ele) {
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
144 String name = ele.getAttribute("name");
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
145 String lowerStr = ele.getAttribute("lower");
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
146 String upperStr = ele.getAttribute("upper");
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
147
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
148 if (lowerStr != null && upperStr != null) {
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
149 try {
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
150 return new GaugeImpl(
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
151 name,
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 Double.valueOf(lowerStr),
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
153 Double.valueOf(upperStr));
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
154 }
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
155 catch (NumberFormatException nfe) {
8203
238fc722f87a sed 's/logger/log/g' src/**/*.java
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5993
diff changeset
156 log.warn("Error while Gauge creation: " + nfe.getMessage());
2466
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
157 }
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
158 }
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
159
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
160 return null;
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
161 }
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
162 }
52a98e1653c1 Added a new RPC service to fetch gauge information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
163 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org