|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgov.nasa.pds.tools.VTool
public class VTool
Class to perform automated validation to determine if a given data product is PDS compliant.
This replaces LVTool functionality.
Field Summary |
---|
Fields inherited from interface gov.nasa.pds.tools.config.VToolConfigKeys |
---|
ALIASKEY, DICTKEY, FOLLOWKEY, FORCEKEY, IGNOREDIRKEY, IGNOREFILEKEY, INCLUDESKEY, LOGKEY, PROGRESSKEY, RECURSEKEY, REGEXPKEY, REPORTKEY, SHOWLOGKEY, STYLEKEY, TARGETKEY, VERBOSEKEY |
Fields inherited from interface gov.nasa.pds.tools.flags.ToolsFlags |
---|
ALIAS, CONFIG, DATAOBJ, DICT, FOLLOW, HELP, IGNOREDIR, IGNOREFILE, INCLUDES, LOCAL, LOG, LONG, PARTIAL, PROGRESS, REGEXP, REPORT, RPTSTYLE, SHORT, TARGET, VERBOSE, VERSION |
Fields inherited from interface gov.nasa.pds.tools.status.ExitStatus |
---|
BADRUN, GOODRUN, TOOLFAILURE |
Fields inherited from interface gov.nasa.pds.tools.label.validate.Status |
---|
FAIL, PASS, UNKNOWN |
Fields inherited from interface gov.nasa.pds.tools.xsl.StyleSheet |
---|
FULLXSL, MINXSL, SUMXSL |
Constructor Summary | |
---|---|
VTool()
Default constructor. |
Method Summary | |
---|---|
void |
buildOpts()
Builds the set of configurable parameters for VTool. |
void |
closehandle()
Closes the handlers that were set for the logger. |
void |
doReporting(java.io.File log,
java.io.File report,
java.lang.String level,
java.lang.String style)
Creates a human-readable report. |
boolean |
getAlias()
Get aliasing flag. |
java.util.List |
getDictionaries()
Get a list of dictionary files passed into VTool. |
int |
getExitStatus()
Returns an exit status code based on the validation results. |
boolean |
getFollowPtrs()
Get flag status that determines whether to follow pointers found in a label. |
boolean |
getForcePartial()
Get flag status that determines whether standalone label fragment validation is enabled. |
java.util.List |
getIncludePaths()
Get the paths to search for files referenced by pointers in a label. |
java.io.File |
getLogFile()
Get the machine-readable log file name. |
java.util.List |
getNoDirs()
Get the file name that contains the list of directories and/or directory patterns to ignore during validation. |
java.util.List |
getNoFiles()
Get the file name that contains the list of files and/or file patterns. |
boolean |
getProgress()
Get the progress reporting flag. |
java.util.List |
getRegexp()
Get the patterns to be matched when searching for files to validate in a directory. |
java.io.File |
getRptFile()
Get the report file name for the human-readable report. |
java.lang.String |
getRptStyle()
Get the output style that was set for the validation report. |
boolean |
getShowLog()
Get the flag that determines whether to write the log to standard out. |
java.util.List |
getTargets()
Get the list of targets |
short |
getVerbose()
Get the verbosity level. |
void |
logRptHeader()
Logs report header information such as version of the tool, execution time, and flag settings. |
static void |
main(java.lang.String[] argv)
Implementation to perform automated PDS validation. |
void |
parseLine(java.lang.String[] argv)
Parses the VTool command-line. |
FileList |
processTarget(java.lang.String target,
boolean getSubDirs)
Processes a target. |
void |
queryCmdLine()
Queries the VTool command-line. |
void |
readConfigFile(java.net.URL file)
Reads a configuration file to set the default behaviors for VTool. |
Dictionary |
readDictionaries(java.util.List dictionary)
Parse the dictionary files. |
void |
setAlias(boolean a)
Set aliasing flag. |
void |
setDictionaries(java.util.List d)
Set the dictionary file names passed into VTool . |
void |
setFollowPtrs(boolean f)
Set the flag that determines whether to follow pointers found in a label. |
void |
setForcePartial(boolean f)
Set the flag that determines whether to validate standalone label. |
void |
setIncludePaths(java.util.List i)
Set the paths to search for files referenced by pointers. |
void |
setLogFile(java.io.File f)
Set the file name for the machine-readable log. |
void |
setNoDirs(java.util.List f)
Set the flag to ignore specified directories. |
void |
setNoFiles(java.util.List f)
Set the flag to ignore specified files. |
void |
setProgress(boolean p)
Set the progress reporting flag. |
void |
setRecursive(boolean r)
Set the recursive flag. |
void |
setRegexp(java.util.List e)
Set the patterns flag. |
void |
setRptFile(java.io.File f)
Set the file for the human-readable report. |
void |
setRptStyle(java.lang.String style)
Set the output style for the report. |
void |
setShowLog(boolean l)
Set the flag to write the log to standard out. |
void |
setTargets(java.util.List t)
Set the targets flag. |
void |
setupLogger()
Configures the logger appropriately. |
void |
setVerbose(short v)
Set the verbosity level and above to include in the reporting. |
void |
showHelp()
Display VTool usage and help information |
void |
showProgress(java.net.URL file)
Prints out the current directory being validated and represents each file being validated by an asterisk. |
void |
showVersion()
Show the version and disclaimer notice for VTool. |
java.lang.String |
validateLabel(java.net.URL file,
Dictionary dict)
Validate a label file. |
void |
validateLabels(java.util.List targets,
Dictionary dict)
Validate labels found in the specified targets. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public VTool()
Method Detail |
---|
public void showVersion()
public void showHelp()
public void buildOpts()
public void parseLine(java.lang.String[] argv)
argv
- arguments given on the command-linepublic void queryCmdLine()
public boolean getAlias()
public void setAlias(boolean a)
a
- 'false' if aliasing should be turned off,
'true' otherwisepublic java.util.List getDictionaries()
public void setDictionaries(java.util.List d)
d
- a List object of dictionary filespublic boolean getFollowPtrs()
public void setFollowPtrs(boolean f)
f
- 'true' to follow, 'false' otherwisepublic boolean getForcePartial()
public void setForcePartial(boolean f)
f
- 'true' to enable, 'false' otherwisepublic java.util.List getIncludePaths()
public void setIncludePaths(java.util.List i)
Default is to always look first in the same directory as the label, then search specified directories.
i
- List of pathspublic java.util.List getNoDirs()
public void setNoDirs(java.util.List f)
f
- a text file containing a list of directories and/or directory
patterns to ignore during validation. The names must be listed one
name per line.public java.util.List getNoFiles()
public void setNoFiles(java.util.List f)
f
- a list of files/file patterns to ignore during validation.public java.io.File getLogFile()
public void setLogFile(java.io.File f)
f
- file name of the logpublic boolean getShowLog()
public void setShowLog(boolean l)
l
- public java.io.File getRptFile()
public void setRptFile(java.io.File f)
f
- file namepublic java.lang.String getRptStyle()
public void setRptStyle(java.lang.String style)
style
- 'sum' for a summary report, 'min' for a minimal report,
and 'full' for a full reportpublic boolean getProgress()
public void setProgress(boolean p)
p
- public java.util.List getRegexp()
public void setRegexp(java.util.List e)
e
- a List of patterns to be matched when searching for files to
validate in a directorypublic void setRecursive(boolean r)
r
- 'true' to recursively traverse down a directory and all its
sub-directories, 'false' otherwisepublic java.util.List getTargets()
public void setTargets(java.util.List t)
t
- a List of files, URLs, and/or directories to be validatedpublic short getVerbose()
public void setVerbose(short v)
v
- '1' for info, '2' for warnings, and '3' for errorspublic void readConfigFile(java.net.URL file)
Flags set on the command-line will override flags set in the configuration file
file
- a file containing keyword/value statementspublic void logRptHeader()
public void setupLogger()
If a log file was specified on the command-line, the log will be written to that file. If the log flag was specified with no file spec, then the log will be written to standard out. Otherwise, the log will be written to memory (ByteArrayOutputStream).
public Dictionary readDictionaries(java.util.List dictionary)
dictionary
- a list of dictionary URLs
public void validateLabels(java.util.List targets, Dictionary dict)
targets
- a list of files, directories, and/or URLsdict
- the dictionary filepublic int getExitStatus()
public FileList processTarget(java.lang.String target, boolean getSubDirs)
target
- The file or URL to processgetSubDirs
- 'True' to look for sub-directories, 'false' otherwise
public java.lang.String validateLabel(java.net.URL file, Dictionary dict)
file
- The URL of the file to be validateddict
- a Dictionary object needed for semantic validation. If null,
only syntactic validation will be performed.
public void showProgress(java.net.URL file)
file
- The URL being validatedpublic void doReporting(java.io.File log, java.io.File report, java.lang.String level, java.lang.String style)
log
- Where the xml log is located. If null, then the xml log
will be read from memory.report
- Where the human-readable report will be written to.
If null, then it goes to standard out.level
- The severity level to include in the report. Can be
"INFO", "WARNING", or "ERROR".style
- The reporting style to generate. Can be either "full",
"sum", or "min" for a full, summary, or minimal report, respectively.public void closehandle()
public static void main(java.lang.String[] argv)
The main calls the following methods (in this order):
To setup the flags and parse the command-line options:
To setup the logger and log the report header information:
To perform validation:
To create the final report:
Reporting is not generated if the log flag was specified with no file spec and the report file flag was not specified
VTool returns an appropriate exit status based on validation results.
In general, the following is returned:
argv
- Arguments passed on the command-line
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |