From 67e2ff36a93e90ff403e72e0035aef86962ecce8 Mon Sep 17 00:00:00 2001 From: Stephane Bailliez Date: Sat, 15 Dec 2001 00:32:32 +0000 Subject: [PATCH] Take advantage of StringUtils git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270150 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/tools/ant/DefaultLogger.java | 26 +++++++++---------- src/main/org/apache/tools/ant/XmlLogger.java | 8 ++---- .../tools/ant/taskdefs/RecorderEntry.java | 14 +++++----- .../taskdefs/optional/ide/VAJAntToolGUI.java | 7 +++-- .../optional/ide/VAJToolsServlet.java | 5 ++-- .../optional/junit/JUnitTestRunner.java | 7 ++--- .../optional/junit/XMLResultAggregator.java | 5 ++-- 7 files changed, 30 insertions(+), 42 deletions(-) diff --git a/src/main/org/apache/tools/ant/DefaultLogger.java b/src/main/org/apache/tools/ant/DefaultLogger.java index 357314625..fadf7bf5c 100644 --- a/src/main/org/apache/tools/ant/DefaultLogger.java +++ b/src/main/org/apache/tools/ant/DefaultLogger.java @@ -58,6 +58,8 @@ import java.io.PrintStream; import java.io.PrintWriter; import java.io.StringWriter; +import org.apache.tools.ant.util.StringUtils; + /** * Writes build event to a PrintStream. Currently, it * only writes which targets are being executed, and @@ -71,8 +73,6 @@ public class DefaultLogger implements BuildLogger { protected int msgOutputLevel = Project.MSG_ERR; private long startTime = System.currentTimeMillis(); - protected static String lSep = System.getProperty("line.separator"); - protected boolean emacsMode = false; /** @@ -134,29 +134,29 @@ public class DefaultLogger implements BuildLogger { StringBuffer message = new StringBuffer(); if (error == null) { - message.append(lSep + "BUILD SUCCESSFUL"); + message.append(StringUtils.LINE_SEP); + message.append("BUILD SUCCESSFUL"); } else { - message.append(lSep + "BUILD FAILED" + lSep); + message.append(StringUtils.LINE_SEP); + message.append("BUILD FAILED"); + message.append(StringUtils.LINE_SEP); if (Project.MSG_VERBOSE <= msgOutputLevel || !(error instanceof BuildException)) { - StringWriter sw = new StringWriter(); - PrintWriter pw = new PrintWriter(sw); - error.printStackTrace(pw); - message.append(sw.toString()); + message.append(StringUtils.getStackTrace(error)); } else { if (error instanceof BuildException) { - message.append(error.toString() + lSep); + message.append(error.toString()).append(StringUtils.LINE_SEP); } else { - message.append(error.getMessage() + lSep); + message.append(error.getMessage()).append(StringUtils.LINE_SEP); } } } - - message.append(lSep + "Total time: " + message.append(StringUtils.LINE_SEP); + message.append("Total time: " + formatTime(System.currentTimeMillis() - startTime)); String msg = message.toString(); @@ -170,7 +170,7 @@ public class DefaultLogger implements BuildLogger { public void targetStarted(BuildEvent event) { if (Project.MSG_INFO <= msgOutputLevel) { - String msg = lSep + event.getTarget().getName() + ":"; + String msg = StringUtils.LINE_SEP + event.getTarget().getName() + ":"; out.println(msg); log(msg); } diff --git a/src/main/org/apache/tools/ant/XmlLogger.java b/src/main/org/apache/tools/ant/XmlLogger.java index 5505f9dff..311a4f322 100644 --- a/src/main/org/apache/tools/ant/XmlLogger.java +++ b/src/main/org/apache/tools/ant/XmlLogger.java @@ -68,6 +68,7 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Text; import org.apache.tools.ant.util.DOMElementWriter; +import org.apache.tools.ant.util.StringUtils; /** * Generates a "log.xml" file in the current directory with @@ -133,13 +134,8 @@ public class XmlLogger implements BuildListener { buildElement.element.setAttribute(ERROR_ATTR, event.getException().toString()); // print the stacktrace in the build file it is always useful... // better have too much info than not enough. - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - PrintStream ps = new PrintStream(baos,true); Throwable t = event.getException(); - t.printStackTrace(ps); - ps.flush(); - ps.close(); - Text errText = doc.createCDATASection(baos.toString()); + Text errText = doc.createCDATASection(StringUtils.getStackTrace(t)); Element stacktrace = doc.createElement(STACKTRACE_TAG); stacktrace.appendChild(errText); buildElement.element.appendChild(stacktrace); diff --git a/src/main/org/apache/tools/ant/taskdefs/RecorderEntry.java b/src/main/org/apache/tools/ant/taskdefs/RecorderEntry.java index 250a9db0e..b24e3b1db 100644 --- a/src/main/org/apache/tools/ant/taskdefs/RecorderEntry.java +++ b/src/main/org/apache/tools/ant/taskdefs/RecorderEntry.java @@ -57,6 +57,8 @@ package org.apache.tools.ant.taskdefs; import org.apache.tools.ant.BuildLogger; import org.apache.tools.ant.Project; import org.apache.tools.ant.BuildEvent; +import org.apache.tools.ant.util.StringUtils; + import java.io.PrintStream; @@ -92,10 +94,6 @@ public class RecorderEntry implements BuildLogger { * The start time of the last know target. */ private long targetStartTime = 0l; - /** - * Line separator. - */ - private static String lSep = System.getProperty("line.separator"); ////////////////////////////////////////////////////////////////////// // CONSTRUCTORS / INITIALIZERS @@ -136,9 +134,9 @@ public class RecorderEntry implements BuildLogger { Throwable error = event.getException(); if (error == null) { - out.println(lSep + "BUILD SUCCESSFUL"); + out.println(StringUtils.LINE_SEP + "BUILD SUCCESSFUL"); } else { - out.println(lSep + "BUILD FAILED" + lSep); + out.println(StringUtils.LINE_SEP + "BUILD FAILED" + StringUtils.LINE_SEP); error.printStackTrace(out); } out.flush(); @@ -147,7 +145,7 @@ public class RecorderEntry implements BuildLogger { public void targetStarted(BuildEvent event) { log( ">> TARGET STARTED -- " + event.getTarget(), Project.MSG_DEBUG ); - log( lSep + event.getTarget().getName() + ":", Project.MSG_INFO ); + log( StringUtils.LINE_SEP + event.getTarget().getName() + ":", Project.MSG_INFO ); targetStartTime = System.currentTimeMillis(); } @@ -159,7 +157,7 @@ public class RecorderEntry implements BuildLogger { } public void taskStarted(BuildEvent event) { - log( ">>> TAST STARTED -- " + event.getTask(), Project.MSG_DEBUG ); + log( ">>> TASK STARTED -- " + event.getTask(), Project.MSG_DEBUG ); } public void taskFinished(BuildEvent event) { diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJAntToolGUI.java b/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJAntToolGUI.java index 3537e58f0..f9a404ac6 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJAntToolGUI.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJAntToolGUI.java @@ -93,6 +93,7 @@ import org.apache.tools.ant.BuildException; import org.apache.tools.ant.BuildListener; import org.apache.tools.ant.BuildEvent; import org.apache.tools.ant.Project; +import org.apache.tools.ant.util.StringUtils; /** * This is a simple grafical user interface to provide the information needed @@ -114,7 +115,7 @@ public class VAJAntToolGUI extends Frame { * Members */ private VAJBuildLogger logger = new VAJBuildLogger(); - private String lineSeparator = "\r\n"; + private final static String lineSeparator = "\r\n"; private PrivateEventHandler iEventHandler = new PrivateEventHandler(); /** @@ -1287,9 +1288,7 @@ public class VAJAntToolGUI extends Frame { */ private void handleException(Throwable exception) { // Write exceptions to the log-window - StringWriter sw = new StringWriter(); - exception.printStackTrace(new PrintWriter(sw)); - String trace = new String( sw.getBuffer() ); + String trace = StringUtils.getStackTrace(exception); getMessageTextArea().append(lineSeparator + lineSeparator + trace); getMessageFrame().show(); diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJToolsServlet.java b/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJToolsServlet.java index d5106e426..10534dde4 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJToolsServlet.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/ide/VAJToolsServlet.java @@ -66,6 +66,7 @@ import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletException; import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.util.StringUtils; /** * Abstract base class to provide common services for the @@ -145,9 +146,7 @@ public abstract class VAJToolsServlet extends HttpServlet { } catch( Exception e ) { try { if ( ! (e instanceof BuildException) ) { - StringWriter sw = new StringWriter(); - e.printStackTrace(new PrintWriter(sw)); - String trace = new String( sw.getBuffer() ); + String trace = StringUtils.getStackTrace(e); util.log("Program error in " + this.getClass().getName() + ":\n" + trace, VAJUtil.MSG_ERR); } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java index b323abcbb..29027063f 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java @@ -57,6 +57,7 @@ package org.apache.tools.ant.taskdefs.optional.junit; import org.apache.tools.ant.AntClassLoader; import org.apache.tools.ant.Project; import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.util.StringUtils; import junit.framework.TestListener; import junit.framework.TestResult; @@ -477,11 +478,7 @@ public class JUnitTestRunner implements TestListener { * Scott M. Stirling. */ public static String getFilteredTrace(Throwable t) { - StringWriter stringWriter = new StringWriter(); - PrintWriter writer = new PrintWriter(stringWriter); - t.printStackTrace(writer); - StringBuffer buffer = stringWriter.getBuffer(); - String trace = buffer.toString(); + String trace = StringUtils.getStackTrace(t); return JUnitTestRunner.filterStack(trace); } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java index a5ddc6ffd..3b5187a2a 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java @@ -76,6 +76,7 @@ import org.apache.tools.ant.DirectoryScanner; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.types.FileSet; import org.apache.tools.ant.util.DOMElementWriter; +import org.apache.tools.ant.util.StringUtils; /** @@ -269,9 +270,7 @@ public class XMLResultAggregator extends Task implements XMLConstants { // a testcase might have failed and write a zero-length document, // It has already failed, but hey.... mm. just put a warning log("The file " + files[i] + " is not a valid XML document. It is possibly corrupted.", Project.MSG_WARN); - StringWriter sw = new StringWriter(); - e.printStackTrace(new PrintWriter(sw)); - log(sw.toString(), Project.MSG_DEBUG); + log(StringUtils.getStackTrace(e), Project.MSG_DEBUG); } catch (IOException e){ log("Error while accessing file " + files[i] + ": " + e.getMessage(), Project.MSG_ERR); }