Mercurial > dive4elements > river
view flys-client/src/main/java/de/intevation/flys/client/server/DischargeInfoXML.java @ 4378:8eb1d6dc96a9
Add chart generation for fixings in bed differences generators
If matching fixanalysis data is loaded via the datacage the bed difference
generators are now able to display graphs for the additonal data.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Fri, 02 Nov 2012 15:50:35 +0100 |
parents | 67468c90ca68 |
children |
line wrap: on
line source
package de.intevation.flys.client.server; import java.io.InputStream; import java.io.IOException; import java.io.OutputStream; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.apache.log4j.Logger; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import de.intevation.artifacts.common.ArtifactNamespaceContext; import de.intevation.artifacts.common.utils.XMLUtils; import de.intevation.artifacts.httpclient.exceptions.ConnectionException; import de.intevation.artifacts.httpclient.http.HttpClient; import de.intevation.artifacts.httpclient.http.HttpClientImpl; import de.intevation.artifacts.httpclient.http.response.StreamResponseHandler; /** * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> */ public class DischargeInfoXML extends HttpServlet { private static final Logger logger = Logger.getLogger(DischargeInfoXML.class); public static final String ERROR_NO_DISTANCEINFO_FOUND = "error_no_dischargeinfo_found"; public void doGet(HttpServletRequest req, HttpServletResponse resp) { logger.info("DischargeInfoXML.doGet"); String url = getServletContext().getInitParameter("server-url"); String gauge = req.getParameter("gauge"); Document doc = XMLUtils.newDocument(); XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator( doc, ArtifactNamespaceContext.NAMESPACE_URI, ArtifactNamespaceContext.NAMESPACE_PREFIX); Element gaugeEl = ec.create("gauge"); gaugeEl.setTextContent(gauge); doc.appendChild(gaugeEl); HttpClient client = new HttpClientImpl(url); try { InputStream in = (InputStream) client.callService( url, "dischargeinfo", doc, new StreamResponseHandler()); OutputStream out = resp.getOutputStream(); byte[] b = new byte[4096]; int i; while ((i = in.read(b)) >= 0) { out.write(b, 0, i); } out.flush(); out.close(); } catch (ConnectionException ce) { logger.error(ce, ce); } catch (IOException ioe) { logger.error(ioe, ioe); } } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :