diff flys-client/src/main/java/de/intevation/flys/client/server/MapOutputServiceImpl.java @ 1510:f7b3d5833f3b

Updated the MapOutputService to be able to request the new output type 'map'. flys-client/trunk@3652 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Wed, 11 Jan 2012 14:28:46 +0000
parents 28eb4dfe2cbf
children
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/server/MapOutputServiceImpl.java	Wed Jan 11 11:20:36 2012 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/server/MapOutputServiceImpl.java	Wed Jan 11 14:28:46 2012 +0000
@@ -3,6 +3,8 @@
 import java.io.InputStream;
 import java.io.IOException;
 
+import java.util.Map;
+
 import org.w3c.dom.Document;
 
 import org.apache.log4j.Logger;
@@ -19,7 +21,7 @@
 import de.intevation.flys.client.shared.exceptions.ServerException;
 import de.intevation.flys.client.shared.model.Collection;
 import de.intevation.flys.client.shared.model.MapConfig;
-
+import de.intevation.flys.client.shared.model.OutputMode;
 import de.intevation.flys.client.client.services.MapOutputService;
 
 
@@ -34,6 +36,7 @@
 
     public static final String ERROR_NO_MAP_CONFIG = "error_no_map_config";
 
+    public static final String ERROR_NO_MAP_OUTPUT_TYPE = "error_no_map_output_type";
 
     public MapConfig doOut(Collection collection)
     throws ServerException
@@ -43,12 +46,24 @@
         String url  = getServletContext().getInitParameter("server-url");
         String uuid = collection.identifier();
 
+        Map<String, OutputMode> modes = collection.getOutputModes();
+        String requestMode = "";
+        if (modes.containsKey("floodmap")) {
+            requestMode = "floodmap";
+        }
+        else if (modes.containsKey("map")) {
+            requestMode = "map";
+        }
+        else {
+           throw new ServerException(ERROR_NO_MAP_OUTPUT_TYPE);
+        }
+
         try {
             Document request = ClientProtocolUtils.newOutCollectionDocument(
-                uuid, "floodmap", "floodmap");
+                uuid, requestMode, requestMode);
 
             HttpClient client = new HttpClientImpl(url);
-            InputStream    is = client.collectionOut(request, uuid, "floodmap");
+            InputStream    is = client.collectionOut(request, uuid, requestMode);
 
             Document response = XMLUtils.parseDocument(is);
 

http://dive4elements.wald.intevation.org