1 package fr.ifremer.adagio.synchro.service;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 import java.util.Map;
27 import java.util.Properties;
28 import java.util.Set;
29
30 import com.google.common.base.Predicate;
31 import com.google.common.collect.Maps;
32
33 import fr.ifremer.adagio.synchro.meta.SynchroMetadataUtils;
34
35
36
37
38
39
40
41
42 public class SynchroContext {
43
44 protected Properties sourceConnectionProperties;
45
46 protected Properties targetConnectionProperties;
47
48 protected SynchroResult result;
49
50 protected Predicate<String> tableFilter;
51
52 protected Set<String> tableNames;
53
54 protected Map<String, SynchroPendingOperationBuffer> tableContextMap;
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 public static SynchroContext newContext(
76 Set<String> tableNames,
77 Predicate<String> tableFilter,
78 Properties sourceConnectionProperties,
79 Properties targetConnectionProperties,
80 SynchroResult result) {
81 SynchroContext context = new SynchroContext();
82 context.setTableNames(tableNames);
83 context.setTableFilter(tableFilter);
84 context.setSourceConnectionProperties(sourceConnectionProperties);
85 context.setTargetConnectionProperties(targetConnectionProperties);
86 context.setResult(result);
87 return context;
88 }
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105 public static SynchroContext newContext(
106 Set<String> tableNames,
107 Properties sourceConnectionProperties,
108 Properties targetConnectionProperties,
109 SynchroResult result) {
110
111 return newContext(
112 tableNames,
113 null,
114 sourceConnectionProperties,
115 targetConnectionProperties,
116 result);
117 }
118
119 public SynchroContext() {
120 this.tableContextMap = Maps.newHashMap();
121 }
122
123 public SynchroResult getResult() {
124 return result;
125 }
126
127 public void setResult(SynchroResult result) {
128 this.result = result;
129 }
130
131 public void setSourceConnectionProperties(Properties sourceConnectionProperties) {
132 this.sourceConnectionProperties = sourceConnectionProperties;
133 }
134
135 public void setTargetConnectionProperties(Properties targetConnectionProperties) {
136 this.targetConnectionProperties = targetConnectionProperties;
137 }
138
139 public void setTableFilter(Predicate<String> tableFilter) {
140 this.tableFilter = tableFilter;
141 }
142
143 public void setTableNames(Set<String> tableNames) {
144 this.tableNames = tableNames;
145 }
146
147 public Properties getSourceConnectionProperties() {
148 return sourceConnectionProperties;
149 }
150
151 public Properties getTargetConnectionProperties() {
152 return targetConnectionProperties;
153 }
154
155 public Predicate<String> getTableFilter() {
156 return tableFilter;
157 }
158
159 public Set<String> getTableNames() {
160 return this.tableNames;
161 }
162
163 public SynchroPendingOperationBuffer getTableContext(String tableName) {
164 return tableContextMap.get(tableName);
165 }
166
167 public void addTableContext(String tableName, SynchroPendingOperationBuffer tableContext) {
168 tableContextMap.put(tableName, tableContext);
169 }
170
171 public void removeTableContext(String tableName) {
172 tableContextMap.remove(tableName);
173 }
174
175 }