1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.shardingsphere.data.pipeline.core.job.progress;
19
20 import lombok.Getter;
21 import lombok.RequiredArgsConstructor;
22 import lombok.Setter;
23 import lombok.ToString;
24 import org.apache.shardingsphere.data.pipeline.core.consistencycheck.ConsistencyCheckJobItemProgressContext;
25 import org.apache.shardingsphere.data.pipeline.core.consistencycheck.position.TableCheckRangePosition;
26 import org.apache.shardingsphere.data.pipeline.core.job.JobStatus;
27
28 import java.util.ArrayList;
29 import java.util.List;
30
31
32
33
34 @RequiredArgsConstructor
35 @Getter
36 @ToString
37
38 public final class ConsistencyCheckJobItemProgress implements PipelineJobItemProgress {
39
40 private final String tableNames;
41
42 private final String ignoredTableNames;
43
44 private final Long checkedRecordsCount;
45
46 private final Long recordsCount;
47
48 private final Long checkBeginTimeMillis;
49
50 private final Long checkEndTimeMillis;
51
52 private final List<TableCheckRangePosition> tableCheckRangePositions = new ArrayList<>();
53
54 private final String sourceDatabaseType;
55
56 @Setter
57 private JobStatus status = JobStatus.RUNNING;
58
59 public ConsistencyCheckJobItemProgress(final ConsistencyCheckJobItemProgressContext context) {
60 tableNames = String.join(",", context.getTableNames());
61 ignoredTableNames = String.join(",", context.getIgnoredTableNames());
62 checkedRecordsCount = context.getCheckedRecordsCount().get();
63 recordsCount = context.getRecordsCount();
64 checkBeginTimeMillis = context.getCheckBeginTimeMillis();
65 checkEndTimeMillis = context.getCheckEndTimeMillis();
66 tableCheckRangePositions.addAll(context.getTableCheckRangePositions());
67 sourceDatabaseType = context.getSourceDatabaseType();
68 }
69 }