1 package net.avcompris.base.testutil.processes;
2
3 import static com.google.common.base.Preconditions.checkNotNull;
4
5 import java.lang.reflect.InvocationTargetException;
6
7 public final class ProcessEntryResult {
8
9 ProcessEntryResult(final ProcessEntry processEntry) {
10
11 checkNotNull(processEntry, "processEntry");
12
13 processEntryId = processEntry.getProcessEntryId();
14 }
15
16 private final String processEntryId;
17
18 public String getProcessEntryId() {
19
20 return processEntryId;
21 }
22
23 public String getErrorMessage() {
24
25 return errorMessage;
26 }
27
28 public String getErrorClassName() {
29
30 return errorClassName;
31 }
32
33 public String getFailureMessage() {
34
35 return failureMessage;
36 }
37
38 public String getFailureClassName() {
39
40 return failureClassName;
41 }
42
43 public long getElapsedMs() {
44
45 return elapsedMs;
46 }
47
48 private String errorMessage;
49 private String errorClassName;
50 private String failureMessage;
51 private String failureClassName;
52 private long elapsedMs = -1L;
53
54 void setElapsedMs(final long elapsedMs) {
55
56 this.elapsedMs = elapsedMs;
57 }
58
59 void setError(final Throwable e) {
60
61 if (e == null) {
62
63 errorMessage = null;
64 errorClassName = null;
65
66 } else {
67
68 Throwable x = e;
69
70 if (x instanceof InvocationTargetException) {
71
72 x = ((InvocationTargetException) x).getTargetException();
73
74 if (x == null) {
75 x = e;
76 }
77 }
78
79 errorMessage = x.getMessage();
80 errorClassName = x.getClass().getName();
81 }
82 }
83
84 void setFailure(final AssertionError e) {
85
86 if (e == null) {
87
88 failureMessage = null;
89 failureClassName = null;
90
91 } else {
92
93 failureMessage = e.getMessage();
94 failureClassName = e.getClass().getName();
95 }
96 }
97 }