1 package fr.ifremer.reefdb.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 com.google.common.base.Splitter;
27 import com.google.common.collect.Lists;
28 import fr.ifremer.common.synchro.config.SynchroConfigurationOption;
29 import fr.ifremer.quadrige3.core.config.QuadrigeConfigurationOption;
30 import fr.ifremer.quadrige3.core.config.QuadrigeConfigurations;
31 import fr.ifremer.quadrige3.core.config.QuadrigeCoreConfiguration;
32 import fr.ifremer.quadrige3.core.config.QuadrigeCoreConfigurationOption;
33 import fr.ifremer.quadrige3.core.dao.technical.hibernate.DateType;
34 import org.apache.commons.collections4.CollectionUtils;
35 import org.apache.commons.lang3.StringUtils;
36 import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
37 import org.apache.commons.logging.Log;
38 import org.apache.commons.logging.LogFactory;
39 import org.nuiton.config.ApplicationConfig;
40 import org.nuiton.config.ConfigOptionDef;
41 import org.nuiton.version.Version;
42
43 import javax.swing.KeyStroke;
44 import java.awt.Color;
45 import java.io.File;
46 import java.net.URL;
47 import java.util.*;
48
49 import static org.nuiton.i18n.I18n.t;
50
51
52
53
54
55
56 public final class ReefDbConfiguration extends QuadrigeCoreConfiguration {
57
58
59
60
61 private static final Log LOG = LogFactory.getLog(ReefDbConfiguration.class);
62
63
64
65 private static ReefDbConfiguration instance;
66
67
68
69
70
71
72 public ReefDbConfiguration(ApplicationConfig applicationConfig) {
73 super(applicationConfig);
74 }
75
76
77
78
79
80
81
82 public ReefDbConfiguration(String file, String... args) {
83 super(file, args);
84
85
86 File reefdbBasedir = getBaseDirectory();
87 if (reefdbBasedir == null) {
88 reefdbBasedir = new File("");
89 }
90 if (!reefdbBasedir.isAbsolute()) {
91 reefdbBasedir = new File(reefdbBasedir.getAbsolutePath());
92 }
93 if ("..".equals(reefdbBasedir.getName())) {
94 reefdbBasedir = reefdbBasedir.getParentFile().getParentFile();
95 }
96 if (".".equals(reefdbBasedir.getName())) {
97 reefdbBasedir = reefdbBasedir.getParentFile();
98 }
99 if (LOG.isInfoEnabled()) {
100 LOG.info("Application basedir: " + reefdbBasedir);
101 }
102 applicationConfig.setOption(
103 ReefDbConfigurationOption.BASEDIR.getKey(),
104 reefdbBasedir.getAbsolutePath());
105
106
107 initTimeZone();
108 }
109
110
111
112
113
114
115 public static ReefDbConfiguration getInstance() {
116 return instance;
117 }
118
119
120
121
122
123
124 public static void setInstance(ReefDbConfiguration instance) {
125 ReefDbConfiguration.instance = instance;
126 QuadrigeCoreConfiguration.setInstance(instance);
127 }
128
129
130
131
132 protected void overrideExternalModulesDefaultOptions() {
133 super.overrideExternalModulesDefaultOptions();
134
135
136 applicationConfig.setDefaultOption(
137 QuadrigeConfigurationOption.BASEDIR.getKey(),
138 String.format("${%s}", ReefDbConfigurationOption.BASEDIR.getKey()));
139
140
141 applicationConfig.setDefaultOption(
142 QuadrigeConfigurationOption.SITE_URL.getKey(),
143 String.format("${%s}", ReefDbConfigurationOption.SITE_URL.getKey()));
144
145
146
147
148 QuadrigeConfigurations.remapOptionsToPrefix(applicationConfig,
149 "quadrige3.update",
150 ReefDbConfigurationOption.values(),
151 "reefdb.update");
152 QuadrigeConfigurations.remapOptionsToPrefix(applicationConfig,
153 "quadrige3.install",
154 ReefDbConfigurationOption.values(),
155 "reefdb.install");
156 QuadrigeConfigurations.remapOptionsToPrefix(applicationConfig,
157 "quadrige3.authentication",
158 ReefDbConfigurationOption.values(),
159 "reefdb.authentication");
160
161
162 applicationConfig.setDefaultOption(
163 QuadrigeConfigurationOption.HIBERNATE_CLIENT_QUERIES_FILE.getKey(),
164 "reefdb-queries.hbm.xml");
165
166
167 applicationConfig.setDefaultOption(
168 QuadrigeConfigurationOption.DB_ENUMERATION_RESOURCE.getKey(),
169 String.format("${%s}", ReefDbConfigurationOption.DB_ENUMERATION_RESOURCE.getKey()));
170
171
172 applicationConfig.setDefaultOption(
173 QuadrigeConfigurationOption.DB_TIMEZONE.getKey(),
174 String.format("${%s}", ReefDbConfigurationOption.DB_TIMEZONE.getKey()));
175 applicationConfig.setDefaultOption(
176 SynchroConfigurationOption.DB_TIMEZONE.getKey(),
177 String.format("${%s}", ReefDbConfigurationOption.DB_TIMEZONE.getKey()));
178
179
180 QuadrigeConfigurations.remapOptionsToPrefix(applicationConfig,
181 "synchro",
182 ReefDbConfigurationOption.values(),
183 "reefdb.synchro");
184 QuadrigeConfigurations.remapOptionsToPrefix(applicationConfig,
185 "quadrige3.synchro",
186 ReefDbConfigurationOption.values(),
187 "reefdb.synchro");
188
189 remapOptionsForBackwardCompatibility();
190 }
191
192
193
194
195 private void remapOptionsForBackwardCompatibility() {
196
197
198 restoreOldOptions(QuadrigeCoreConfigurationOption.values(), "quadrige3.authentication", "reefdb.authentication");
199 restoreOldOptions(QuadrigeCoreConfigurationOption.values(), "quadrige3.authentication", "quadrige2.authentication");
200
201
202 restoreOldOptions(QuadrigeCoreConfigurationOption.values(), "quadrige3.update", "reefdb.update");
203 restoreOldOptions(QuadrigeCoreConfigurationOption.values(), "quadrige3.install", "reefdb.install");
204
205
206 restoreOldOptions(QuadrigeConfigurationOption.values(), "quadrige3.synchronization", "reefdb.synchronization");
207 restoreOldOptions(QuadrigeConfigurationOption.values(), "quadrige3.synchro", "quadrige2.synchro");
208
209
210 restoreOldOptions("quadrige3.enumeration", "quadrige2.enumeration");
211 }
212
213 private void restoreOldOptions(ConfigOptionDef[] optionDefs,
214 String newKeyPrefix,
215 String oldKeyPrefix) {
216
217 for (ConfigOptionDef optionDef: optionDefs) {
218 String newProperty = optionDef.getKey();
219
220
221 if (newProperty.startsWith(newKeyPrefix)) {
222 String endPart = newProperty.substring(newKeyPrefix.length());
223 String oldProperty = oldKeyPrefix + endPart;
224
225
226 if (applicationConfig.hasOption(oldProperty)) {
227 applicationConfig.setOption(newProperty, applicationConfig.getOption(oldProperty));
228 }
229 }
230 }
231 }
232
233 private void restoreOldOptions(String newKeyPrefix,
234 String oldKeyPrefix) {
235
236 Properties oldProperties = applicationConfig.getOptionStartsWith(oldKeyPrefix);
237 if (oldProperties != null) {
238 for (String oldKey: oldProperties.stringPropertyNames()) {
239
240 String endPart = oldKey.substring(oldKeyPrefix.length());
241 String newProperty = newKeyPrefix + endPart;
242
243
244 if (!applicationConfig.hasOption(newProperty)) {
245 applicationConfig.setOption(newProperty, oldProperties.getProperty(oldKey));
246 }
247
248
249 addOptionToNotSave(oldKey);
250 }
251 }
252 }
253
254
255 @Override
256 public String getApplicationName() {
257 return t("reefdb.application.name");
258 }
259
260
261 @Override
262 public Version getVersion() {
263 return applicationConfig.getOptionAsVersion(ReefDbConfigurationOption.VERSION.getKey());
264 }
265
266
267 @Override
268 public KeyStroke getShortcutClosePopup() {
269 return applicationConfig.getOptionAsKeyStroke(ReefDbConfigurationOption.SHORTCUT_CLOSE_POPUP.getKey());
270 }
271
272
273
274
275
276
277
278 public String getHelpResourceWithLocale(String value) {
279 File directory = new File(getHelpDirectory(),
280 getI18nLocale().getLanguage());
281 File result = new File(directory, value);
282 return result.toString();
283 }
284
285
286
287
288 private void initTimeZone() {
289
290 String timeZone = applicationConfig.getOption(ReefDbConfigurationOption.TIMEZONE.getKey());
291 if (StringUtils.isNotBlank(timeZone)) {
292 if (LOG.isInfoEnabled()) {
293 LOG.info(String.format("Using timezone [%s]", timeZone));
294 }
295 TimeZone.setDefault(TimeZone.getTimeZone(timeZone));
296 System.setProperty("user.timezone", timeZone);
297 } else if (LOG.isInfoEnabled()) {
298 LOG.info(String.format("Using default timezone [%s]", System.getProperty("user.timezone")));
299 }
300
301
302 String dbTimeZoneOption = applicationConfig.getOption(ReefDbConfigurationOption.DB_TIMEZONE.getKey());
303 TimeZone dbTimeZone;
304 if (StringUtils.isBlank(dbTimeZoneOption)) {
305 LOG.warn("Timezone for database is not set in configuration, now using user timezone");
306 dbTimeZone = TimeZone.getDefault();
307 } else {
308 dbTimeZone = TimeZone.getTimeZone(dbTimeZoneOption);
309 }
310 if (LOG.isInfoEnabled()) {
311 LOG.info(String.format("Using timezone [%s] for database", dbTimeZone.toZoneId()));
312 }
313 DateType.setTimeZone(dbTimeZone);
314 }
315
316
317 @Override
318 public String toString() {
319 return ReflectionToStringBuilder.toString(this);
320 }
321
322
323
324
325
326
327 public Integer getLastObservationId() {
328 return applicationConfig.getOptionAsInt(ReefDbConfigurationOption.LAST_OBSERVATION_ID.getKey());
329 }
330
331
332
333
334
335
336 public void setLastObservationId(Integer observationId) {
337 String value = "";
338 if (observationId != null) {
339 value = observationId.toString();
340 }
341 applicationConfig.setOption(ReefDbConfigurationOption.LAST_OBSERVATION_ID.getKey(), value);
342 }
343
344
345
346
347
348
349 public Integer getLastContextId() {
350 int lastContextId = applicationConfig.getOptionAsInt(ReefDbConfigurationOption.LAST_CONTEXT_ID.getKey());
351 return lastContextId == 0 ? null : lastContextId;
352 }
353
354
355
356
357
358
359 public void setLastContextId(Integer contextId) {
360 String value = "";
361 if (contextId != null) {
362 value = contextId.toString();
363 }
364 applicationConfig.setOption(ReefDbConfigurationOption.LAST_CONTEXT_ID.getKey(), value);
365 }
366
367
368
369
370
371
372
373
374
375
376 public File getDbBackupExternalDirectory() {
377 return applicationConfig.getOptionAsFile(ReefDbConfigurationOption.DB_BACKUP_EXTERNAL_DIRECTORY.getKey());
378 }
379
380
381
382
383
384
385 public boolean isDbCheckConstantsEnable() {
386 return applicationConfig.getOptionAsBoolean(ReefDbConfigurationOption.DB_CHECK_CONSTANTS.getKey());
387 }
388
389
390
391
392
393
394 public void setDbCheckConstantsEnable(boolean check) {
395 applicationConfig.setOption(ReefDbConfigurationOption.DB_CHECK_CONSTANTS.getKey(), Boolean.toString(check));
396 }
397
398
399
400
401
402
403 public TimeZone getDbTimezone() {
404 String timezone = applicationConfig.getOption(ReefDbConfigurationOption.DB_TIMEZONE.getKey());
405 return StringUtils.isNotBlank(timezone) ? TimeZone.getTimeZone(timezone) : TimeZone.getDefault();
406 }
407
408 public int getMassiveProcessChunkSize() {
409 return applicationConfig.getOptionAsInt(ReefDbConfigurationOption.DB_VALIDATION_BULK_SIZE.getKey());
410 }
411
412
413
414
415
416
417 public boolean isCacheEnabledAtStartup() {
418 return applicationConfig.getOptionAsBoolean(ReefDbConfigurationOption.CACHE_ENABLED_AT_STARTUP.getKey());
419 }
420
421
422
423
424
425
426 public boolean isCleanCacheAtStartup() {
427 return applicationConfig.getOptionAsBoolean(ReefDbConfigurationOption.CACHE_CLEAN_AT_STARTUP.getKey());
428 }
429
430
431
432
433
434
435 public URL getSiteUrl() {
436 return applicationConfig.getOptionAsURL(ReefDbConfigurationOption.SITE_URL.getKey());
437 }
438
439
440
441
442
443
444 public String getOrganizationName() {
445 return applicationConfig.getOption(ReefDbConfigurationOption.ORGANIZATION_NAME.getKey());
446 }
447
448
449
450
451
452
453 public int getInceptionYear() {
454 return applicationConfig.getOptionAsInt(ReefDbConfigurationOption.INCEPTION_YEAR.getKey());
455 }
456
457
458
459
460
461
462
463
464
465
466
467 public String getExtractionFilePrefix() {
468 return applicationConfig.getOption(ReefDbConfigurationOption.EXTRACTION_FILE_PREFIX.getKey());
469 }
470
471
472
473
474
475
476 public String getExtractionFileExtension() {
477 return applicationConfig.getOption(ReefDbConfigurationOption.EXTRACTION_FILE_EXTENSION.getKey());
478 }
479
480
481
482
483
484
485 public String getExtractionFileTypeCode() {
486 return applicationConfig.getOption(ReefDbConfigurationOption.EXTRACTION_FILE_TYPE_CODE.getKey());
487 }
488
489
490
491
492
493
494 public String getExtractionGroupTypePmfmCode() {
495 return applicationConfig.getOption(ReefDbConfigurationOption.EXTRACTION_GROUP_TYPE_PMFM_CODE.getKey());
496 }
497
498
499
500
501
502
503 public String getExtractionTableTypeCode() {
504 return applicationConfig.getOption(ReefDbConfigurationOption.EXTRACTION_TABLE_TYPE_CODE.getKey());
505 }
506
507
508
509
510
511
512 public String getExtractionProjectionSystemCode() {
513 return applicationConfig.getOption(ReefDbConfigurationOption.EXTRACTION_PROJECTION_SYSTEM_CODE.getKey());
514 }
515
516
517
518
519
520
521 public String getExtractionDefaultOrderItemTypeCode() {
522 return applicationConfig.getOption(ReefDbConfigurationOption.EXTRACTION_DEFAULT_ORDER_ITEM_TYPE_CODE.getKey());
523 }
524
525
526
527
528
529
530 public List<Integer> getExtractionUnitIdsToIgnore() {
531 List<Integer> ids = Lists.newArrayList();
532 String excludeUnitIds = applicationConfig.getOption(ReefDbConfigurationOption.EXTRACTION_IGNORE_UNIT_IDS.getKey()) ;
533 for (String id : Splitter.on(',').omitEmptyStrings().trimResults().splitToList(excludeUnitIds)) {
534 if (StringUtils.isNumeric(id)) {
535 ids.add(Integer.valueOf(id));
536 }
537 }
538 return ids;
539 }
540
541
542
543
544
545
546
547
548
549
550 public File getUIConfigFile() {
551 return applicationConfig.getOptionAsFile(ReefDbConfigurationOption.UI_CONFIG_FILE.getKey());
552 }
553
554
555
556
557
558
559 public Integer getUIRecommendedWidth() {
560 return applicationConfig.getOptionAsInt(ReefDbConfigurationOption.UI_RECOMMENDED_WIDTH.getKey());
561 }
562
563
564
565
566
567
568 public Integer getUIRecommendedHeight() {
569 return applicationConfig.getOptionAsInt(ReefDbConfigurationOption.UI_RECOMMENDED_HEIGHT.getKey());
570 }
571
572
573
574
575
576
577 public boolean isShowTableCheckbox() {
578 return applicationConfig.getOptionAsBoolean(ReefDbConfigurationOption.TABLES_CHECKBOX.getKey());
579 }
580
581
582
583
584
585
586 public boolean isAutoPopupNumberEditor() {
587 return applicationConfig.getOptionAsBoolean(ReefDbConfigurationOption.AUTO_POPUP_NUMBER_EDITOR.getKey());
588 }
589
590
591
592
593
594
595 public boolean isShowNumberEditorButton() {
596 return applicationConfig.getOptionAsBoolean(ReefDbConfigurationOption.SHOW_NUMBER_EDITOR_BUTTON.getKey());
597 }
598
599
600
601
602
603
604 public Color getColorSelectedCell() {
605 return applicationConfig.getOptionAsColor(ReefDbConfigurationOption.COLOR_SELECTED_CELL.getKey());
606 }
607
608
609
610
611
612
613 public Color getColorRowInvalid() {
614 return applicationConfig.getOptionAsColor(ReefDbConfigurationOption.COLOR_ROW_INVALID.getKey());
615 }
616
617
618
619
620
621
622 public Color getColorRowReadOnly() {
623 return applicationConfig.getOptionAsColor(ReefDbConfigurationOption.COLOR_ROW_READ_ONLY.getKey());
624 }
625
626
627
628
629
630
631 public Color getColorCellWithValue() {
632 return applicationConfig.getOptionAsColor(ReefDbConfigurationOption.COLOR_CELL_WITH_VALUE.getKey());
633 }
634
635
636
637
638
639
640 public Color getColorComputedWeights() {
641 return applicationConfig.getOptionAsColor(ReefDbConfigurationOption.COLOR_COMPUTED_WEIGHTS.getKey());
642 }
643
644
645
646
647
648
649 public Color getColorComputedRow() {
650
651 return applicationConfig.getOptionAsColor(ReefDbConfigurationOption.COLOR_COMPUTED_WEIGHTS.getKey());
652 }
653
654
655
656
657
658
659 public Color getColorBlockingLayer() {
660 return applicationConfig.getOptionAsColor(ReefDbConfigurationOption.COLOR_BLOCKING_LAYER.getKey());
661 }
662
663
664
665
666
667
668 public Color getColorAlternateRow() {
669 return applicationConfig.getOptionAsColor(ReefDbConfigurationOption.COLOR_ALTERNATE_ROW.getKey());
670 }
671
672
673
674
675
676
677 public Color getColorSelectedRow() {
678 return applicationConfig.getOptionAsColor(ReefDbConfigurationOption.COLOR_SELECTED_ROW.getKey());
679 }
680
681
682
683
684
685
686 public Color getColorSelectionPanelBackground() {
687 return applicationConfig.getOptionAsColor(ReefDbConfigurationOption.COLOR_SELECTION_PANEL_BACKGROUND.getKey());
688 }
689
690
691
692
693
694
695 public Color getColorContextPanelBackground() {
696 return applicationConfig.getOptionAsColor(ReefDbConfigurationOption.COLOR_CONTEXT_PANEL_BACKGROUND.getKey());
697 }
698
699
700
701
702
703
704 public Color getColorEditionPanelBackground() {
705 return applicationConfig.getOptionAsColor(ReefDbConfigurationOption.COLOR_EDITION_PANEL_BACKGROUND.getKey());
706 }
707
708
709
710
711
712
713 public Color getColorEditionPanelBorder() {
714 return applicationConfig.getOptionAsColor(ReefDbConfigurationOption.COLOR_EDITION_PANEL_BORDER.getKey());
715 }
716
717
718
719
720
721
722 public Color getColorThematicLabel() {
723 return applicationConfig.getOptionAsColor(ReefDbConfigurationOption.COLOR_THEMATIC_LABEL.getKey());
724 }
725
726
727
728
729
730
731 public Color getColorHighlightButtonBorder() {
732 return applicationConfig.getOptionAsColor(ReefDbConfigurationOption.COLOR_HIGHLIGHT_BUTTON_BORDER.getKey());
733 }
734
735
736
737
738
739
740
741 public KeyStroke getShortCut(String actionName) {
742 return applicationConfig.getOptionAsKeyStroke("reefdb.ui." + actionName);
743 }
744
745
746
747
748
749
750 public String getDateFormat() {
751 return applicationConfig.getOption(ReefDbConfigurationOption.DATE_FORMAT.getKey());
752 }
753
754
755
756
757
758
759 public String getDateTimeFormat() {
760 return applicationConfig.getOption(ReefDbConfigurationOption.DATE_TIME_FORMAT.getKey());
761 }
762
763
764
765
766
767
768
769
770
771
772 public File getNewTmpDirectory(String name) {
773 return new File(getTempDirectory(), name + "_" + System.nanoTime());
774 }
775
776
777
778
779
780
781
782 public File getHelpDirectory() {
783 return applicationConfig.getOptionAsFile(
784 ReefDbConfigurationOption.HELP_DIRECTORY.getKey());
785 }
786
787
788
789
790
791
792 public int getUnknownRecorderDepartmentId() {
793 return applicationConfig.getOptionAsInt(ReefDbConfigurationOption.UNKNOWN_RECORDER_DEPARTMENT.getKey());
794 }
795
796
797
798
799
800
801
802 public String getTemporaryStatusCode() {
803 return "TEMPORARY";
804 }
805
806
807
808
809
810
811 public String getEnableStatusCode() {
812 return "ENABLE";
813 }
814
815
816
817
818
819
820 public String getDisableStatusCode() {
821 return "DISABLE";
822 }
823
824
825
826
827
828
829 public String getDeletedStatusCode() {
830 return "DELETED";
831 }
832
833
834
835
836
837
838 public String getDirtySynchronizationStatusCode() {
839 return "DIRTY";
840 }
841
842
843
844
845
846
847 public String getReadySynchronizationStatusCode() {
848 return "READY_TO_SYNCHRONIZE";
849 }
850
851
852
853
854
855
856 public String getSynchronizedSynchronizationStatusCode() {
857 return "SYNCHRONIZED";
858 }
859
860
861
862
863
864
865 public int getDepthValuesPmfmId() {
866 return applicationConfig.getOptionAsInt(ReefDbConfigurationOption.PMFM_ID_DEPTH_VALUES.getKey());
867 }
868
869
870
871
872
873
874 @Deprecated
875 public int getTransitionLengthPmfmId() {
876
877 return 0;
878 }
879
880
881
882
883
884
885 @Deprecated
886 public int getStartPositionPmfmId() {
887
888 return 0;
889 }
890
891
892
893
894
895
896 @Deprecated
897 public int getEndPositionPmfmId() {
898
899 return 0;
900 }
901
902 public List<Integer[]> getCalculatedTransitionLengthPmfmTriplets() {
903
904 List<Integer[]> result = new ArrayList<>();
905 String configOption = applicationConfig.getOption(ReefDbConfigurationOption.PMFM_IDS_TRANSITION_LENGTH.getKey());
906 if (StringUtils.isBlank(configOption)) return result;
907
908 List<String> triplets = Splitter.on(";").omitEmptyStrings().splitToList(configOption);
909 for (String triplet : triplets) {
910 List<String> pmfmsIdsStr = Splitter.on(",").omitEmptyStrings().trimResults().splitToList(triplet);
911 if (CollectionUtils.size(pmfmsIdsStr) == 3) {
912 try {
913 Integer[] pmfmIds = new Integer[3];
914 pmfmIds[0] = Integer.parseInt(pmfmsIdsStr.get(0));
915 pmfmIds[1] = Integer.parseInt(pmfmsIdsStr.get(1));
916 pmfmIds[2] = Integer.parseInt(pmfmsIdsStr.get(2));
917
918 if (pmfmIds[0] < 0 || pmfmIds[1] < 0 || pmfmIds[2] < 0) continue;
919
920 result.add(pmfmIds);
921 } catch (NumberFormatException e) {
922 LOG.warn(String.format("Problem parsing '%s' option value : %s", ReefDbConfigurationOption.PMFM_IDS_TRANSITION_LENGTH.getKey(), triplet));
923 }
924 } else {
925 LOG.warn(String.format("Malformed '%s' option value : %s", ReefDbConfigurationOption.PMFM_IDS_TRANSITION_LENGTH.getKey(), triplet));
926 }
927 }
928
929 return result;
930 }
931
932 public int getPitTransitionPmfmId() {
933 return applicationConfig.getOptionAsInt(ReefDbConfigurationOption.PMFM_ID_PIT_TRANSITION.getKey());
934 }
935
936 public int getPitTransectLengthPmfmId() {
937 return applicationConfig.getOptionAsInt(ReefDbConfigurationOption.PMFM_ID_PIT_TRANSECT_LENGTH.getKey());
938 }
939
940 public int getPitOriginPmfmId() {
941 return applicationConfig.getOptionAsInt(ReefDbConfigurationOption.PMFM_ID_PIT_ORIGIN.getKey());
942 }
943
944 public Integer getPitTransectLengthDefaultValue() {
945 return (Integer) applicationConfig.getOption(ReefDbConfigurationOption.PIT_TRANSECT_LENGTH_DEFAULT_VALUE);
946 }
947
948 public Integer getPitOriginDefaultValue() {
949 return (Integer) applicationConfig.getOption(ReefDbConfigurationOption.PIT_ORIGIN_DEFAULT_VALUE);
950 }
951
952
953
954
955
956
957 public int getNoUnitId() {
958 return applicationConfig.getOptionAsInt(ReefDbConfigurationOption.UNIT_ID_NO_UNIT.getKey());
959 }
960
961
962
963
964
965
966 public String getTranscribingItemTypeLbForPmfmNm() {
967 return applicationConfig.getOption(ReefDbConfigurationOption.TRANSCRIBING_ITEM_TYPE_LB_PMFM_NM.getKey());
968 }
969
970 public String getTranscribingItemTypeLbForPmfmExtraction() {
971 return applicationConfig.getOption(ReefDbConfigurationOption.TRANSCRIBING_ITEM_TYPE_LB_PMFM_EXTRACTION.getKey());
972 }
973
974
975
976
977
978
979 public String getAlternativeTaxonOriginTaxRef() {
980 return applicationConfig.getOption(ReefDbConfigurationOption.ALTERNATIVE_TAXON_ORIGIN_TAXREF.getKey());
981 }
982
983
984
985
986
987
988 public String getAlternativeTaxonOriginWorms() {
989 return applicationConfig.getOption(ReefDbConfigurationOption.ALTERNATIVE_TAXON_ORIGIN_WORMS.getKey());
990 }
991
992 public String getAlternativeTaxonOriginPAMPA() {
993 return applicationConfig.getOption(ReefDbConfigurationOption.ALTERNATIVE_TAXON_ORIGIN_PAMPA.getKey());
994 }
995
996 }