diff flys-client/src/main/java/de/intevation/flys/client/server/MapInfoServiceImpl.java @ 4739:5014a84c0c7d

Add "maptype" parameter to MapInfoService.
author Christian Lins <christian.lins@intevation.de>
date Wed, 02 Jan 2013 15:24:18 +0100
parents 02cf2b1dff84
children
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/server/MapInfoServiceImpl.java	Wed Jan 02 15:15:45 2013 +0100
+++ b/flys-client/src/main/java/de/intevation/flys/client/server/MapInfoServiceImpl.java	Wed Jan 02 15:24:18 2013 +0100
@@ -1,5 +1,6 @@
 package de.intevation.flys.client.server;
 
+import com.google.gwt.core.client.GWT;
 import com.google.gwt.user.server.rpc.RemoteServiceServlet;
 
 import de.intevation.artifacts.common.utils.XMLUtils;
@@ -43,7 +44,7 @@
     public static final String XPATH_RIVER_WMS =
         "/mapinfo/river/river-wms/@url";
 
-    public static final String XPATH_RIVER_WMS_LAYERS =
+    public static final String XPATH_RIVER_LAYERS =
         "/mapinfo/river/river-wms/@layers";
 
     public static final String XPATH_WMS_URL =
@@ -64,7 +65,7 @@
 
         String url  = getServletContext().getInitParameter("server-url");
 
-        Document request = getRequestDocument(river);;
+        Document request = getRequestDocument(river, "rivermap");
 
         HttpClient client = new HttpClientImpl(url, locale);
 
@@ -87,19 +88,22 @@
     }
 
 
-    public static Document getRequestDocument(String rivername) {
+    public static Document getRequestDocument(String rivername, String maptypeStr) {
         logger.debug("MapInfoServiceImpl.getRequestDocument");
 
         Document  request = XMLUtils.newDocument();
         ElementCreator cr = new ElementCreator(request, null, null);
 
-        Element root  = cr.create("mapinfo");
-        Element river = cr.create("river");
+        Element root    = cr.create("mapinfo");
+        Element river   = cr.create("river");
+        Element maptype = cr.create("maptype");
 
         river.setTextContent(rivername);
+        maptype.setTextContent(maptypeStr);
 
         request.appendChild(root);
         root.appendChild(river);
+        root.appendChild(maptype);
 
         return request;
     }
@@ -114,9 +118,9 @@
         BBox   bbox    = BBox.getBBoxFromString(bboxS);
 
         String riverWMS    = XMLUtils.xpathString(result, XPATH_RIVER_WMS, null);
-        String riverLayers = XMLUtils.xpathString(result, XPATH_RIVER_WMS_LAYERS, null);
-        String wmsURL    = XMLUtils.xpathString(result, XPATH_WMS_URL, null);
-        String wmsLayers = XMLUtils.xpathString(result, XPATH_WMS_LAYERS, null);
+        String riverLayers = XMLUtils.xpathString(result, XPATH_RIVER_LAYERS, null);
+        String wmsURL      = XMLUtils.xpathString(result, XPATH_WMS_URL, null);
+        String wmsLayers   = XMLUtils.xpathString(result, XPATH_WMS_LAYERS, null);
 
         int srid = 4326;
 
@@ -124,10 +128,11 @@
             srid = Integer.parseInt(sridStr);
         }
         catch (NumberFormatException nfe) {
-            // do nothing
+            GWT.log("Could not parse SRID String: " + sridStr);
         }
 
-        return new MapInfo(river, srid, bbox, riverWMS, riverLayers, wmsURL, wmsLayers);
+        return new MapInfo(
+                river, srid, bbox, riverWMS, riverLayers, wmsURL, wmsLayers);
     }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org