]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/SimpleResultPart.java
Remove unused DAOs
[gpl/argeo-slc.git] / org.argeo.slc.core / src / main / java / org / argeo / slc / core / test / SimpleResultPart.java
index 543cc98bb89849cefbbe5b626205fdd169daefdf..e114e1f6d15c34b7eb68aa4dd8e13cfb9d0813cf 100644 (file)
@@ -1,14 +1,5 @@
 package org.argeo.slc.core.test;\r
 \r
-import java.io.IOException;\r
-import java.io.PrintWriter;\r
-import java.io.StringReader;\r
-import java.io.StringWriter;\r
-import java.util.List;\r
-import java.util.Vector;\r
-\r
-import org.apache.commons.io.IOUtils;\r
-\r
 /**\r
  * <p>\r
  * Basic implementation of a result part, implementing the standard three status\r
@@ -29,7 +20,6 @@ public class SimpleResultPart implements TestResultPart, TestStatus,
        private Integer status = ERROR;\r
        private String message;\r
        private String exceptionMessage;\r
-       private List<String> exceptionStackLines = new Vector<String>();\r
 \r
        public SimpleResultPart() {\r
        }\r
@@ -68,20 +58,30 @@ public class SimpleResultPart implements TestResultPart, TestStatus,
                if (exception == null)\r
                        return;\r
 \r
-               this.exceptionMessage = exception.getMessage();\r
-\r
-               StringWriter writer = null;\r
-               StringReader reader = null;\r
-               try {\r
-                       writer = new StringWriter();\r
-                       exception.printStackTrace(new PrintWriter(writer));\r
-                       reader = new StringReader(writer.toString());\r
-                       exceptionStackLines = new Vector<String>(IOUtils.readLines(reader));\r
-               } catch (IOException e) {\r
-                       // silent\r
-               } finally {\r
-                       IOUtils.closeQuietly(writer);\r
-                       IOUtils.closeQuietly(reader);\r
+               StringBuffer buf = new StringBuffer("");\r
+               buf.append(exception.toString());\r
+               buf.append('\n');\r
+               for (StackTraceElement elem : exception.getStackTrace()) {\r
+                       buf.append('\t').append(elem.toString()).append('\n');\r
+               }\r
+\r
+               if (exception.getCause() != null)\r
+                       addRootCause(buf, exception.getCause());\r
+\r
+               this.exceptionMessage = buf.toString();\r
+       }\r
+\r
+       protected void addRootCause(StringBuffer buf, Throwable cause) {\r
+               if (cause == null)\r
+                       return;\r
+\r
+               buf.append("Caused by: " + cause.getMessage());\r
+               for (StackTraceElement elem : cause.getStackTrace()) {\r
+                       buf.append('\t').append(elem.toString()).append('\n');\r
+               }\r
+\r
+               if (cause.getCause() != null) {\r
+                       addRootCause(buf, cause.getCause());\r
                }\r
        }\r
 \r
@@ -121,14 +121,6 @@ public class SimpleResultPart implements TestResultPart, TestStatus,
                testRunUuid = testRun.getUuid();\r
        }\r
 \r
-       public List<String> getExceptionStackLines() {\r
-               return exceptionStackLines;\r
-       }\r
-\r
-       public void setExceptionStackLines(List<String> exceptionStackLines) {\r
-               this.exceptionStackLines = exceptionStackLines;\r
-       }\r
-\r
        public void setExceptionMessage(String exceptionMessage) {\r
                this.exceptionMessage = exceptionMessage;\r
        }\r