From 1c900609d64445040e8c5bdbfa01ae1a0f563f43 Mon Sep 17 00:00:00 2001 From: gregor Date: Wed, 28 Feb 2007 13:17:57 +0000 Subject: Initial commit git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@806 d688527b-c9ab-4aba-bd8d-4036d912da1d --- .../moa/ss/erechtclient/util/Utils.java | 106 +++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/Utils.java (limited to 'erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/Utils.java') diff --git a/erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/Utils.java b/erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/Utils.java new file mode 100644 index 000000000..2f9e01057 --- /dev/null +++ b/erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/Utils.java @@ -0,0 +1,106 @@ +/* + * Created on 25.11.2003 + * + * (c) Stabsstelle IKT-Strategie des Bundes + */ +package at.gv.egovernment.moa.ss.erechtclient.util; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.PrintWriter; +import java.util.Properties; + +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.log4j.Logger; + +import at.gv.egovernment.moa.ss.erechtclient.ERechtClientException; +import at.gv.egovernment.moa.ss.erechtclient.init.Constants; + +/** + * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) + */ +public class Utils +{ + public static byte[] readFromInputStream(InputStream inputStream) throws IOException + { + byte[] currentBytes = new byte[500]; + int bytesRead; + ByteArrayOutputStream result = new ByteArrayOutputStream(); + do + { + bytesRead = inputStream.read(currentBytes); + if (bytesRead > 0) + { + result.write(currentBytes, 0, bytesRead); + } + } + while (bytesRead != -1); + return result.toByteArray(); + } + + /* ---------------------------------------------------------------------------------------------------- */ + + public static void transferStreams(InputStream in, OutputStream out) throws IOException + { + byte[] currentBytes = new byte[500]; + int bytesRead; + do + { + bytesRead = in.read(currentBytes); + if (bytesRead > 0) + { + out.write(currentBytes, 0, bytesRead); + } + } + while (bytesRead != -1); + } + + /* ---------------------------------------------------------------------------------------------------- */ + + public static void returnErrorPage(HttpServletRequest request, HttpServletResponse response, Throwable t) + throws ServletException + { + Logger logger = Logger.getLogger(Constants.LH_SERVLETS_); + + // Store Throwable in request context + request.setAttribute(Constants.RCP_ERROR_THROWABLE_, t); + + RequestDispatcher dispatcher = request.getRequestDispatcher(Constants.JSPPN_ERROR_); + try + { + dispatcher.include(request, response); + } + catch (ServletException e) + { + logger.error("Returning error JSP page failed.", e); + throw e; + } + catch (IOException e) + { + String message = "Returning error JSP page failed."; + logger.error(message, e); + throw new ServletException(message, e); + } + } + + /* ---------------------------------------------------------------------------------------------------- */ + + public static String readInitProperty(Properties initProps, String name, Logger logger) + throws ERechtClientException + { + String value = initProps.getProperty(name); + if (value == null) + { + String message = "Could not read property \"" + name + "\" from configuration properties."; + logger.error(message); + throw new ERechtClientException(message); + } + return value; + } +} -- cgit v1.2.3