]>
git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/test/SimpleResultPart.java
1 package org
.argeo
.slc
.core
.test
;
3 import org
.argeo
.slc
.test
.TestResultPart
;
4 import org
.argeo
.slc
.test
.TestRun
;
5 import org
.argeo
.slc
.test
.TestRunAware
;
6 import org
.argeo
.slc
.test
.TestStatus
;
10 * Basic implementation of a result part, implementing the standard three status
11 * approach for test results.
16 public class SimpleResultPart
implements TestResultPart
, TestStatus
,
21 private String testRunUuid
;
23 /** The status. Default to ERROR since it should always be explicitely set. */
24 private Integer status
= ERROR
;
25 private String message
;
26 private String exceptionMessage
;
28 public SimpleResultPart() {
31 public SimpleResultPart(Integer status
, String message
) {
32 this(status
, message
, null);
35 public SimpleResultPart(Integer status
, String message
, Exception exception
) {
37 this.message
= message
;
38 setException(exception
);
41 public String
getMessage() {
45 public void setMessage(String message
) {
46 this.message
= message
;
49 public void setStatus(Integer status
) {
53 public Integer
getStatus() {
57 public String
getExceptionMessage() {
58 return exceptionMessage
;
61 public void setException(Exception exception
) {
62 if (exception
== null)
65 StringBuffer buf
= new StringBuffer("");
66 buf
.append(exception
.toString());
68 for (StackTraceElement elem
: exception
.getStackTrace()) {
69 buf
.append('\t').append(elem
.toString()).append('\n');
72 if (exception
.getCause() != null)
73 addRootCause(buf
, exception
.getCause());
75 this.exceptionMessage
= buf
.toString();
78 protected void addRootCause(StringBuffer buf
, Throwable cause
) {
82 buf
.append("Caused by: " + cause
.getMessage());
83 for (StackTraceElement elem
: cause
.getStackTrace()) {
84 buf
.append('\t').append(elem
.toString()).append('\n');
87 if (cause
.getCause() != null) {
88 addRootCause(buf
, cause
.getCause());
93 public String
toString() {
94 StringBuffer buf
= new StringBuffer("");
95 buf
.append(SlcTestUtils
.statusToString(status
));
96 if (status
== PASSED
|| status
== FAILED
) {
98 } else if (status
== ERROR
) {
102 return buf
.toString();
111 void setTid(Long tid
) {
115 public String
getTestRunUuid() {
120 public void setTestRunUuid(String testRunUuid
) {
121 this.testRunUuid
= testRunUuid
;
124 public void notifyTestRun(TestRun testRun
) {
125 testRunUuid
= testRun
.getUuid();
128 public void setExceptionMessage(String exceptionMessage
) {
129 this.exceptionMessage
= exceptionMessage
;