1 package fr.ifremer.quadrige3.core.config;
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 org.nuiton.config.ConfigOptionDef;
27
28 import java.io.File;
29 import java.util.Locale;
30
31 import static org.nuiton.i18n.I18n.n;
32
33
34
35
36
37
38
39 public enum QuadrigeCoreConfigurationOption implements ConfigOptionDef {
40
41
42
43
44
45
46
47
48
49
50 CONFIG_DIRECTORY(
51 "quadrige3.config.directory",
52 n("quadrige3.config.option.config.directory.description"),
53 "${quadrige3.basedir}/config",
54 File.class),
55
56 MEASUREMENT_GRID_PRESETS_DIRECTORY(
57 "quadrige3.measurementGridPresets.directory",
58 n("quadrige3.config.option.measurementGridPresets.directory.description"),
59 "${quadrige3.data.directory}/measurementGridPresets",
60 File.class),
61
62 EXTRACTION_DIRECTORY(
63 "quadrige3.extraction.directory",
64 n("quadrige3.config.option.extraction.directory.description"),
65 "${quadrige3.data.directory}/extraction",
66 File.class),
67
68 EXTRACTION_CONFIG_DIRECTORY(
69 "quadrige3.extractionConfig.directory",
70 n("quadrige3.config.option.extractionConfig.directory.description"),
71 "${quadrige3.data.directory}/extractionConfig",
72 File.class),
73
74 CONTEXT_DIRECTORY(
75 "quadrige3.context.directory",
76 n("quadrige3.config.option.context.directory.description"),
77 "${quadrige3.data.directory}/context",
78 File.class),
79
80 DB_OTHER_DIRECTORIES(
81 "quadrige3.persistence.db.other.directories",
82 n("quadrige3.config.option.persistence.db.other.directories.description"),
83 "${quadrige3.measurementGridPresets.directory};${quadrige3.extraction.directory};${quadrige3.extractionConfig.directory};${quadrige3.context.directory}",
84 String.class),
85
86
87
88
89 UPDATE_APPLICATION_URL(
90 "quadrige3.update.application.url",
91 n("quadrige3.config.option.update.application.url.description"),
92 "${quadrige3.site.url}/quadrige3-application.properties",
93 String.class,
94 false),
95 UPDATE_DATA_URL(
96 "quadrige3.update.data.url",
97 n("quadrige3.config.option.update.data.url.description"),
98 "${quadrige3.site.url}/quadrige3-data.properties",
99 String.class,
100 false),
101 INSTALL_DB_URL(
102 "quadrige3.install.db.url",
103 n("quadrige3.config.option.install.db.url.description"),
104 "${quadrige3.update.data.url}",
105 String.class,
106 false),
107
108
109
110
111 AUTHENTICATION_DISABLED(
112 "quadrige3.authentication.disabled",
113 n("quadrige3.config.option.authentication.disabled.description"),
114 String.valueOf(false),
115 Boolean.class,
116 false),
117 AUTHENTICATION_FORCED(
118 "quadrige3.authentication.forced",
119 n("quadrige3.config.option.authentication.forced.description"),
120 String.valueOf(true),
121 Boolean.class,
122 false),
123 AUTHENTICATION_MOCK_USERNAME(
124 "quadrige3.authentication.mock.username",
125 n("quadrige3.config.option.authentication.mock.username.description"),
126 "demo",
127 String.class,
128 false),
129 AUTHENTICATION_MOCK_PASSWORD(
130 "quadrige3.authentication.mock.password",
131 n("quadrige3.config.option.authentication.mock.password.description"),
132 "demo",
133 String.class,
134 false),
135 AUTHENTICATION_MOCK_USER_ID(
136 "quadrige3.authentication.mock.userId",
137 n("quadrige3.config.option.authentication.mock.userId.description"),
138 "0",
139 Integer.class,
140 false),
141 AUTHENTICATION_INTRANET_SITE_URL(
142 "quadrige3.authentication.intranet.site.url",
143 n("quadrige3.config.option.authentication.intranet.site.url.description"),
144 "${quadrige3.site.url}/auth",
145 String.class,
146 false),
147 AUTHENTICATION_INTRANET_SITE_TIMEOUT(
148 "quadrige3.authentication.intranet.site.timeout",
149 n("quadrige3.config.option.authentication.intranet.site.timeout.description"),
150 "5000",
151 Integer.class,
152 false),
153 AUTHENTICATION_EXTRANET_SITE_URL(
154 "quadrige3.authentication.extranet.site.url",
155 n("quadrige3.config.option.authentication.extranet.site.url.description"),
156 "${quadrige3.site.url}/auth",
157 String.class,
158 false),
159 AUTHENTICATION_EXTRANET_SITE_TIMEOUT(
160 "quadrige3.authentication.extranet.site.timeout",
161 n("quadrige3.config.option.authentication.extranet.site.timeout.description"),
162 "5000",
163 Integer.class,
164 false),
165 AUTHENTICATION_DEFAULT_USERNAME(
166 "quadrige3.authentication.username",
167 n("quadrige3.config.option.authentication.username.description"),
168 null,
169 String.class,
170 false),
171 AUTHENTICATION_DEFAULT_PASSWORD(
172 "quadrige3.authentication.password",
173 n("quadrige3.config.option.authentication.password.description"),
174 null,
175 String.class,
176 false),
177
178
179
180
181 SYNCHRONIZATION_PERIOD_SELECTION_ENABLE(
182 "quadrige3.synchronization.period.enable",
183 n("quadrige3.config.option.synchro.period.enable.description"),
184 String.valueOf(false),
185 Boolean.class,
186 false),
187 SYNCHRONIZATION_ZIP_FILE_PREFIX(
188 "quadrige3.synchro.zipFile.prefix",
189 n("quadrige3.config.option.synchro.zipFile.prefix.description"),
190 "quadrige3-db-",
191 String.class,
192 false),
193 SYNCHRO_PROGRAM_CODES_INCLUDES(
194 "quadrige3.synchro.program.codes",
195 n("quadrige3.config.option.synchro.program.codes.description"),
196 "",
197 String.class,
198 false),
199 SYNCHRO_PHOTO_ENABLE_DEFAULT(
200 "quadrige3.synchro.photo.enable.default",
201 n("quadrige3.config.option.synchro.photo.enable.default.description"),
202 String.valueOf(false),
203 Boolean.class,
204 false),
205 SYNCHRO_PHOTO_MAX_SIZE(
206 "quadrige3.synchro.photo.maxSize",
207 n("quadrige3.config.option.synchro.photo.maxSize.description"),
208 "10000000",
209 Long.class,
210 false),
211 SYNCHRO_PHOTO_MAX_NUMBER_THRESHOLD(
212 "quadrige3.synchro.photo.maxNumber.threshold",
213 n("quadrige3.config.option.synchro.photo.maxNumber.threshold.description"),
214 "100",
215 Integer.class,
216 false),
217
218
219
220
221 LAUNCH_MODE(
222 "quadrige3.launch.mode",
223 n("quadrige3.config.option.launch.mode.description"),
224 null,
225 String.class),
226 DEBUG_MODE(
227 "quadrige3.debug.mode",
228 n("quadrige3.config.option.debug.mode.description"),
229 Boolean.FALSE.toString(),
230 Boolean.class,
231 false),
232 I18N_LOCALE(
233 "quadrige3.i18n.locale",
234 n("quadrige3.config.option.i18n.locale.description"),
235 Locale.FRANCE.toString(),
236 Locale.class,
237 false),
238 UI_SPLASH_SCREEN_RIGHT_LOGOS(
239 "quadrige3.splashScreen.right.logos",
240 n("dali.config.option.ui.splashScreen.right.logos.description"),
241 "logo-Ifremer.png",
242 String.class,
243 false),
244 UI_SPLASH_SCREEN_LEFT_LOGOS(
245 "quadrige3.splashScreen.left.logos",
246 n("dali.config.option.ui.splashScreen.left.logos.description"),
247 "",
248 String.class,
249 false),
250
251 ;
252
253
254
255
256 private final String key;
257
258
259
260
261 private final String description;
262
263
264
265
266 private final Class<?> type;
267
268
269
270
271 private String defaultValue;
272
273
274
275
276 private boolean isTransient;
277
278
279
280
281 private boolean isFinal;
282
283 QuadrigeCoreConfigurationOption(String key,
284 String description,
285 String defaultValue,
286 Class<?> type,
287 boolean isTransient) {
288 this.key = key;
289 this.description = description;
290 this.defaultValue = defaultValue;
291 this.type = type;
292 this.isTransient = isTransient;
293 this.isFinal = isTransient;
294 }
295
296 QuadrigeCoreConfigurationOption(String key,
297 String description,
298 String defaultValue,
299 Class<?> type) {
300 this(key, description, defaultValue, type, true);
301 }
302
303
304
305
306 @Override
307 public String getKey() {
308 return key;
309 }
310
311
312
313
314 @Override
315 public Class<?> getType() {
316 return type;
317 }
318
319
320
321
322 @Override
323 public String getDescription() {
324 return description;
325 }
326
327
328
329
330 @Override
331 public String getDefaultValue() {
332 return defaultValue;
333 }
334
335
336
337
338 @Override
339 public boolean isTransient() {
340 return isTransient;
341 }
342
343
344
345
346 @Override
347 public boolean isFinal() {
348 return isFinal;
349 }
350
351
352
353
354 @Override
355 public void setDefaultValue(String defaultValue) {
356 this.defaultValue = defaultValue;
357 }
358
359
360
361
362 @Override
363 public void setTransient(boolean newValue) {
364
365 }
366
367
368
369
370 @Override
371 public void setFinal(boolean newValue) {
372
373 }
374 }