org.dbmaintain.script.repository
Class ScriptLocation
java.lang.Object
org.dbmaintain.script.repository.ScriptLocation
- Direct Known Subclasses:
- ArchiveScriptLocation, FileSystemScriptLocation
public abstract class ScriptLocation
- extends Object
- Since:
- 24-dec-2008
- Author:
- Filip Neven, Tim Ducheyne
Constructor Summary |
protected |
ScriptLocation(File scriptLocation,
String defaultScriptEncoding,
String defaultPostProcessingScriptDirName,
Set<Qualifier> defaultRegisteredQualifiers,
Set<Qualifier> defaultPatchQualifiers,
String defaultScriptIndexRegexp,
String defaultQualifierRegexp,
String defaultTargetDatabaseRegexp,
Set<String> defaultScriptFileExtensions,
ScriptIndexes defaultBaseLineRevision,
boolean ignoreCarriageReturnsWhenCalculatingCheckSum)
|
protected |
ScriptLocation(SortedSet<Script> scripts,
String scriptEncoding,
String postProcessingScriptDirName,
Set<Qualifier> registeredQualifiers,
Set<Qualifier> patchQualifiers,
String scriptIndexRegexp,
String qualifierRegexp,
String targetDatabaseRegexp,
Set<String> scriptFileExtensions,
ScriptIndexes baseLineRevision,
boolean ignoreCarriageReturnsWhenCalculatingCheckSum)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LOCATION_PROPERTIES_FILENAME
public static final String LOCATION_PROPERTIES_FILENAME
- Name of the properties file that is packaged with the jar, that contains information about how
the scripts in the jar file are structured.
- See Also:
- Constant Field Values
scripts
protected SortedSet<Script> scripts
scriptEncoding
protected String scriptEncoding
postProcessingScriptDirName
protected String postProcessingScriptDirName
registeredQualifiers
protected Set<Qualifier> registeredQualifiers
patchQualifiers
protected Set<Qualifier> patchQualifiers
scriptIndexRegexp
protected String scriptIndexRegexp
qualifierRegexp
protected String qualifierRegexp
targetDatabaseRegexp
protected String targetDatabaseRegexp
scriptFileExtensions
protected Set<String> scriptFileExtensions
scriptLocationName
protected String scriptLocationName
baseLineRevision
protected ScriptIndexes baseLineRevision
ignoreCarriageReturnsWhenCalculatingCheckSum
protected boolean ignoreCarriageReturnsWhenCalculatingCheckSum
scriptFactory
protected ScriptFactory scriptFactory
ScriptLocation
protected ScriptLocation(SortedSet<Script> scripts,
String scriptEncoding,
String postProcessingScriptDirName,
Set<Qualifier> registeredQualifiers,
Set<Qualifier> patchQualifiers,
String scriptIndexRegexp,
String qualifierRegexp,
String targetDatabaseRegexp,
Set<String> scriptFileExtensions,
ScriptIndexes baseLineRevision,
boolean ignoreCarriageReturnsWhenCalculatingCheckSum)
- Parameters:
scripts
- The scripts contained in the container, not nullscriptEncoding
- Encoding used to read the contents of the script, not nullpostProcessingScriptDirName
- The directory name that contains post processing scripts, may be nullregisteredQualifiers
- the registered qualifiers, not nullscriptIndexRegexp
- The regexp that identifies the version index in the filename, not nullqualifierRegexp
- The regexp that identifies a qualifier in the filename, not nulltargetDatabaseRegexp
- The regexp that identifies the target database in the filename, not nullpatchQualifiers
- The qualifiers that indicate that this script is a patch script, not nullscriptFileExtensions
- The script file extensionsbaseLineRevision
- 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
ScriptLocation
protected ScriptLocation(File scriptLocation,
String defaultScriptEncoding,
String defaultPostProcessingScriptDirName,
Set<Qualifier> defaultRegisteredQualifiers,
Set<Qualifier> defaultPatchQualifiers,
String defaultScriptIndexRegexp,
String defaultQualifierRegexp,
String defaultTargetDatabaseRegexp,
Set<String> defaultScriptFileExtensions,
ScriptIndexes defaultBaseLineRevision,
boolean ignoreCarriageReturnsWhenCalculatingCheckSum)
loadScripts
protected abstract SortedSet<Script> loadScripts(File scriptLocation)
getCustomProperties
protected Properties getCustomProperties(File scriptLocation)
assertValidScriptLocation
protected abstract void assertValidScriptLocation(File scriptLocation)
- Asserts that the script root directory exists
- Parameters:
scriptLocation
- The location to validate, not null
getLocationName
public String getLocationName()
- Returns:
- A description of the location, for logging purposes
getScriptEncoding
public String getScriptEncoding()
getPostProcessingScriptDirName
public String getPostProcessingScriptDirName()
getRegisteredQualifiers
public Set<Qualifier> getRegisteredQualifiers()
getPatchQualifiers
public Set<Qualifier> getPatchQualifiers()
getQualifierRegexp
public String getQualifierRegexp()
getTargetDatabaseRegexp
public String getTargetDatabaseRegexp()
getScriptFileExtensions
public Set<String> getScriptFileExtensions()
getScripts
public SortedSet<Script> getScripts()
- Returns:
- The scripts from this location as a sorted set
overrideValuesWithCustomConfiguration
protected void overrideValuesWithCustomConfiguration(Properties customProperties)
- Initializes all fields of the script location using the given properties, and default values for each of the fields
which are used if not available in the properties.
- Parameters:
customProperties
- extra db-maintain config, not null
assertValidScriptExtensions
protected void assertValidScriptExtensions()
- Asserts that the script extensions have the correct format
isScriptFileName
protected boolean isScriptFileName(String fileName)
- Parameters:
fileName
- The file, not null
- Returns:
- True if the given file is a database script, according to the configured script file extensions
createQualifiers
protected Set<Qualifier> createQualifiers(List<String> qualifierNames)
createScriptFactory
protected ScriptFactory createScriptFactory()
createScript
protected Script createScript(String fileName,
Long fileLastModifiedAt,
ScriptContentHandle scriptContentHandle)
Copyright © 2011. All Rights Reserved.