01: package abbot.script;
02:
03: import abbot.Log;
04:
05: public class StepEvent extends java.util.EventObject implements
06: Cloneable {
07: /** The step has begun executing. */
08: public static final String STEP_START = "step-start";
09: /** The step is N% complete. */
10: public static final String STEP_PROGRESS = "step-progress";
11: /** The step has finished. */
12: public static final String STEP_END = "step-end";
13: /** The step encountered an error. */
14: public static final String STEP_ERROR = "step-error";
15: /** The step failed. This represents a test that failed to produce the
16: expected results. */
17: public static final String STEP_FAILURE = "step-failure";
18:
19: /** Multi-use field. Currently only used by STEP_PROGRESS. */
20: private int id;
21: /** What type of step event (start, end, etc.) */
22: private String type;
23: /** Error or failure, if any. */
24: private Throwable throwable = null;
25:
26: public StepEvent(Step source, String type, int id,
27: Throwable throwable) {
28: super (source);
29: Log.debug("Source is " + source);
30: this .type = type;
31: this .id = id;
32: this .throwable = throwable;
33: }
34:
35: public Object clone() {
36: return new StepEvent((Step) getSource(), type, id, throwable);
37: }
38:
39: public Step getStep() {
40: return (Step) getSource();
41: }
42:
43: public String getType() {
44: return type;
45: }
46:
47: public int getID() {
48: return id;
49: }
50:
51: public String toString() {
52: return type + ", (step " + getStep() + ")";
53: }
54:
55: public Throwable getError() {
56: return throwable;
57: }
58: }
|