Package gov.nasa.pds.validate
Class ValidateLauncher
java.lang.Object
gov.nasa.pds.validate.ValidateLauncher
public class ValidateLauncher extends Object
Wrapper class for the Validate Tool. Class handles command-line parsing and
querying, in addition to reporting setup.
- Author:
- mcayanan
-
Constructor Summary
Constructors Constructor Description ValidateLauncher()
Constructor. -
Method Summary
Modifier and Type Method Description void
displayHelp()
Displays tool usage.void
displayVersion()
Displays the current version and disclaimer notice.boolean
doValidation(Map<URL,String> checksumManifest)
Performs validation.void
flushValidators()
Flush ValidatorFactory cache (set to null).Report
getReport()
Gets the object representation of the Validation Report.static void
main(String[] args)
Main class that launches the Validate Tool.org.apache.commons.cli.CommandLine
parse(String[] args)
Parse the command-line argumentsvoid
printReportFooter()
Print the report footer.int
processMain(String[] args)
Wrapper method for the main class that returns valid exitCode for execution.void
query(File configuration)
Query the configuration file.void
query(org.apache.commons.cli.CommandLine line)
Query the command-line and process the command-line option flags set.void
setAdditionalPaths(List<String> additionalPaths)
Set additional paths to be specified when attempting referential integrity validation (pds4.bundle or pds4.collection rules)void
setAllowUnlabeledFiles(boolean flag)
void
setCatalogs(List<String> catalogs)
Set the catalogs.void
setChecksumManifest(String manifest)
Set the checksum manifest.void
setContentValidation(boolean flag)
Sets the flag that enables/disables data content validation.void
setForce(boolean value)
void
setManifestBasePath(String path)
Set the base path to look up relative file references in a given checksum manifest file.void
setMaxErrors(long value)
void
setNonRegisteredProducts(boolean nonRegisteredProducts)
void
setRegExps(List<String> patterns)
Sets the list of file patterns to look for if traversing a directory.void
setReport(File report)
Sets the report file.void
setReportStyle(String style)
Set the output style for the report.void
setSchemas(List<String> schemas)
Set the schemas.void
setSchematrons(List<String> schematrons)
Set the schematrons.void
setSeverity(int level)
Sets the severity level for the report.void
setSkipProductValidation(boolean flag)
void
setSpotCheckData(int value)
void
setTargets(List<String> targets)
Set the target.void
setTraverse(boolean value)
Sets the flag to enable/disable directory recursion.void
setUpdateRegisteredProducts(boolean updateRegisteredProducts)
void
setupReport()
Setup the report.void
setValidateContext(boolean flag)
Sets the flag that enables/disables context validation.void
setValidationRule(String value)
Sets the validation rule name to use.
-
Constructor Details
-
ValidateLauncher
Constructor.
-
-
Method Details
-
parse
public org.apache.commons.cli.CommandLine parse(String[] args) throws org.apache.commons.cli.ParseExceptionParse the command-line arguments- Parameters:
args
- The command-line arguments- Returns:
- A class representation of the command-line arguments
- Throws:
org.apache.commons.cli.ParseException
- If an error occurred during parsing.
-
query
Query the command-line and process the command-line option flags set.- Parameters:
line
- A CommandLine object containing the flags that were set.- Throws:
Exception
- If an error occurred while processing the command-line options.
-
query
public void query(File configuration) throws org.apache.commons.configuration.ConfigurationExceptionQuery the configuration file.- Parameters:
configuration
- A configuration file.- Throws:
org.apache.commons.configuration.ConfigurationException
- If an error occurred while querying the configuration file.
-
setAdditionalPaths
Set additional paths to be specified when attempting referential integrity validation (pds4.bundle or pds4.collection rules)- Parameters:
additionalPaths
- A list of paths.- Throws:
MalformedURLException
-
setTargets
Set the target.- Parameters:
targets
- A list of targets.- Throws:
MalformedURLException
-
setChecksumManifest
Set the checksum manifest.- Parameters:
manifest
- A checksum manifest file.- Throws:
MalformedURLException
-
setManifestBasePath
Set the base path to look up relative file references in a given checksum manifest file.- Parameters:
path
- A path.- Throws:
MalformedURLException
-
setSchemas
Set the schemas.- Parameters:
schemas
- A list of schemas.- Throws:
MalformedURLException
-
setSchematrons
Set the schematrons.- Parameters:
schematrons
- A list of schematrons.- Throws:
MalformedURLException
-
setCatalogs
Set the catalogs.- Parameters:
catalogs
- A list of catalogs.
-
setReport
Sets the report file.- Parameters:
report
- A report file.
-
getReport
Gets the object representation of the Validation Report.- Returns:
- The Report object.
-
setReportStyle
Set the output style for the report.- Parameters:
style
- 'sum' for a summary report, 'min' for a minimal report, and 'full' for a full report- Throws:
ApplicationException
Exception
-
setTraverse
public void setTraverse(boolean value)Sets the flag to enable/disable directory recursion.- Parameters:
value
- A boolean value.
-
setSeverity
public void setSeverity(int level)Sets the severity level for the report.- Parameters:
level
- An interger value.
-
setRegExps
Sets the list of file patterns to look for if traversing a directory.- Parameters:
patterns
- A list of file patterns.
-
setForce
public void setForce(boolean value) -
setValidationRule
Sets the validation rule name to use.- Parameters:
value
- the validation rule name
-
setContentValidation
public void setContentValidation(boolean flag)Sets the flag that enables/disables data content validation.- Parameters:
flag
- True or False.
-
setSkipProductValidation
public void setSkipProductValidation(boolean flag) -
setMaxErrors
public void setMaxErrors(long value) -
setSpotCheckData
public void setSpotCheckData(int value) -
setAllowUnlabeledFiles
public void setAllowUnlabeledFiles(boolean flag) -
setUpdateRegisteredProducts
public void setUpdateRegisteredProducts(boolean updateRegisteredProducts) -
setNonRegisteredProducts
public void setNonRegisteredProducts(boolean nonRegisteredProducts) -
setValidateContext
public void setValidateContext(boolean flag)Sets the flag that enables/disables context validation.- Parameters:
flag
- True or False.
-
displayHelp
public void displayHelp()Displays tool usage. -
displayVersion
Displays the current version and disclaimer notice.- Throws:
IOException
- If there was an error that occurred while getting the tool information.
-
setupReport
Setup the report.- Throws:
IOException
- If an error occurred while setting up the report.
-
doValidation
Performs validation.- Parameters:
checksumManifest
-- Returns:
- boolean true - success false - fail
- Throws:
Exception
-
processMain
Wrapper method for the main class that returns valid exitCode for execution.- Parameters:
args
- list of command-line arguments.- Throws:
Exception
-
flushValidators
public void flushValidators()Flush ValidatorFactory cache (set to null). The ValidatorFactory will cache schemas and other validation data between runs, which can cause issues, specifically when using varying dictionaries and catalog files. -
main
Main class that launches the Validate Tool.- Parameters:
args
- A list of command-line arguments.- Throws:
TransformerConfigurationException
-