1 package fr.ifremer.quadrige2.synchro.meta.referential;
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 com.google.common.collect.ImmutableSet;
27 import com.google.common.collect.Sets;
28 import fr.ifremer.quadrige2.core.config.Quadrige2Configuration;
29 import org.apache.commons.collections4.CollectionUtils;
30
31 import java.util.Set;
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 public enum ReferentialSynchroTables {
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 STATUS,
74 DEPARTMENT,
75 POSITIONNING_TYPE,
76 POSITIONNING_SYSTEM,
77 QUSER,
78 UNIT,
79 AGE_GROUP,
80 DREDGING_AREA_TYPE,
81 DREDGING_TARGET_AREA,
82 PLOIDY,
83 PROJECTION_SYSTEM,
84 COORDINATES_TRANSFORMATION,
85 QUALITY_FLAG,
86 BREEDING_STRUCTURE,
87 BREEDING_SYSTEM,
88 BREEDING_PHASE_TYPE,
89 DEPTH_LEVEL,
90 FILTER_TYPE,
91 FILTER_CRITERIA_TYPE,
92 FILTER_OPERATOR_TYPE,
93 SAMPLING_EQUIPMENT,
94 ANALYSIS_INSTRUMENT,
95 CODE_SIZE,
96 COMPLIANT_OS,
97 DOCUMENT_TYPE,
98 FUNCTION,
99 FUNCTION_PARAMETER,
100 NUMERICAL_PRECISION,
101 LOCATION,
102 OBSERVATION_TYPOLOGY,
103 ORIGINAL_BATCH,
104 PHOTO_TYPE,
105 SHIP,
106
107
108 HARBOUR,
109 MONITORING_LOCATION,
110 ORDER_ITEM_TYPE,
111 ORDER_ITEM,
112 MON_LOC_ORDER_ITEM,
113 MON_LOC_POINT,
114 MON_LOC_LINE,
115 MON_LOC_AREA,
116
117
118 REFERENCE_TAXON,
119 TAXONOMIC_LEVEL,
120 TAXON_GROUP_TYPE,
121 TAXON_GROUP,
122 CITATION,
123 TAXON_NAME,
124 TAXON_NAME_HISTORY,
125 TAXON_GROUP_HISTORICAL_RECORD,
126 TAXON_GROUP_INFORMATION,
127 RESOURCE_TYPE,
128 TAXON_GROUP_POSITION,
129 TAXON_INFORMATION,
130 TAXON_INFORMATION_HISTORY,
131 TAXON_POSITION,
132 ALTERNATIVE_TAXON_ORIGIN,
133 ALTERNATIVE_TAXON,
134 VIRTUAL_COMPONENT,
135 REFERENCE_DOCUMENT,
136 AUTHOR,
137 AUTHOR_REF_DOC,
138
139
140 FRACTION,
141 MATRIX,
142 FRACTION_MATRIX,
143 METHOD,
144 PARAMETER_GROUP,
145 PARAMETER,
146 COMPUTE_FUNCTION,
147 COMPUTE_FUNCTION_PROG,
148 DEPENDANT_PARAMETER,
149 QUALITATIVE_VALUE,
150
151 PMFM,
152
153 PMFM_QUAL_VALUE,
154
155
156 PROGRAMME,
157 MON_LOC_PROG,
158 STRATEGY,
159 FREQUENCY,
160 APPLIED_STRATEGY,
161 APPLIED_PERIOD,
162 PRECISION_TYPE,
163 PMFM_STRATEGY,
164 PMFM_APPLIED_STRATEGY,
165 ACQUISITION_LEVEL,
166 PMFM_STRAT_ACQUIS_LEVEL,
167 UI_FUNCTION,
168 PMFM_STRAT_UI_FUNCTION,
169 RESP_QUSER_STRAT,
170 RESP_DEP_STRAT,
171
172
173 PRIVILEGE,
174 PRIVILEGE_TRANSFER,
175 QUSER_PRIVILEGE,
176 DEPARTMENT_PRIVILEGE,
177 PROGRAMME_PRIVILEGE,
178 PROG_DEP_PROG_PRIV,
179 PROG_QUSER_PROG_PRIV,
180
181
182 CAMPAIGN,
183 CAMPAIGN_PROG,
184 CAMPAIGN_AREA,
185 CAMPAIGN_LINE,
186 CAMPAIGN_POINT,
187
188
189 OCCASION,
190 OCCAS_QUSER,
191 OCCAS_AREA,
192 OCCAS_LINE,
193 OCCAS_POINT,
194
195
196 EVENT_TYPE,
197 EVENT,
198 EVENT_AREA,
199 EVENT_LINE,
200 EVENT_POINT,
201
202
203 OBJECT_TYPE,
204 TRANSCRIBING_SIDE,
205 TRANSCRIBING_ITEM_TYPE,
206 TRANSCRIBING_ITEM,
207
208
209 DELETED_ITEM_HISTORY,
210
211
212 EXTRACT_TABLE_TYPE,
213 EXTRACT_FILE_TYPE,
214 EXTRACT_GROUP_TYPE_PMFM;
215
216
217 private static Set<String> tableNames = null;
218
219
220
221
222
223
224
225
226 public static Set<String> tableNames() {
227 if (tableNames != null) {
228 return tableNames;
229 }
230
231 tableNames = Sets.newLinkedHashSet();
232 for (ReferentialSynchroTables value : values()) {
233 tableNames.add(value.name());
234 }
235
236 tableNames = ImmutableSet.copyOf(tableNames);
237 return tableNames;
238 }
239
240
241
242
243
244
245
246 public static Set<String> getImportTablesIncludes() {
247 Set<String> tableNames = Quadrige2Configuration.getInstance().getImportReferentialTablesIncludes();
248 if (CollectionUtils.isNotEmpty(tableNames)) {
249 return tableNames;
250 }
251
252 return tableNames();
253 }
254
255 }