]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/SimpleResultPart.java
ef5512ccf5f2a180b559cb70357f03b6b9524343
[gpl/argeo-slc.git] / org.argeo.slc.core / src / main / java / org / argeo / slc / core / test / SimpleResultPart.java
1 package org.argeo.slc.core.test;
2
3
4 /**
5 * <p>
6 * Basic implementation of a result part, implementing the standard three status
7 * approach for test results.
8 * </p>
9 *
10 * @see TestStatus
11 */
12 public class SimpleResultPart implements TestResultPart, TestStatus,
13 TestRunAware {
14
15 /** @deprecated */
16 private Long tid;
17
18 private String testRunUuid;
19
20 /** The status. Default to ERROR since it should always be explicitely set. */
21 private Integer status = ERROR;
22 private String message;
23 private String exceptionMessage;
24
25 public SimpleResultPart() {
26 }
27
28 public SimpleResultPart(Integer status, String message) {
29 this(status, message, null);
30 }
31
32 public SimpleResultPart(Integer status, String message, Exception exception) {
33 this.status = status;
34 this.message = message;
35 setException(exception);
36 }
37
38 public String getMessage() {
39 return message;
40 }
41
42 public void setMessage(String message) {
43 this.message = message;
44 }
45
46 public void setStatus(Integer status) {
47 this.status = status;
48 }
49
50 public Integer getStatus() {
51 return status;
52 }
53
54 public String getExceptionMessage() {
55 return exceptionMessage;
56 }
57
58 public void setException(Exception exception) {
59 if (exception == null)
60 return;
61
62 //this.exceptionMessage = exception.getMessage();
63
64 StringBuffer buf = new StringBuffer("");
65 buf.append(exception.getMessage());
66 buf.append('\n');
67 for(StackTraceElement elem : exception.getStackTrace()){
68 buf.append(elem.toString()).append('\n');
69 }
70
71 this.exceptionMessage = buf.toString();
72
73 /*
74 StringWriter writer = null;
75 StringReader reader = null;
76 try {
77 writer = new StringWriter();
78 exception.printStackTrace(new PrintWriter(writer));
79 reader = new StringReader(writer.toString());
80 exceptionStackLines = new Vector<String>(IOUtils.readLines(reader));
81 } catch (IOException e) {
82 // silent
83 } finally {
84 IOUtils.closeQuietly(writer);
85 IOUtils.closeQuietly(reader);
86 }*/
87 }
88
89 @Override
90 public String toString() {
91 StringBuffer buf = new StringBuffer("");
92 buf.append(SlcTestUtils.statusToString(status));
93 if (status == PASSED || status == FAILED) {
94 buf.append(' ');
95 } else if (status == ERROR) {
96 buf.append(" ");
97 }
98 buf.append(message);
99 return buf.toString();
100 }
101
102 /** @deprecated */
103 Long getTid() {
104 return tid;
105 }
106
107 /** @deprecated */
108 void setTid(Long tid) {
109 this.tid = tid;
110 }
111
112 public String getTestRunUuid() {
113 return testRunUuid;
114 }
115
116 /** For ORM */
117 public void setTestRunUuid(String testRunUuid) {
118 this.testRunUuid = testRunUuid;
119 }
120
121 public void notifyTestRun(TestRun testRun) {
122 testRunUuid = testRun.getUuid();
123 }
124
125 public void setExceptionMessage(String exceptionMessage) {
126 this.exceptionMessage = exceptionMessage;
127 }
128
129 }