Mercurial > dive4elements > river
view flys-client/src/main/java/de/intevation/flys/client/server/ChartOutputServiceImpl.java @ 1259:54365104835c 2.5
merged flys-backend/2.5
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:14:18 +0200 |
parents | e74bf6bfeeb6 |
children | 51d4b51a51ed |
line wrap: on
line source
package de.intevation.flys.client.server; import java.io.OutputStream; import java.io.IOException; import java.util.HashMap; import java.util.Map; import org.w3c.dom.Document; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import de.intevation.artifacts.common.utils.ClientProtocolUtils; import de.intevation.artifacts.httpclient.http.HttpClient; import de.intevation.artifacts.httpclient.http.HttpClientImpl; /** * This service is used to request a chart from the artifact server. The * response is directed directly to the output stream, so the image that is * retrieved is displayed in the UI afterwards. * * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class ChartOutputServiceImpl extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) { System.out.println("ChartOutputServiceImpl.doGet"); try { OutputStream out = resp.getOutputStream(); String serverUrl = req.getParameter("server"); String uuid = req.getParameter("uuid"); String type = req.getParameter("type"); String locale = req.getParameter("locale"); Document request = ClientProtocolUtils.newOutCollectionDocument( uuid, type, type, ChartServiceHelper.getChartAttributes(prepareChartAttributes(req))); HttpClient client = new HttpClientImpl(serverUrl, locale); client.collectionOut(request, uuid, "chart", out); out.close(); out.flush(); } catch (IOException ioe) { ioe.printStackTrace(); System.err.println(ioe.getMessage()); } catch (Exception e) { e.printStackTrace(); System.err.println(e.getMessage()); } } protected Map<String, String> prepareChartAttributes(HttpServletRequest req) { Map<String, String> attr = new HashMap<String, String>(); Map params = req.getParameterMap(); attr.put("width", req.getParameter("width")); attr.put("height", req.getParameter("height")); attr.put("minx", req.getParameter("minx")); attr.put("maxx", req.getParameter("maxx")); attr.put("miny", req.getParameter("miny")); attr.put("maxy", req.getParameter("maxy")); return attr; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :