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