1 package net.sf.appstatus.batch;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import java.util.Date;
20
21 import net.sf.appstatus.core.batch.AbstractBatchProgressMonitor;
22 import net.sf.appstatus.core.batch.IBatch;
23 import net.sf.appstatus.core.batch.IBatchProgressMonitor;
24 import net.sf.appstatus.core.batch.IBatchProgressMonitorExt;
25
26
27
28
29
30
31
32
33 public class InProcessBatchProgressMonitor extends AbstractBatchProgressMonitor implements IBatchProgressMonitorExt {
34
35 private InProcessBatchManager manager;
36
37
38
39
40
41
42
43
44
45
46
47 public InProcessBatchProgressMonitor(String executionId, IBatch batch, InProcessBatchManager manager) {
48 super(executionId, batch);
49 this.manager = manager;
50 }
51
52
53
54
55
56
57
58
59
60
61
62
63
64 private InProcessBatchProgressMonitor(String executionId, InProcessBatchProgressMonitor parent, int parentWork,
65 Batch batch) {
66 super(executionId, parent, parentWork, batch);
67 this.manager = parent.manager;
68 }
69
70 @Override
71 public Batch getBatch() {
72 return (Batch) super.getBatch();
73 }
74
75 @Override
76 public Date getEndDate() {
77 return super.getEndDate();
78 }
79
80 @Override
81 public Date getStartDate() {
82 return super.getStartDate();
83 }
84
85 @Override
86 protected IBatchProgressMonitor newInstance(int work) {
87 return new InProcessBatchProgressMonitor(executionId, this, work, getBatch());
88 }
89
90 @Override
91 protected void onBatchEnd() {
92 manager.batchEnd(getBatch());
93 }
94
95
96
97
98 @Override
99 public void worked(int work) {
100 super.worked(work);
101 }
102
103 }