|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgov.nasa.pds.vtool.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.vtool.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.vtool.flags.VToolFlags |
---|
ALIAS, FOLLOW, IGNOREDIR, IGNOREFILE, INCLUDES, LOCAL, LOG, PARTIAL, PROGRESS, REGEXP, RPTSTYLE, TARGET, VERBOSE, WHATIS_ALIAS, WHATIS_DICT, WHATIS_FOLLOW, WHATIS_IGNOREDIR, WHATIS_IGNOREFILE, WHATIS_INCLUDES, WHATIS_LOCAL, WHATIS_LOG, WHATIS_PARTIAL, WHATIS_PROGRESS, WHATIS_REGEXP, WHATIS_REPORT, WHATIS_RPTSTYLE, WHATIS_TARGET, WHATIS_VERBOSE |
Fields inherited from interface gov.nasa.pds.vtool.flags.ToolsFlags |
---|
ARGNAME, CONFIG, DICT, HELP, LONG, REPORT, SHORT, VERSION, WHATIS_CONFIG, WHATIS_HELP, WHATIS_VERSION |
Fields inherited from interface gov.nasa.pds.vtool.status.ExitStatusType |
---|
APPLICATION_ERROR, ERRORS_FOUND, SKIPPED_FILES, SUCCESS, SYSTEM_ERROR, WARNINGS_FOUND |
Fields inherited from interface gov.nasa.pds.vtool.license.ToolsLicense |
---|
LICENSE |
Constructor Summary | |
---|---|
VTool()
Default constructor. |
Method Summary | |
---|---|
static void |
main(String[] argv)
Implementation to perform automated PDS validation. |
org.apache.commons.cli.CommandLine |
parseLine(String[] argv)
Parses the VTool command-line. |
void |
printRptHeader()
Prints report header information such as version of the tool, execution time, and flag settings. |
void |
queryCmdLine(org.apache.commons.cli.CommandLine cmd)
Queries the VTool command-line. |
void |
readConfigFile(URL file)
Reads a configuration file to set the default behaviors for VTool. |
gov.nasa.pds.tools.dict.Dictionary |
readDictionaries(List dictionary)
Parse the dictionary files. |
void |
setAlias(boolean a)
Set aliasing flag. |
void |
setDictionaries(List<String> d)
Set the dictionary file names passed into VTool . |
void |
setdirsToSkip(List<String> d)
Set the flag to ignore specified directories. |
void |
setfilesToFind(List<String> e)
Set the patterns flag. |
void |
setfilesToSkip(List<String> f)
Set the flag to ignore specified files. |
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(List<String> i)
Set the paths to search for files referenced by pointers. |
void |
setLogFile(File f)
Set the file name for the machine-readable log. |
void |
setProgress(boolean p)
Set the progress reporting flag. |
void |
setRecursive(boolean r)
Set the recursive flag. |
void |
setRptFile(File f)
Set the file for the human-readable report. |
void |
setRptStyle(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(List<String> t)
Set the targets flag. |
void |
setupReport()
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(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. |
void |
validateLabel(URL url,
gov.nasa.pds.tools.dict.Dictionary dict)
Validate a label file. |
void |
validateLabels(List<Target> targets)
Validate labels, performing only syntactic validation. |
void |
validateLabels(List<Target> targets,
gov.nasa.pds.tools.dict.Dictionary dict)
Validate labels, performing both syntactic and semantic validation. |
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() throws IOException
IOException
public void showHelp()
public org.apache.commons.cli.CommandLine parseLine(String[] argv) throws ApplicationException
argv
- arguments given on the command-line
ApplicationException
public void queryCmdLine(org.apache.commons.cli.CommandLine cmd) throws ApplicationException, MalformedURLException, SystemException
ApplicationException
MalformedURLException
SystemException
public void setAlias(boolean a)
a
- 'false' if aliasing should be turned off,
'true' otherwisepublic void setDictionaries(List<String> d) throws ApplicationException
d
- a List object of dictionary files
ApplicationException
public void setFollowPtrs(boolean f)
f
- 'true' to follow, 'false' otherwisepublic void setForcePartial(boolean f)
f
- 'true' to enable, 'false' otherwisepublic void setIncludePaths(List<String> i)
Default is to always look first in the same directory as the label, then search specified directories.
i
- List of pathspublic void setdirsToSkip(List<String> d)
d
- 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 void setfilesToSkip(List<String> f)
f
- a list of files/file patterns to ignore during validation.public void setLogFile(File f)
f
- file name of the logpublic void setShowLog(boolean l)
l
- public void setRptFile(File f)
f
- file namepublic void setRptStyle(String style) throws ApplicationException
style
- 'sum' for a summary report, 'min' for a minimal report,
and 'full' for a full report
ApplicationException
public void setProgress(boolean p)
p
- public void setfilesToFind(List<String> 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 void setTargets(List<String> t)
t
- a List of files, URLs, and/or directories to be validatedpublic void setVerbose(short v) throws ApplicationException
v
- '1' for info, '2' for warnings, and '3' for errors
ApplicationException
public void readConfigFile(URL file) throws ApplicationException
Flags set on the command-line will override flags set in the configuration file
file
- a file containing keyword/value statements
ApplicationException
public void printRptHeader() throws SystemException, IOException
SystemException
IOException
public void setupReport() throws ApplicationException, SystemException
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).
SystemException
ApplicationException
public gov.nasa.pds.tools.dict.Dictionary readDictionaries(List dictionary) throws ApplicationException, URISyntaxException
dictionary
- a list of dictionary URLs
ApplicationException
URISyntaxException
public void validateLabels(List<Target> targets) throws Exception
targets
-
Exception
public void validateLabels(List<Target> targets, gov.nasa.pds.tools.dict.Dictionary dict) throws Exception
targets
- a list of files, directories, and/or URLs.dict
- the dictionary file.
Exception
public void validateLabel(URL url, gov.nasa.pds.tools.dict.Dictionary dict) throws ApplicationException, SystemException
url
- The URL of the file to be validateddict
- a Dictionary object needed for semantic validation. If null,
only syntactic validation will be performed.
ApplicationException
SystemException
public void showProgress(URL file) throws SystemException
file
- The URL being validated
SystemException
public static void main(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.
argv
- Arguments passed on the command-line
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |