org.dbmaintain.script.repository.impl
Class FileSystemScriptLocation
java.lang.Object
org.dbmaintain.script.repository.ScriptLocation
org.dbmaintain.script.repository.impl.FileSystemScriptLocation
public class FileSystemScriptLocation
- extends ScriptLocation
Script container that looks for scripts in a file system directory and its subdirectories. The
scripts directory can optionally contain config file ScriptLocation.LOCATION_PROPERTIES_FILENAME, that
defines all properties that are applicable to the script organization.
- Author:
- Filip Neven, Tim Ducheyne
| Fields inherited from class org.dbmaintain.script.repository.ScriptLocation |
baseLineRevision, ignoreCarriageReturnsWhenCalculatingCheckSum, LOCATION_PROPERTIES_FILENAME, patchQualifiers, postProcessingScriptDirName, qualifierRegexp, registeredQualifiers, scriptEncoding, scriptFactory, scriptFileExtensions, scriptIndexRegexp, scriptLocationName, scripts, targetDatabaseRegexp |
|
Constructor Summary |
FileSystemScriptLocation(File scriptLocation,
String defaultScriptEncoding,
String defaultPostProcessingScriptDirName,
Set<Qualifier> defaultRegisteredQualifiers,
Set<Qualifier> defaultPatchQualifiers,
String defaultScriptIndexRegexp,
String defaultQualifierRegexp,
String defaultTargetDatabaseRegexp,
Set<String> defaultScriptFileExtensions,
ScriptIndexes baseLineRevision,
boolean ignoreCarriageReturnsWhenCalculatingCheckSum)
Constructor for FileSystemScriptLocation. |
| Methods inherited from class org.dbmaintain.script.repository.ScriptLocation |
assertValidScriptExtensions, createQualifiers, createScript, createScriptFactory, getLocationName, getPatchQualifiers, getPostProcessingScriptDirName, getQualifierRegexp, getRegisteredQualifiers, getScriptEncoding, getScriptFileExtensions, getScripts, getTargetDatabaseRegexp, isScriptFileName, overrideValuesWithCustomConfiguration |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FileSystemScriptLocation
public FileSystemScriptLocation(File scriptLocation,
String defaultScriptEncoding,
String defaultPostProcessingScriptDirName,
Set<Qualifier> defaultRegisteredQualifiers,
Set<Qualifier> defaultPatchQualifiers,
String defaultScriptIndexRegexp,
String defaultQualifierRegexp,
String defaultTargetDatabaseRegexp,
Set<String> defaultScriptFileExtensions,
ScriptIndexes baseLineRevision,
boolean ignoreCarriageReturnsWhenCalculatingCheckSum)
- Constructor for FileSystemScriptLocation.
- Parameters:
scriptLocation - The file system directory that is the root of this script locationdefaultScriptEncoding - The default script encoding. Only used if not overridden in ScriptLocation.LOCATION_PROPERTIES_FILENAME.defaultPostProcessingScriptDirName - The default postprocessing script dir name. Only used if not overridden in ScriptLocation.LOCATION_PROPERTIES_FILENAME.defaultRegisteredQualifiers - The default registered qualifiersdefaultPatchQualifiers - The default qualfiers that indicate a patch file. Only used if not overridden in ScriptLocation.LOCATION_PROPERTIES_FILENAME.defaultScriptIndexRegexp - The default script index regexp. Only used if not overridden in ScriptLocation.LOCATION_PROPERTIES_FILENAME.defaultQualifierRegexp - The default qualifier regexp. Only used if not overridden in ScriptLocation.LOCATION_PROPERTIES_FILENAME.defaultTargetDatabaseRegexp - The default target database regexp. Only used if not overridden in ScriptLocation.LOCATION_PROPERTIES_FILENAME.defaultScriptFileExtensions - The default script extensions. Only used if not overridden in ScriptLocation.LOCATION_PROPERTIES_FILENAME.baseLineRevision - The baseline revision. If set, all scripts with a lower revision will be ignoredignoreCarriageReturnsWhenCalculatingCheckSum - If true, carriage return chars will be ignored when calculating check sums
assertValidScriptLocation
protected void assertValidScriptLocation(File scriptLocation)
- Asserts that the script root directory exists
- Specified by:
assertValidScriptLocation in class ScriptLocation
- Parameters:
scriptLocation - The location to validate, not null
getCustomProperties
protected Properties getCustomProperties(File scriptLocation)
- Overrides:
getCustomProperties in class ScriptLocation
- Returns:
- if a location properties file
ScriptLocation.LOCATION_PROPERTIES_FILENAME is available, a Properties
file with the properties from this file. Returns null if such a file is not available.
- Throws:
DbMaintainException - if the properties file is invalid
loadScripts
protected SortedSet<Script> loadScripts(File scriptLocation)
- Specified by:
loadScripts in class ScriptLocation
- Returns:
- all available scripts, loaded from the file system
getScriptsAt
protected void getScriptsAt(SortedSet<Script> scripts,
String scriptRoot,
String relativeLocation)
- Adds all scripts available in the given directory or one of its subdirectories to the given set of files. Recursively
invokes itself to handle subdirectories.
- Parameters:
scripts - aggregates the scripts found up until now during recursion.scriptRoot - the root script directoryrelativeLocation - the subdirectory in which we are now looking for scripts
createScript
protected Script createScript(File scriptFile,
String relativeScriptFileName)
- Creates a script object for the given script file
- Parameters:
scriptFile - the script file, not nullrelativeScriptFileName - the name of the script file relative to the root scripts dir, not null
- Returns:
- The script, not null
Copyright © 2011. All Rights Reserved.