1
2
3
4 package pt.digitalis.sampleApp.iss;
5
6 import pt.digitalis.iss.IProcess;
7 import pt.digitalis.iss.ProcessResults;
8
9
10
11
12
13
14
15
16
17
18
19
20 public abstract class BaseWriterProcess implements IProcess {
21
22
23 private int totalInteractions;
24
25
26
27
28 protected int processID;
29
30
31
32
33 private long endTime;
34
35
36
37
38
39
40
41
42
43
44 public void init(int totalInteractions, int processID) {
45 this.totalInteractions = totalInteractions;
46 this.processID = processID;
47 }
48
49
50
51
52 public ProcessResults execute() {
53
54 int i = 0;
55
56 if (StartWritingProcess()) {
57
58
59
60 for (i = 0; i < totalInteractions; i++) {
61 Write("[Process ID:"
62 + String.format("0009", processID)
63 + "] Outputing some unimportant testing string to the container: Interaction #"
64 + i);
65 }
66
67 EndWritingProcess();
68 }
69
70 ProcessResults result = new ProcessResults();
71
72 result.setResult("lines", Long.valueOf(i));
73
74 endTime = System.currentTimeMillis();
75
76
77 return result;
78 }
79
80
81
82
83
84
85 abstract protected boolean StartWritingProcess();
86
87
88
89
90
91
92
93 abstract protected void Write(String item);
94
95
96
97
98 abstract protected void EndWritingProcess();
99
100
101
102
103 public long getEndTime() {
104 return endTime;
105 }
106 }