From e06e1534392fadfd84c84fb403be56fa9c852fdb Mon Sep 17 00:00:00 2001 From: gregor Date: Mon, 26 Jun 2006 14:50:59 +0000 Subject: Verzeichnis verschoben nach /src git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@714 d688527b-c9ab-4aba-bd8d-4036d912da1d --- .../slinterface/servlets/HashInputDataServlet.java | 93 ++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/HashInputDataServlet.java (limited to 'spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/HashInputDataServlet.java') diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/HashInputDataServlet.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/HashInputDataServlet.java new file mode 100644 index 000000000..f7cfb7e6c --- /dev/null +++ b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/HashInputDataServlet.java @@ -0,0 +1,93 @@ +/* + * Created on 01.12.2003 + * + * (c) Stabsstelle IKT-Strategie des Bundes + */ +package at.gv.egovernment.moa.spss.slinterface.servlets; + +import java.io.FileInputStream; +import java.io.OutputStream; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import org.apache.log4j.Logger; + +import at.gv.egovernment.moa.spss.slinterface.Constants; +import at.gv.egovernment.moa.spss.slinterface.Utils; +import at.gv.egovernment.moa.spss.slinterface.beans.DataInfoBean; + +/** + * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) + */ +public class HashInputDataServlet extends HttpServlet +{ + private static Logger logger_ = Logger.getLogger(Constants.LH_SERVLETS_); + + /** + * Default constructor. + */ + public HashInputDataServlet() + { + super(); + } + + public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException + { + // Get DataInfoBean object from session + HttpSession session = request.getSession(false); + if (session == null) + { + String message = "No session available."; + logger_.error(message); + throw new ServletException(message); + } + DataInfoBean dataInfo = (DataInfoBean) session.getAttribute("dataInfo"); + + // Get parameter inicating which hash input data file to show + String hidCountStr = request.getParameter("hidCount"); + if (hidCountStr == null) + { + String message = "Parameter \"hidCount\" not available in request."; + logger_.error(message); + throw new ServletException(message); + } + int hidCount = -1; + try + { + hidCount = Integer.parseInt(hidCountStr); + } + catch (NumberFormatException e) + { + String message = "Parameter \"hidCount\" (\"" + hidCount + "\") is not a valid string representation of an integer."; + logger_.error(message, e); + throw new ServletException(message, e); + } + + // Get file name of temporary HID file + dataInfo.setHashInputDataCount(hidCount); + String hidFilename = dataInfo.getHashInputDataFilename(); + + // Set content type + boolean isSLXHTML = dataInfo.getIsSLXHTMLDocument(); + String contenType = (isSLXHTML) ? "text/html" : "application/octet-stream"; + response.setContentType(contenType); + + // Write content from temporary HID file to response OS + try + { + FileInputStream hidFIS = new FileInputStream(hidFilename); + OutputStream responseOS = response.getOutputStream(); + Utils.transferStreams(hidFIS, responseOS); + } + catch (Exception e) + { + String message = "Writing hash input data to response stream failed."; + logger_.error(message, e); + throw new ServletException(message, e); + } + } +} -- cgit v1.2.3