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.