]> 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 eae7f4067e632ab503067ef7f8f335a232305816..e114e1f6d15c34b7eb68aa4dd8e13cfb9d0813cf 100644 (file)
@@ -8,14 +8,18 @@ package org.argeo.slc.core.test;
  * \r
  * @see TestStatus\r
  */\r
-public class SimpleResultPart implements TestResultPart, TestStatus {\r
+public class SimpleResultPart implements TestResultPart, TestStatus,\r
+               TestRunAware {\r
 \r
-       /** For ORM */\r
+       /** @deprecated */\r
        private Long tid;\r
 \r
-       private Integer status;\r
+       private String testRunUuid;\r
+\r
+       /** The status. Default to ERROR since it should always be explicitely set. */\r
+       private Integer status = ERROR;\r
        private String message;\r
-       private Exception exception;\r
+       private String exceptionMessage;\r
 \r
        public SimpleResultPart() {\r
        }\r
@@ -27,7 +31,7 @@ public class SimpleResultPart implements TestResultPart, TestStatus {
        public SimpleResultPart(Integer status, String message, Exception exception) {\r
                this.status = status;\r
                this.message = message;\r
-               this.exception = exception;\r
+               setException(exception);\r
        }\r
 \r
        public String getMessage() {\r
@@ -46,37 +50,79 @@ public class SimpleResultPart implements TestResultPart, TestStatus {
                return status;\r
        }\r
 \r
-       public Exception getException() {\r
-               return exception;\r
+       public String getExceptionMessage() {\r
+               return exceptionMessage;\r
        }\r
 \r
        public void setException(Exception exception) {\r
-               this.exception = exception;\r
+               if (exception == null)\r
+                       return;\r
+\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
        @Override\r
        public String toString() {\r
                StringBuffer buf = new StringBuffer("");\r
-               if (status == PASSED) {\r
-                       buf.append("PASSED ");\r
-               } else if (status == FAILED) {\r
-                       buf.append("FAILED ");\r
+               buf.append(SlcTestUtils.statusToString(status));\r
+               if (status == PASSED || status == FAILED) {\r
+                       buf.append(' ');\r
                } else if (status == ERROR) {\r
-                       buf.append("ERROR  ");\r
+                       buf.append("  ");\r
                }\r
                buf.append(message);\r
-               if (exception != null) {\r
-                       buf.append("(").append(exception.getMessage()).append(")");\r
-               }\r
                return buf.toString();\r
        }\r
 \r
+       /** @deprecated */\r
        Long getTid() {\r
                return tid;\r
        }\r
 \r
+       /** @deprecated */\r
        void setTid(Long tid) {\r
                this.tid = tid;\r
        }\r
 \r
+       public String getTestRunUuid() {\r
+               return testRunUuid;\r
+       }\r
+\r
+       /** For ORM */\r
+       public void setTestRunUuid(String testRunUuid) {\r
+               this.testRunUuid = testRunUuid;\r
+       }\r
+\r
+       public void notifyTestRun(TestRun testRun) {\r
+               testRunUuid = testRun.getUuid();\r
+       }\r
+\r
+       public void setExceptionMessage(String exceptionMessage) {\r
+               this.exceptionMessage = exceptionMessage;\r
+       }\r
+\r
 }\r