org.dbmaintain.script.repository
Class ScriptLocation

java.lang.Object
  extended by 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

Field Summary
protected  ScriptIndexes baseLineRevision
           
protected  boolean ignoreCarriageReturnsWhenCalculatingCheckSum
           
static 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.
protected  Set<Qualifier> patchQualifiers
           
protected  String postProcessingScriptDirName
           
protected  String qualifierRegexp
           
protected  Set<Qualifier> registeredQualifiers
           
protected  String scriptEncoding
           
protected  ScriptFactory scriptFactory
           
protected  Set<String> scriptFileExtensions
           
protected  String scriptIndexRegexp
           
protected  String scriptLocationName
           
protected  SortedSet<Script> scripts
           
protected  String targetDatabaseRegexp
           
 
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)
           
 
Method Summary
protected  void assertValidScriptExtensions()
          Asserts that the script extensions have the correct format
protected abstract  void assertValidScriptLocation(File scriptLocation)
          Asserts that the script root directory exists
protected  Set<Qualifier> createQualifiers(List<String> qualifierNames)
           
protected  Script createScript(String fileName, Long fileLastModifiedAt, ScriptContentHandle scriptContentHandle)
           
protected  ScriptFactory createScriptFactory()
           
protected  Properties getCustomProperties(File scriptLocation)
           
 String getLocationName()
           
 Set<Qualifier> getPatchQualifiers()
           
 String getPostProcessingScriptDirName()
           
 String getQualifierRegexp()
           
 Set<Qualifier> getRegisteredQualifiers()
           
 String getScriptEncoding()
           
 Set<String> getScriptFileExtensions()
           
 SortedSet<Script> getScripts()
           
 String getTargetDatabaseRegexp()
           
protected  boolean isScriptFileName(String fileName)
           
protected abstract  SortedSet<Script> loadScripts(File scriptLocation)
           
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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
Constructor Detail

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 null
scriptEncoding - Encoding used to read the contents of the script, not null
postProcessingScriptDirName - The directory name that contains post processing scripts, may be null
registeredQualifiers - the registered qualifiers, not null
scriptIndexRegexp - The regexp that identifies the version index in the filename, not null
qualifierRegexp - The regexp that identifies a qualifier in the filename, not null
targetDatabaseRegexp - The regexp that identifies the target database in the filename, not null
patchQualifiers - The qualifiers that indicate that this script is a patch script, not null
scriptFileExtensions - The script file extensions
baseLineRevision - The baseline revision. If set, all scripts with a lower revision will be ignored
ignoreCarriageReturnsWhenCalculatingCheckSum - 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)
Method Detail

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.