1 package com.acumenvelocity.ath.common;
2
3 import java.text.DateFormat;
4 import java.text.SimpleDateFormat;
5 import java.util.TimeZone;
6
7 import org.apache.commons.lang3.math.NumberUtils;
8
9 import net.sf.okapi.common.Util;
10 import net.sf.okapi.common.filters.IFilter;
11 import net.sf.okapi.common.query.MatchType;
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 public class Const {
34
35
36
37
38
39
40
41
42
43
44 public static final int ATH_PORT = AthUtil.safeToInt(System.getenv("ATH_PORT"), 8080);
45
46
47
48
49
50
51 public static final long STORAGE_TIMEOUT_MINUTES = Util.isEmpty(
52 System.getenv("ATH_STORAGE_TIMEOUT_MINUTES")) ? 15
53 : Long.valueOf(System.getenv("ATH_STORAGE_TIMEOUT_MINUTES"));
54
55
56
57
58
59
60
61
62
63 public static final long SOLR_DOC_LOCK_TIMEOUT_MS = Util.isEmpty(
64 System.getenv("ATH_SOLR_DOC_LOCK_TIMEOUT_MS")) ? 30000
65 : Long.valueOf(System.getenv("ATH_SOLR_DOC_LOCK_TIMEOUT_MS"));
66
67
68 public static final String ATH_GCS_BUCKET = System.getenv("ATH_GCS_BUCKET");
69
70
71
72
73
74
75
76
77
78
79 public static final String ATH_GCP_SECRET_FILE = System.getenv("ATH_GCP_SECRET_FILE");
80
81
82
83
84 public static final String ATH_GCP_PROJECT_LOCATION = System.getenv("ATH_GCP_PROJECT_LOCATION");
85
86
87 public static final String ATH_PDF_CLIENT_ID = System.getenv("ATH_PDF_CLIENT_ID");
88
89
90 public static final String ATH_PDF_CLIENT_SECRET = System.getenv("ATH_PDF_CLIENT_SECRET");
91
92
93 public static final String ATH_SOLR_URL = System.getenv("ATH_SOLR_URL");
94
95
96 public static final String ATH_LOGS_CONFIG = System.getenv("ATH_LOGS_CONFIG");
97
98
99
100
101 public static final String ATH_GCT_API_KEY = System.getenv("ATH_GCT_API_KEY");
102
103
104
105
106 public static final String ATH_OPENAI_API_KEY = System.getenv("ATH_OPENAI_API_KEY");
107
108
109
110
111
112
113 public static final String OPENAI_MODEL = "gpt-5-mini";
114
115
116
117
118
119
120
121 public static final String ATH_GEMINI_API_KEY = System.getenv("ATH_GEMINI_API_KEY");
122
123 public static final String GEMINI_CODE_REINSERTION_MODEL = "gemini-2.5-flash";
124
125
126
127
128 public static final String GEMINI_ALIGNMENT_MODEL = "gemini-2.5-pro";
129
130 public static final MatchType AL_MATCH_TYPE = MatchType.EXACT_REPAIRED;
131
132
133
134
135
136
137 public static final String DEFAULT_MT_PROVIDER = ProjectProps
138 .getProjectPropValue("default.mt.provider");
139
140
141 public static final int DEFAULT_MT_THRESHOLD = ProjectProps
142 .getProjectPropIntValue("default.mt.threshold");
143
144
145
146
147
148
149 public static final String TEMP_PREFIX = ProjectProps.getProjectPropValue("temp.prefix");
150
151
152 public static final String ATLAS_TM_INDEX_NAME = ProjectProps
153 .getProjectPropValue("atlas.tm.index.name");
154
155
156
157
158
159
160
161
162
163
164 public static final DateFormat TMX_DATE_FORMAT;
165 public static final DateFormat QUARTZ_DATE_FORMAT;
166
167
168
169
170
171
172 public static final String ATH_PIPELINE_TYPE_IMPORT = ProjectProps
173 .getProjectPropValue("pipeline.type.name.cat.import");
174
175
176 public static final String ATH_PIPELINE_TYPE_EXPORT = ProjectProps
177 .getProjectPropValue("pipeline.type.name.cat.export");
178
179
180
181
182
183 public static final int ATH_SOLR_BATCH_SIZE = NumberUtils
184 .toInt(System.getenv("ATH_SOLR_BATCH_SIZE"), 10_000);
185
186
187
188
189
190 public static final String ATH_PROP_SOLR_ID = "id";
191
192 public static final String ATH_PROP_TM_SEG_ID = "tmSegId";
193
194 public static final String ATH_PROP_DOC_SEG_ID = "docSegId";
195
196
197
198
199 public static final String ATH_PROP_TM_ID = "tmId";
200
201
202
203
204 public static final String ATH_PROP_TM_THRESHOLD = "tmThreshold";
205
206
207
208
209 public static final String ATH_PROP_TM_FILE_NAME = "tmFileName";
210
211
212
213
214 public static final String ATH_PROP_MT_ENGINE_ID = "mtEngineId";
215
216
217
218
219 public static final String ATH_PROP_MT_ENGINE_PARAMS = "mtEngineParams";
220
221
222
223
224 public static final String ATH_PROP_MT_PROJECT_LOCATION = "mtProjectLocalion";
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259 public static final String ATH_PROP_EXPORT_TM_ID = "exportTmId";
260
261
262
263
264 public static final String ATH_PROP_SOLR_SCORE = "score";
265
266
267
268
269 public static final String ATH_PROP_FILE_ID = "fileId";
270
271
272
273
274 public static final String ATH_PROP_FILE_NAME = "fileName";
275
276
277 public static final String ATH_PROP_DOC_ID = "docId";
278
279
280 public static final String ATH_PROP_DOC_FILE_NAME = "docFileName";
281
282 public static final String ATH_PROP_DOC_STORAGE_NAME = "docStorageName";
283
284 public static final String ATH_PROP_DOC_TRL_STORAGE_NAME = "docTrlStorageName";
285
286 public static final String ATH_PROP_DOC_OUT_STORAGE_NAME = "docOutStorageName";
287
288
289 public static final String ATH_PROP_DOC_FILE_ENCODING = "docFileEncoding";
290
291
292 public static final String ATH_PROP_DOC_TRL_FILE_ENCODING = "docTrlFileEncoding";
293
294
295 public static final String ATH_PROP_DOC_OUT_FILE_ENCODING = "docOutFileEncoding";
296
297
298 public static final String ATH_PROP_FILTER_ID = "filterId";
299
300
301 public static final String ATH_PROP_FILTER_PARAMS = "filterParams";
302
303
304 public static final String ATH_PROP_SRC_SRX = "srcSrx";
305
306
307 public static final String ATH_PROP_TRG_SRX = "trgSrx";
308
309
310
311
312 public static final String ATH_PROP_SRC_LANG = "srcLang";
313
314
315
316
317 public static final String ATH_PROP_TRG_LANG = "trgLang";
318
319
320
321
322
323 public static final String ATH_PROP_STATUS = "status";
324
325
326
327
328 public static final String ATH_PROP_ERROR_MESSAGE = "errorMessage";
329
330
331
332
333 public static final String ATH_PROP_ERROR_TYPE = "errorType";
334
335
336
337
338 public static final String ATH_PROP_NAME = "name";
339
340
341
342
343 public static final String ATH_PROP_TYPE = "type";
344
345
346
347
348 public static final String ATH_PROP_CAT_TOOL = "catTool";
349
350
351
352
353 public static final String ATH_PROP_USER_ID = "userId";
354
355
356
357
358 public static final String ATH_PROP_USER_TYPE = "userType";
359
360
361
362
363
364 public static final String ATH_PROP_SOURCE = "source";
365
366 public static final String ATH_PROP_SOURCE_WITH_CODES = "sourceWithCodes";
367
368 public static final String ATH_PROP_TARGET_WITH_CODES = "targetWithCodes";
369
370
371
372 public static final String ATH_PROP_TARGET = "target";
373
374
375
376
377
378 public static final String ATH_PROP_SOURCE_JSON = "sourceJson";
379
380
381
382 public static final String ATH_PROP_TARGET_JSON = "targetJson";
383
384 public static final String ATH_PROP_ALT_TRANS_JSON = "altTransJson";
385
386 public static final String ATH_PROP_ALT_TRANS_INDEX = "altTransIndex";
387
388
389
390
391
392
393 public static final String ATH_PROP_TU_ID = "tuId";
394
395
396 public static final String ATH_PROP_SEG_ID = "segId";
397
398
399 public static final String ATH_PROP_MERGED = "merged";
400
401
402 public static final String ATH_PROP_MERGED_FROM_SEGMENTS_JSON = "mergedFromSegmentsJson";
403
404
405 public static final String ATH_PROP_NOTE = "note";
406
407
408 public static final String ATH_PROP_SPLIT = "split";
409
410
411 public static final String ATH_PROP_SPLIT_FROM_SEGMENTS_JSON = "splitFromSegmentJson";
412
413
414 public static final String ATH_PROP_LOCKED = "locked";
415
416
417 public static final String ATH_PROP_MATCHED = "matched";
418
419
420 public static final String ATH_PROP_TM_MATCH_INFO_JSON = "tmMatchInfoJson";
421
422
423 public static final String ATH_PROP_POSITION = "position";
424
425
426 public static final String ATH_PROP_ORIGIN = "origin";
427 public static final String ATH_PROP_TM_MATCH_SCORE = "tmMatchScore";
428 public static final String ATH_PROP_MT_CONFIDENCE_SCORE = "mtConfidenceScore";
429
430
431
432
433
434
435 public static final String ATH_PROP_CREATED_BY = "createdBy";
436
437
438
439
440 public static final String ATH_PROP_CREATED_AT = "createdAt";
441
442
443
444
445 public static final String ATH_PROP_UPDATED_BY = "updatedBy";
446
447
448
449
450 public static final String ATH_PROP_UPDATED_AT = "updatedAt";
451
452
453
454
455 public static final String ATH_PROP_PROCESSED_BY = "processedBy";
456
457
458
459
460 public static final String ATH_PROP_STARTED_AT = "startedAt";
461
462
463
464
465 public static final String ATH_PROP_FINISHED_AT = "finishedAt";
466
467
468
469
470
471
472 public static final String MT_PROVIDER_GOOGLE_MT = "GoogleMT";
473
474
475 public static final String MT_PROVIDER_GOOGLE_MT_V3 = "GoogleMTv3";
476
477 public static final String US_CENTRAL1_PROJECT_LOCATION = "us-central1";
478
479
480
481
482
483
484
485
486 public static boolean requireApiKey(String mtProvider) {
487 return MT_PROVIDER_GOOGLE_MT.equalsIgnoreCase(mtProvider);
488 }
489
490
491
492
493
494
495
496
497 public static final String ATH_PROP_CAT_NAME = "cat.name";
498
499 private static final String ATH_PROP_CAT_SYSTEM_USER_NAME = "cat.system.user.name";
500 private static final String ATH_PROP_CAT_SYSTEM_TEST_USER_NAME = "cat.system.user.name.test";
501
502
503
504 public static final String ATH_PROP_CAT_VERSION = "catVersion";
505
506
507
508
509 public static final String ATH_PROP_CAT_FRAMEWORK_NAME = "catFrameworkName";
510
511
512
513
514 public static final String ATH_PROP_CAT_FRAMEWORK_VERSION = "catFrameworkVersion";
515
516
517
518
519 public static final String ATH_PROP_CAT_SOLR_VERSION = "cat.solr.version";
520
521
522
523
524
525 public static final String ATH_PROP_SERVER_JAVA_HOME = "java.home";
526
527
528
529
530 public static final String ATH_PROP_SERVER_JAVA_VENDOR = "java.vendor";
531
532
533
534
535 public static final String ATH_PROP_SERVER_JAVA_VERSION = "java.version";
536
537
538
539
540 public static final String ATH_PROP_SERVER_JAVA_RUNTIME_VERSION = "java.runtime.version";
541
542
543
544
545 public static final String ATH_PROP_SERVER_OS_ARCHITECTURE = "os.arch";
546
547
548
549
550 public static final String ATH_PROP_SERVER_OS_NAME = "os.name";
551
552
553
554
555 public static final String ATH_PROP_SERVER_OS_VERSION = "os.version";
556
557
558
559
560 public static final String ATH_PROP_SERVER_USER_NAME = "user.name";
561
562
563
564
565 public static final String ATH_PROP_SERVER_OS_USER_NAME = "os.user.name";
566
567
568
569
570 public static final String ATH_PROP_SERVER_WEB_NAME = "server.web.name";
571
572
573
574
575 public static final String ATH_PROP_SERVER_WEB_VERSION = "server.web.version";
576
577
578
579
580 public static final String ATH_PROP_SEGMENT_TM_SCORE = "segment.tm.score";
581
582
583
584
585
586
587 public static final String CAT_NAME = ProjectProps.getProjectPropValue(ATH_PROP_CAT_NAME);
588
589 public static final String CAT_SYSTEM_USER_NAME = ProjectProps
590 .getProjectPropValue(ATH_PROP_CAT_SYSTEM_USER_NAME);
591
592 public static final String CAT_SYSTEM_TEST_USER_NAME = ProjectProps
593 .getProjectPropValue(ATH_PROP_CAT_SYSTEM_TEST_USER_NAME);
594
595 public static final String CAT_VERSION = ProjectProps.getProjectPropValue("cat.version");
596
597 public static final String CAT_FRAMEWORK_NAME = ProjectProps
598 .getProjectPropValue("cat.framework.name");
599
600 public static final String CAT_FRAMEWORK_VERSION = ProjectProps
601 .getProjectPropValue("cat.framework.version");
602
603 public static final String CAT_SOLR_VERSION = ProjectProps
604 .getProjectPropValue(ATH_PROP_CAT_SOLR_VERSION);
605
606
607 public static final String SERVER_JAVA_HOME = System.getProperty(ATH_PROP_SERVER_JAVA_HOME);
608 public static final String SERVER_JAVA_VENDOR = System.getProperty(ATH_PROP_SERVER_JAVA_VENDOR);
609 public static final String SERVER_JAVA_VERSION = System.getProperty(ATH_PROP_SERVER_JAVA_VERSION);
610
611 public static final String SERVER_JAVA_RUNTIME_VERSION = System
612 .getProperty(ATH_PROP_SERVER_JAVA_RUNTIME_VERSION);
613
614 public static final String SERVER_OS_ARCHITECTURE = System
615 .getProperty(ATH_PROP_SERVER_OS_ARCHITECTURE);
616
617 public static final String SERVER_OS_NAME = System.getProperty(ATH_PROP_SERVER_OS_NAME);
618 public static final String SERVER_OS_VERSION = System.getProperty(ATH_PROP_SERVER_OS_VERSION);
619 public static final String SERVER_OS_USER_NAME = System.getProperty(ATH_PROP_SERVER_USER_NAME);
620
621 public static final String SERVER_WEB_NAME = ProjectProps
622 .getProjectPropValue(ATH_PROP_SERVER_WEB_NAME);
623
624 public static final String SERVER_WEB_VERSION = ProjectProps
625 .getProjectPropValue(ATH_PROP_SERVER_WEB_VERSION);
626
627 public static final String SEGMENT_TM_SCORE = ProjectProps
628 .getProjectPropValue(ATH_PROP_SEGMENT_TM_SCORE);
629
630
631
632
633
634
635 public static final String USER_UNASSIGNED = "unassigned";
636
637
638
639
640
641
642 public static final String ATH_CREATED_WITH = Log.format("{}.{}.{}.{}",
643 Const.CAT_NAME.replaceAll(".", "_"), Const.CAT_VERSION.replaceAll(".", "_"),
644 Const.CAT_FRAMEWORK_NAME.replaceAll(".", "_"),
645 Const.CAT_FRAMEWORK_VERSION.replaceAll(".", "_"));
646
647
648
649
650
651 static {
652
653 TMX_DATE_FORMAT = new SimpleDateFormat(ProjectProps.getProjectPropValue("date.format.tmx"));
654
655 TMX_DATE_FORMAT.setTimeZone(
656 TimeZone.getTimeZone(ProjectProps.getProjectPropValue("date.format.tmx.timezone")));
657
658 QUARTZ_DATE_FORMAT = new SimpleDateFormat(
659 ProjectProps.getProjectPropValue("date.format.quartz"));
660
661 QUARTZ_DATE_FORMAT.setTimeZone(
662 TimeZone.getTimeZone(ProjectProps.getProjectPropValue("date.format.quartz.timezone")));
663 }
664
665
666
667
668
669
670
671
672
673
674
675
676 public static String buildDefConfigId(IFilter filter) {
677 return buildDefConfigId(filter.getName());
678 }
679
680
681
682
683
684
685
686 public static String buildDefConfigId(String filterName) {
687 return filterName + ProjectProps.getProjectPropValue("default.config.id.suffix");
688 }
689
690
691
692
693
694
695
696 public static String buildDefConfigName(IFilter filter) {
697 return ProjectProps.getProjectPropValue("default.config.name");
698 }
699
700
701
702
703
704
705
706
707 public static String buildDefConfigNote(IFilter filter) {
708 return filter.getDisplayName() + ProjectProps.getProjectPropValue("default.config.note.suffix");
709 }
710
711
712
713
714
715
716
717 public static String buildDefConfigMimeType(IFilter filter) {
718 return filter.getMimeType();
719 }
720
721
722
723
724
725
726
727
728 public static String buildDefConfigFileExtensions(IFilter filter) {
729 return "*";
730 }
731
732
733
734
735
736
737 public static final String CORE_DOCUMENT = "http://schemas.openxmlformats.org/officeDocument/2006/"
738 + "relationships/officeDocument";
739
740
741 public static final String STYLE_PART = "http://schemas.openxmlformats.org/officeDocument/2006/"
742 + "relationships/styles";
743
744
745
746
747 public static final String SOLR_CORE_ATH_DOCS = "ath_docs";
748 public static final String SOLR_CORE_ATH_DOC_SEGMENTS = "ath_doc_segments";
749
750 public static final String SOLR_CORE_ATH_TMS = "ath_tms";
751 public static final String SOLR_CORE_ATH_TM_SEGMENTS = "ath_tm_segments";
752 }