From a092d6b79f47ad9d082792466efbc3b1c97ab091 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Fri, 30 Sep 2011 08:30:14 +0200 Subject: [PATCH] added getContent method to IOUtil --- .../src/main/java/sonia/scm/util/IOUtil.java | 44 +++++++++++++++++++ .../sonia/scm/web/cgi/DefaultCGIExecutor.java | 34 ++------------ 2 files changed, 48 insertions(+), 30 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/util/IOUtil.java b/scm-core/src/main/java/sonia/scm/util/IOUtil.java index 9c7b3d2972..e37ce0a70d 100644 --- a/scm-core/src/main/java/sonia/scm/util/IOUtil.java +++ b/scm-core/src/main/java/sonia/scm/util/IOUtil.java @@ -45,12 +45,14 @@ import sonia.scm.io.ZipUnArchiver; //~--- JDK imports ------------------------------------------------------------ +import java.io.BufferedReader; import java.io.Closeable; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.io.OutputStream; import java.io.Reader; import java.io.Writer; @@ -592,6 +594,48 @@ public class IOUtil //~--- get methods ---------------------------------------------------------- + /** + * Method description + * + * + * @param in + * + * @return + * @since 1.8 + * + * @throws IOException + */ + public static String getContent(InputStream in) throws IOException + { + StringBuilder content = new StringBuilder(); + BufferedReader reader = null; + + try + { + reader = new BufferedReader(new InputStreamReader(in)); + + String s = System.getProperty("line.separator"); + String line = reader.readLine(); + + while (line != null) + { + content.append(line); + line = reader.readLine(); + + if (line != null) + { + content.append(s); + } + } + } + finally + { + close(reader); + } + + return content.toString(); + } + /** * Method description * diff --git a/scm-webapp/src/main/java/sonia/scm/web/cgi/DefaultCGIExecutor.java b/scm-webapp/src/main/java/sonia/scm/web/cgi/DefaultCGIExecutor.java index b4b7fc77c9..a199ecbd7e 100644 --- a/scm-webapp/src/main/java/sonia/scm/web/cgi/DefaultCGIExecutor.java +++ b/scm-webapp/src/main/java/sonia/scm/web/cgi/DefaultCGIExecutor.java @@ -396,40 +396,14 @@ public class DefaultCGIExecutor extends AbstractCGIExecutor */ private void processErrorStream(InputStream in) throws IOException { - BufferedReader reader = null; - - try + if (logger.isWarnEnabled()) { - reader = new BufferedReader(new InputStreamReader(in)); + String error = IOUtil.getContent(in); - StringBuilder error = new StringBuilder(); - String s = System.getProperty("line.separator"); - String line = reader.readLine(); - - while (line != null) + if (Util.isNotEmpty(error)) { - error.append(line); - line = reader.readLine(); - - if (line != null) - { - error.append(s); - } + logger.warn(error.trim()); } - - if (logger.isWarnEnabled()) - { - String msg = error.toString().trim(); - - if (Util.isNotEmpty(msg)) - { - logger.warn(msg); - } - } - } - finally - { - IOUtil.close(reader); } }