Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
155 commits
Select commit Hold shift + click to select a range
bb88534
Merge branch 'develop-gitlab' into 'main'
Jun 18, 2025
851724a
re add cicd files
Jun 20, 2025
9eb4449
Merge branch 'develop-gitlab' into 'main'
Jun 20, 2025
970a76b
Merge branch 'main' into 'v2.9.2'
Jul 11, 2025
cbb6680
Merge branch 'v2.9.2' into 'main'
Jul 11, 2025
91f91a3
WIP add NVS jsonLd tables parser
Jul 17, 2025
e03bb23
build ArgoNVSReferenceTable
Jul 18, 2025
cee588b
use NVS table for QC flag check
Jul 21, 2025
c17ee13
fix warnings count in ValidationResult
Jul 21, 2025
e9be5ec
use NVS table for QC_FLAG end of work
Jul 21, 2025
2f33b3f
using NVS table for POSITION_ACCURACY and PROFILE_QC_FLAG
Jul 21, 2025
a270be9
use WMO_INST_TYPE NVS table
Jul 21, 2025
41e8d4f
refactor ArgoNVSReferenceTable
Jul 22, 2025
1c481e9
handle semantic relation checks in NVS tables
Jul 22, 2025
679bb4b
WIP tech param names R14
Jul 23, 2025
911f966
refactor parseConfigParam
Jul 24, 2025
bac6899
handle fill Value for profile_PARAM_QC
Aug 18, 2025
9d6e4ef
fix profile qc validation and add e2e test
Aug 19, 2025
490609f
vertical sampling scheme verification by prefLabel and ignore opt fre…
Aug 19, 2025
56c38e6
feat: 🆕 Automatisation
leobr29 Aug 21, 2025
64f0863
Update .gitlab-ci.yml file
leobr29 Aug 21, 2025
45602db
add an online mode for NVS
Aug 21, 2025
75b8df3
WIP online mode and inclusion of file_checekr_spec in resources
Aug 28, 2025
97c15ad
fix reading spec in jar resources
Aug 29, 2025
b581e88
Merge branch 'feature/ci-cd' into 'main'
Aug 29, 2025
653d512
fix error for absent long_name
Sep 1, 2025
4b03b01
feat: 🆕 Automatisation
leobr29 Sep 2, 2025
4b49588
Merge branch 'feature/inputs' into 'main'
leobr29 Sep 2, 2025
a6889fa
update NVS tables in file_checker_spec
Sep 3, 2025
9b0b1d4
add -internal-spec option
Sep 4, 2025
228fb63
change file name check error message
Sep 4, 2025
8ed4f4b
update NVS tables
Sep 11, 2025
96a6ef5
update NVS tables
Sep 15, 2025
d5ec6f5
Merge branch 'develop' into v3.0.0
Oct 2, 2025
a217c6f
WIP build PARAM variables from R03 table
Oct 6, 2025
8058515
parsing R03 ad refactoring parseParamFile method
Oct 7, 2025
9e40d57
update local NVS R03 table
Oct 13, 2025
5065103
fix techParam code list (with units)
Jun 18, 2025
c335e3a
add tech timeseries e2e tests
Jun 23, 2025
4054260
tentative fix for fail on corolis/dev
Jun 23, 2025
a3b8044
delete legacy tests
Jun 25, 2025
6aae324
fix techParam code list (with units)
Jun 18, 2025
bc0547d
WIP create ArgoFileValidator class
Jun 30, 2025
cbb90c4
WIP refactor ArgoFileValidator
Jun 30, 2025
8f64cd8
WIP refactor argoMetadateFileValidator
Jul 1, 2025
6077684
WIP refactor argoProfileFileValidator
Jul 1, 2025
32976ea
refactor ArgoProfileFileValidator
Jul 10, 2025
1d5f593
refactor ArgoTechnicalFileValidator
Jul 10, 2025
27a8f7f
refactor argoTrajFileValidator
Jul 10, 2025
540780e
refactor validate Submit with new ArgoFileValidator classes
Jul 10, 2025
698e367
fix downcast of FileValidator classes
Jul 11, 2025
a528bd7
fix getFileName
Jul 11, 2025
4e9e349
fix validationResult access in ResultsFile
Jul 11, 2025
43371be
fix build time series TECH_PARAM variables
Sep 9, 2025
7baf4f6
add test file for Time Series
Sep 9, 2025
3a8b202
change check of TECH_PARAM
Sep 10, 2025
72a9ef9
fix ConfigTech null error
Sep 11, 2025
30658aa
add github CI for pushing docker image in package
Sep 16, 2025
d04dd98
fix ci .yml file
Sep 16, 2025
1b5252a
fix ci workflow context
Sep 16, 2025
b47fdf8
add workflow folder to detect changes for CI and test
Sep 16, 2025
dcec749
minor code modif for CI test
Sep 16, 2025
6ff97b9
add permissions to workflow
Sep 16, 2025
060e53e
update ci with permissions
Sep 17, 2025
4431f85
update readme and provide compose.yaml to run filechecker with docker…
Sep 17, 2025
02d3c9b
fix readme
Sep 17, 2025
531edab
feat: demonstration
Sep 18, 2025
a9d1003
WIP update permissions on Dockerfile
Sep 18, 2025
fd40345
fix Dockerfile
Sep 18, 2025
8c68d52
corr readme
Sep 18, 2025
89a1c87
change file name check error message
Sep 4, 2025
5faf5b8
fix pom.xml
Sep 23, 2025
a7ab3c1
update table 41 PROGRAM_NAME
Sep 23, 2025
0eafe96
update table SENSOR R27
Sep 23, 2025
784bb2e
prepare release
Sep 23, 2025
ea27c17
update argo-tech_names-spec table
Sep 23, 2025
8768099
update table 27
Sep 23, 2025
201d646
feat: demonstration
Sep 18, 2025
ea91cde
update Dockerfile for security
Sep 24, 2025
abba653
fix dockerfile
Sep 24, 2025
9110930
update github CI and add ifremer CI
Sep 24, 2025
3982222
gitlab ci
Sep 24, 2025
23e6ccc
update table 27
Sep 23, 2025
2665bd0
update github CI and add ifremer CI
Sep 24, 2025
6c81ed9
gitlab ci
Sep 24, 2025
2cacde2
update dockerfile
Sep 24, 2025
103f99b
change Dockerfile place and integrate specs in image
Sep 26, 2025
0ac90c8
update readme
Sep 26, 2025
f2e3abe
improve error message for tech param long_name
Sep 30, 2025
641639b
include specs in docker image
Sep 30, 2025
32fe6f3
tentative fix for dockerfile and copy file_checler_spec
Sep 30, 2025
d0d4eb8
tentative fix for dockerfile and copy file_checler_spec
Sep 30, 2025
b603c08
tentative fix for dockerfile and copy file_checler_spec
Sep 30, 2025
646bd41
tefix for dockerfile and copy file_checler_spec
Sep 30, 2025
19f1f26
include file checker python wrapper
Sep 30, 2025
e78c98f
🐍 Python wrapper and API (#2)
eawetchy Sep 30, 2025
80914e5
update readme
Oct 1, 2025
c374338
update demo_docker
Oct 1, 2025
0a5acc4
update dockerfile and fix demo_docker
Oct 1, 2025
7b949d8
fix readme
Oct 1, 2025
a9c3721
delete redondant python directory
Oct 2, 2025
9269f6f
update sensor_model/sensor with CTD_TEMP_CNDC for RBR
Nov 3, 2025
e1eee02
prepare release 2.9.4
Nov 3, 2025
1fda28d
resolve conflicts
Nov 3, 2025
f2089ec
Merge branch 'update/table27_RBR_CTD_TEMP_CNDC' into 'main'
Nov 3, 2025
8cc5fac
fix conflict
Nov 26, 2025
a78272a
WIP
Dec 15, 2025
b178f1b
Merge branch 'v2.9.5' into 'main'
Dec 18, 2025
57caa29
merge with 2.9.5
Jan 12, 2026
d074a91
merge with 2.9.5
Jan 12, 2026
f6ff24e
update NVS table and parse R03 LocatlAttributes and Properties
Jan 12, 2026
1a52ff2
fix parsing deprecated tech param names
Jan 12, 2026
63af97e
fix check param_adj_qc
Jan 12, 2026
ef22dc9
add logs for R03 bad format instead of ending program
Jan 14, 2026
b2a4981
logs only for ArgofileSpecification and ValidateSubmit
Jan 14, 2026
10073d0
refactor read auxilliarySettings
Jan 15, 2026
f1f9b04
WIP parse longname from R14
Jan 21, 2026
468f12b
WIP parse longname from R14
Jan 21, 2026
8efa06c
verify longname from param and unit
Jan 21, 2026
13cb593
R18 table parsing integration alongs with e2e tests for CONFIG params
Feb 24, 2026
ffb46c0
R18 table parsing integration alongs with e2e tests for CONFIG params
Feb 24, 2026
6de3cf8
fix on check config param
Feb 25, 2026
12e59b6
check deprecated phys param
Mar 2, 2026
c5a01db
refactor properties handling for phys param :
Mar 3, 2026
dfa7f2a
add test for deprecated phys param properties values
Mar 4, 2026
f95ed68
WIP add check # in comments
Mar 20, 2026
b8eeaa6
add check empty string var
Mar 24, 2026
78c911c
update gitlabci
Mar 24, 2026
311f20e
refactor configPAram tech list buildingé
Mar 25, 2026
4f01384
add R41 PROGRAM_NAME NVS table handling and update other NVS tables
Mar 25, 2026
7e20467
add R33 BATTERY_MAKER table and update test for BATTERY_TYPE param in…
Mar 25, 2026
db83abf
add BATTERY_TYPE NVS R34 table and handle battery_type checks with it
Mar 26, 2026
3fc9e1b
add BATTERY_PACKS as an opt variable
Mar 26, 2026
0366599
add BATTERY_SIZE R35 NVS table and update checks for BATTERY_PACKS
Mar 26, 2026
fb03173
complete PI_NAME checks
Mar 27, 2026
a14581d
add battery type consistency checks and update e2e test files
Mar 27, 2026
0c6f344
prepare v3.0.0 release
Mar 27, 2026
ba34da4
BATTERY_PACKS is mandatory
Mar 27, 2026
c787661
delete condition for replacing not allowed param
Mar 30, 2026
a028976
fix deprecatedtableR03 for version prior to 2.3
Mar 31, 2026
85b8d3c
clean spec files
Apr 1, 2026
4c50c71
remove Java 11 method
Apr 2, 2026
0265c07
delete useless R07 NVS table
Apr 2, 2026
f53189e
fix STATUS table use for JULD_STATUS and update NVS tables
Apr 2, 2026
bfe64f1
fix tech time series spec creation for pre v3.1 (don't do)
Apr 7, 2026
9415a77
Add NVS R01 table handling and improve results when bad data_type. up…
Apr 10, 2026
abad7bd
Add NVS R01 table handling and improve results when bad data_type. up…
Apr 10, 2026
920b8d4
init traj checks
Apr 16, 2026
b5c187c
temporary warning for long_name in tech time series
Apr 17, 2026
158f4e9
fix adjusted_error long_name deprecated handling
Apr 17, 2026
fcd4907
fix data_type error when deprecated
Apr 17, 2026
6edca8e
update NVS tables and readme
Apr 17, 2026
9745d65
add checks annotations
Apr 20, 2026
a023646
update NVS tables and deactivate long_name check for TECH time series
Apr 21, 2026
0d92f22
prepare v3.0.0
Apr 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,18 @@ include:
pipeline_enable_sonarqube: "false"
lint_yamllint_enable: "false"

security:filesystem:scan 🛡️:
rules:
- when: always
# security:filesystem:scan 🛡️:
# rules:
# - when: always

check_container-image_scanning:
stage: security
image: alpine:latest
script:
- CRITICAL_COUNT=$(grep -o '<tr class="severity-CRITICAL">' scanning-report.html | wc -l || echo 0)
- echo "Number of critical vulnerabilities:${CRITICAL_COUNT}"
- if [ "$CRITICAL_COUNT" -gt 0 ]; then echo "Critical vulnerabilities detected"; exit 1; fi
needs:
- job: security:filesystem:scan 🛡️
artifacts: true
allow_failure: false
# check_container-image_scanning:
# stage: security
# image: alpine:latest
# script:
# - CRITICAL_COUNT=$(grep -o '<tr class="severity-CRITICAL">' scanning-report.html | wc -l || echo 0)
# - echo "Number of critical vulnerabilities:${CRITICAL_COUNT}"
# - if [ "$CRITICAL_COUNT" -gt 0 ]; then echo "Critical vulnerabilities detected"; exit 1; fi
# needs:
# - job: security:filesystem:scan 🛡️
# artifacts: true
# allow_failure: false
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ Vocabularies and format changes are managed on [Argo Vocabs Task Team - AVTT Git
**With each release (from 2.9.2) you will find :**

- **file_checker_exec-[version].jar** which consolidates both application's compiled code and all its dependencies into a single executable file.
- file_checker_spec folder containing all specifications and reference tables.
- source code

## Run Argo NetCDF file format checker
Expand Down Expand Up @@ -114,7 +115,7 @@ output files will be generated in `./demo/outputs`.

### Run File checker using Python and an API

In folder /file-checker-python you will find a python wrapper and an API to facilitate the use of Argo FileChecker. See python.README for more informations.
In folder /file-checker-python you will find a python wrapper and an API to facilitate the use of Argo FileChecker. See [python.README](./python.README.md) for more informations.

### Test data

Expand Down
3 changes: 2 additions & 1 deletion file_checker_exec/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/bin/
/target/
ValidateSubmit_LOG
ValidateSubmit_LOG
*.log
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/main/resources=UTF-8
encoding//src/main/resources/file_checker_spec=UTF-8
encoding//src/test/java=UTF-8
encoding//src/test/resources=UTF-8
encoding/<project>=UTF-8
27 changes: 26 additions & 1 deletion file_checker_exec/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>fr.ifremer</groupId>
<artifactId>file_checker_exec</artifactId>
<version>2.9.5</version>
<version>3.0.0</version>

<name>Argo NetCDF file format checker</name>

Expand All @@ -13,6 +13,9 @@
<dep.junit.version>5.11.4</dep.junit.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>

<cz.cvut.kbss.jb4jsonld.version>0.15.4</cz.cvut.kbss.jb4jsonld.version>
<com.fasterxml.jackson.version>2.18.3</com.fasterxml.jackson.version>
</properties>

<dependencies>
Expand Down Expand Up @@ -81,6 +84,17 @@
</dependency>


<dependency>
<groupId>com.io-informatics.oss</groupId>
<artifactId>jackson-jsonld</artifactId>
<version>0.1.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jakarta-jsonp</artifactId>
<version>${com.fasterxml.jackson.version}</version>
</dependency>

</dependencies>

<!--Distribution-->
Expand Down Expand Up @@ -118,14 +132,25 @@
<sourceDirectory>src/main/java</sourceDirectory>
<testSourceDirectory>src/test/java</testSourceDirectory>
<resources>


<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/*.java</exclude>
<exclude>**/log4j2*</exclude>
<exclude>file_checker_spec/**</exclude>
</excludes>
</resource>

<!--included spec dir for online mode : no filtering -->
<resource>
<directory>src/main/resources/file_checker_spec</directory>
<filtering>false</filtering>
<targetPath>file_checker_spec</targetPath>
</resource>

</resources>
<testResources>
<testResource>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
* <li>-format-only-pre3.1: Perform format-only checks for versions
* pre-3.1.</li>
* <li>-data-check-all: Perform data checks for all files.</li>
* <li>-battery-check: Enable battery variable checks.</li>
* <li>-psal-stats: Compute PSAL statistics for index files.</li>
* <li>-list-file &lt;file&gt;: Specify a file containing a list of input
* files.</li>
Expand All @@ -54,7 +53,6 @@ public class Options {

private static Options instance;

private final boolean doBatteryChecks; // ..check metadate battery vars - default: no
private final boolean doNameCheck; // ..check file name - default: yes
private final boolean doNulls; // ..check for nulls in strings - default: no
private final boolean doFormatOnly; // ..true: format-only; false: format and data checks
Expand All @@ -71,18 +69,22 @@ public class Options {
private final String outDirName;
private final String inDirName;

private final boolean useOnlineNVS; // to read NVS tables from internet instead of the ones providing in the spec
// dir (internal or external)
private final boolean useInternalSpecs; // to use specs file now included in the .jar file instead of specifying an
// external file_chec_spec dir

// ..standard i/o shortcuts
static PrintStream stdout = new PrintStream(System.out);
static PrintStream stderr = new PrintStream(System.err);
private static final Logger log = LogManager.getLogger("Options");

// ====== CONSTRUCTOR ======
private Options(boolean doBatteryChecks, boolean doNameCheck, boolean doNulls, boolean doFormatOnly,
boolean doFormatOnlyPre31, boolean doPsalStats, boolean version, boolean help, boolean doXml,
String listFile, List<String> inFileList, String dacName, String specDirName, String outDirName,
String inDirName) {
private Options(boolean doNameCheck, boolean doNulls, boolean doFormatOnly, boolean doFormatOnlyPre31,
boolean doPsalStats, boolean version, boolean help, boolean doXml, String listFile, List<String> inFileList,
String dacName, String specDirName, String outDirName, String inDirName, boolean useOnlineNVS,
boolean useInternalSpecs) {
super();
this.doBatteryChecks = doBatteryChecks;
this.doNameCheck = doNameCheck;
this.doNulls = doNulls;
this.doFormatOnly = doFormatOnly;
Expand All @@ -98,7 +100,9 @@ private Options(boolean doBatteryChecks, boolean doNameCheck, boolean doNulls, b
this.outDirName = outDirName;
this.inDirName = inDirName;

log.debug("doBatteryChecks = {}", doBatteryChecks);
this.useOnlineNVS = useOnlineNVS;
this.useInternalSpecs = useInternalSpecs;

log.debug("doFormatOnly = {}", doFormatOnly);
log.debug("doFormatOnlyPre31 = {}", doFormatOnlyPre31);
log.debug("doNameCheck = {}", doNameCheck);
Expand All @@ -110,24 +114,37 @@ private Options(boolean doBatteryChecks, boolean doNameCheck, boolean doNulls, b
log.debug("outDirName = '{}'", outDirName);
log.debug("inDirName = '{}'", inDirName);
log.debug("number of inFileList = " + (inFileList == null ? "null" : inFileList.size()));
log.debug("useOnlineNVS = {}", useOnlineNVS);
log.debug("useInternalSpecs = {}", useInternalSpecs);
}

/**
* Retrieves the singleton instance of {@code Options}, parsing command-line
* arguments with {@code extractOptionsFromArgs} if instance is null .
*
* @param args : The command-line arguments passed to the application.
* @return The singleton instance of {@code Options}.
*/
public static synchronized Options getInstance(String args[]) throws IllegalArgumentException {
public static synchronized Options getInstance() throws IllegalArgumentException {

if (instance == null) {

instance = extractOptionsFromArgs(args);
throw new IllegalStateException("Options not initialized");
}
return instance;
}

/**
* initiate the singleton of {@code Options}, parsing command-line arguments
* with {@code extractOptionsFromArgs} if instance is null .
*
* @param args : The command-line arguments passed to the application.
*/
public static void init(String args[]) {
if (instance != null) {
return;
} else {
instance = extractOptionsFromArgs(args);
}
}

/**
* Parse command-line arguments. Exit application if bad arguments are provided.
*
Expand All @@ -139,7 +156,6 @@ private static Options extractOptionsFromArgs(String[] args) throws IllegalArgum
// Default values :
String listFile = null;
List<String> inFileList = null; // ..list of input files//..list file name
boolean doBatteryChecks = false; // ..check metadate battery vars - default: no
boolean doNameCheck = true; // ..check file name - default: yes
boolean doNulls = false; // ..check for nulls in strings - default: no
boolean doFormatOnly = false; // ..true: format-only; false: format and data checks
Expand All @@ -150,6 +166,9 @@ private static Options extractOptionsFromArgs(String[] args) throws IllegalArgum
boolean help = false;
boolean doXml = true;

boolean useOnlineNVS = false;
boolean useInternalSpecs = false;

// loop trough the arguments provided and differentiate the option (start with
// "-") and the positional parameters.
int next = 0;
Expand Down Expand Up @@ -183,12 +202,15 @@ private static Options extractOptionsFromArgs(String[] args) throws IllegalArgum
case "-data-check-all":
doFormatOnlyPre31 = false;
break;
case "-battery-check":
doBatteryChecks = true;
break;
case "-psal-stats":
doPsalStats = true;
break;
case "-online-nvs":
useOnlineNVS = true;
break;
case "-internal-specs":
useInternalSpecs = true;
break;
case "-list-file":
if (++next < args.length) {
listFile = args[next];
Expand All @@ -197,6 +219,7 @@ private static Options extractOptionsFromArgs(String[] args) throws IllegalArgum
throw new IllegalArgumentException("Error: Missing argument after '-list-file'.");
}
break;

// ..obsolete arguments -- left in for backwards compatibility
case "-no-fresh":
log.error("Obsolete argument '-no-fresh' given. IGNORED");
Expand All @@ -212,22 +235,25 @@ private static Options extractOptionsFromArgs(String[] args) throws IllegalArgum
}

// .....parse the positional parameters.....
validateNumberOfPositionalArguments(args, next); // exit system if too few arguments
validateNumberOfPositionalArguments(args, next, useInternalSpecs); // exit system if too few arguments

String dacName = args[next++];
String specDirName = args[next++];
String specDirName = "";

if (!useInternalSpecs) {
specDirName = args[next++];
}
String outDirName = args[next++];
String inDirName = args[next++];
if (next < args.length) {
inFileList = new ArrayList<String>(args.length - next);
for (; next < args.length; next++) {
inFileList.add(args[next]);

}
}

return new Options(doBatteryChecks, doNameCheck, doNulls, doFormatOnly, doFormatOnlyPre31, doPsalStats, version,
help, doXml, listFile, inFileList, dacName, specDirName, outDirName, inDirName);
return new Options(doNameCheck, doNulls, doFormatOnly, doFormatOnlyPre31, doPsalStats, version, help, doXml,
listFile, inFileList, dacName, specDirName, outDirName, inDirName, useOnlineNVS, useInternalSpecs);

}

Expand All @@ -238,8 +264,10 @@ private static Options extractOptionsFromArgs(String[] args) throws IllegalArgum
* @param args list of arguments
* @param next indice of the next argument
*/
private static void validateNumberOfPositionalArguments(String[] args, int next) throws IllegalArgumentException {
if (args.length < (4 + next)) {
private static void validateNumberOfPositionalArguments(String[] args, int next, boolean useInternalSpecs)
throws IllegalArgumentException {
int minArgs = (useInternalSpecs ? 3 : 4) + next;
if (args.length < minArgs) {
log.error("too few arguments: " + args.length);
throw new IllegalArgumentException("Too few arguments provided.");
}
Expand All @@ -253,8 +281,8 @@ private static void validateNumberOfPositionalArguments(String[] args, int next)
*/
public void validateMandatoryArguments() {
checkDacName(dacName);
checkDirectory(inDirName);
checkDirectory(specDirName);
checkDirectory(inDirName, false);
checkDirectory(specDirName, useInternalSpecs);
}

/**
Expand Down Expand Up @@ -282,19 +310,15 @@ protected static void checkDacName(String dacName) {
*
* @param directoryName
*/
protected static void checkDirectory(String directoryName) {
protected static void checkDirectory(String directoryName, boolean useOnlineTables) {
File dir = new File(directoryName);
if (!dir.isDirectory()) {
if (!useOnlineTables && !dir.isDirectory()) {
throw new IllegalArgumentException("ERROR: " + directoryName + " directory is not a directory");
}
}

// ===== GETTERS =====

public boolean isDoBatteryChecks() {
return doBatteryChecks;
}

public boolean isDoNameCheck() {
return doNameCheck;
}
Expand Down Expand Up @@ -351,4 +375,12 @@ public String getInDirName() {
return inDirName;
}

public boolean isUseOnlineNVS() {
return useOnlineNVS;
}

public boolean isUseInternalSpecs() {
return useInternalSpecs;
}

}
Loading
Loading