small performance improvements

This commit is contained in:
Sebastian Sdorra
2011-12-21 08:15:46 +01:00
parent f1fadb2eda
commit d199c9a69b
2 changed files with 14 additions and 23 deletions

View File

@@ -45,14 +45,13 @@ import sonia.scm.io.ZipUnArchiver;
//~--- JDK imports ------------------------------------------------------------ //~--- JDK imports ------------------------------------------------------------
import java.io.BufferedReader; import java.io.ByteArrayOutputStream;
import java.io.Closeable; import java.io.Closeable;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream; import java.io.OutputStream;
import java.io.Reader; import java.io.Reader;
import java.io.Writer; import java.io.Writer;
@@ -631,30 +630,19 @@ public class IOUtil
*/ */
public static String getContent(InputStream in) throws IOException public static String getContent(InputStream in) throws IOException
{ {
StringBuilder content = new StringBuilder(); String content = null;
BufferedReader reader = null; ByteArrayOutputStream baos = null;
try try
{ {
reader = new BufferedReader(new InputStreamReader(in)); baos = new ByteArrayOutputStream();
copy(in, baos);
String s = System.getProperty("line.separator"); content = baos.toString();
String line = reader.readLine();
while (line != null)
{
content.append(line);
line = reader.readLine();
if (line != null)
{
content.append(s);
}
}
} }
finally finally
{ {
close(reader); close(baos);
close(in);
} }
return content.toString(); return content.toString();

View File

@@ -47,6 +47,7 @@ import sonia.scm.util.Util;
//~--- JDK imports ------------------------------------------------------------ //~--- JDK imports ------------------------------------------------------------
import java.io.ByteArrayOutputStream;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
@@ -447,11 +448,13 @@ public class DefaultCGIExecutor extends AbstractCGIExecutor
{ {
if (logger.isWarnEnabled()) if (logger.isWarnEnabled())
{ {
String error = IOUtil.getContent(in); ByteArrayOutputStream baos = new ByteArrayOutputStream();
if (Util.isNotEmpty(error)) IOUtil.copy(in, baos);
if (baos.size() > 0)
{ {
logger.warn(error.trim()); logger.warn(baos.toString());
} }
} }
} }