|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.agimatec.dbmigrate.BaseMigrationTool
public abstract class BaseMigrationTool
Title: Agimatec GmbH
Description: Base class for Migration and Testcases. Provides infrastructure and common utilities.
development: 2007-2010
| Field Summary | |
|---|---|
protected DBVersionMeta |
dbVersionMeta
|
protected static org.apache.commons.logging.Log |
log
|
protected String |
migrateConfigFileName
|
protected JdbcDatabase |
targetDatabase
|
| Constructor Summary | |
|---|---|
BaseMigrationTool()
|
|
| Method Summary | |
|---|---|
protected boolean |
acceptDirectoryForSQLParser(File aDirectory)
overwrite in subclasses |
protected void |
applyEnvironment(JdbcConfig jdbcConfig)
ensure that the env-variables are used immediately to connect the database! |
protected Connection |
assertConnection()
|
void |
checkObjectsValid(String databaseType)
callback - invoke DatabaseSchemaChecker for invalid triggers, views, ... |
void |
checkSchemaComplete(String dev)
callback - invoke DatabaseSchemaChecker for completeness of schema (columns, tables, foreign keys, indices, ...) |
protected void |
commit()
|
void |
connectTargetDatabase()
|
void |
copyFiles(String configKey)
copy the files from source to target |
protected JdbcDatabase |
createDatabase(JdbcConfig databaseConfig)
|
void |
dbDump(String file)
callback - invoke dbunit example: "data.XML" |
void |
dbSetup(String files)
callback - invoke dbunit |
void |
disconnectDatabase()
|
void |
doGroovyScript(String scriptInvocation)
callback - invoke a groovy script |
void |
doMethodOperation(String methodName,
String methodParam)
|
void |
doSQLScript(String scriptName)
callback - parse the script and execute each SQL statement |
void |
doSQLScriptIgnoreErrors(String scriptName)
callback - parse the script and execute each SQL statement |
void |
execSQLScript(String scriptName)
execute the content of a file as a single SQL statement. |
protected Method |
findMethod(Class clazz,
String methodName,
int paramCount)
|
DBVersionMeta |
getDbVersionMeta()
|
Map |
getEnvironment()
a map for environment properties (JVM System-Properties overwrite these properties) (to be used to conditional execution of statements in SQL scripts) |
String[] |
getGroovyScriptsDirs()
|
protected String |
getJdbcConfigFile()
|
org.apache.commons.logging.Log |
getLog()
|
Config |
getMigrateConfig()
|
protected List |
getOperations(String name)
|
String |
getScriptsDir()
|
JdbcDatabase |
getTargetDatabase()
|
void |
halt(String message)
callback - |
protected void |
handleException(String msg,
Exception ex)
|
void |
invokeBean(String classMethod)
invoke a n-arg-method on a new instance of a class. |
protected void |
invokeBeanCallbacks(Object receiver)
|
protected void |
invokeClassMethod(boolean isStatic,
String classMethod)
|
void |
invokeStatic(String classMethod)
invoke a static n-arg-method on a class. |
protected boolean |
isFailOnError()
|
protected void |
iterateSQLScript(ScriptVisitor visitor,
String scriptName,
boolean failOnError)
iterate sql script. |
void |
log(Object obj)
|
protected void |
perform(List operations)
|
void |
print(Object obj)
|
protected void |
replaceProperties(Map env)
|
void |
rollback()
|
void |
setConfigRootUrl(String configRoot)
|
void |
setMigrateConfigFileName(String migrateConfigFileName)
|
void |
setScriptsDir(String scriptsDir)
|
void |
setTargetDatabase(JdbcDatabase targetDatabase)
|
void |
setUp()
|
protected void |
setupVersionMeta()
|
protected Object[] |
splitMethodArgs(String classMethod)
|
protected List<String> |
splitParams(String methodName)
|
protected int |
sqlExec(String sql)
|
protected SQLCursor |
sqlSelect(String sql)
utility method to exec a JDBC SELECT statement directly |
void |
tearDown()
|
void |
terminateTransactions()
|
void |
version(String dbVersion)
callback - update the version |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static final org.apache.commons.logging.Log log
protected JdbcDatabase targetDatabase
protected String migrateConfigFileName
protected final DBVersionMeta dbVersionMeta
| Constructor Detail |
|---|
public BaseMigrationTool()
| Method Detail |
|---|
public void setUp()
public void setConfigRootUrl(String configRoot)
protected void setupVersionMeta()
public void tearDown()
throws Exception
Exceptionpublic void halt(String message)
public void version(String dbVersion)
throws JdbcException
JdbcException
public void execSQLScript(String scriptName)
throws SQLException,
IOException
scriptName - - may contain properties,
but not supported are: -- #if conditions, reconnect, subscripts etc.
SQLException
IOException
public void doSQLScript(String scriptName)
throws IOException,
SQLException
IOException
SQLException
public void doSQLScriptIgnoreErrors(String scriptName)
throws Exception
Exception
public void checkObjectsValid(String databaseType)
throws Exception
Exception
public void checkSchemaComplete(String dev)
throws Exception
Exception
public void dbSetup(String files)
throws Exception
files - - comma-separated delete and insert DB-Unit script,
example: "delete_data.xml,data.XML"
example: "data.XML"
Exception
public void copyFiles(String configKey)
throws IOException
configKey - - key in the env, value is list of source_1, target_1, ... URLs
IOException
public void dbDump(String file)
throws Exception
Exception
public void invokeStatic(String classMethod)
throws Exception
Exception
public void invokeBean(String classMethod)
throws Exception
Exception
protected void invokeClassMethod(boolean isStatic,
String classMethod)
throws Exception
Exception
public void doGroovyScript(String scriptInvocation)
throws Exception
IOException
Exceptionprotected void invokeBeanCallbacks(Object receiver)
protected Method findMethod(Class clazz,
String methodName,
int paramCount)
protected Object[] splitMethodArgs(String classMethod)
protected List<String> splitParams(String methodName)
protected void iterateSQLScript(ScriptVisitor visitor,
String scriptName,
boolean failOnError)
throws IOException,
SQLException
IOException
SQLExceptionpublic DBVersionMeta getDbVersionMeta()
public Map getEnvironment()
getEnvironment in interface MigrationToolprotected void replaceProperties(Map env)
public JdbcDatabase getTargetDatabase()
getTargetDatabase in interface MigrationToolpublic Config getMigrateConfig()
public void setMigrateConfigFileName(String migrateConfigFileName)
protected List getOperations(String name)
public String getScriptsDir()
public String[] getGroovyScriptsDirs()
public void setScriptsDir(String scriptsDir)
protected void perform(List operations)
throws Exception
Exception
public void doMethodOperation(String methodName,
String methodParam)
throws Exception
Exceptionpublic void connectTargetDatabase()
protected void handleException(String msg,
Exception ex)
protected JdbcDatabase createDatabase(JdbcConfig databaseConfig)
protected void applyEnvironment(JdbcConfig jdbcConfig)
protected void commit()
protected String getJdbcConfigFile()
public void print(Object obj)
public void log(Object obj)
public org.apache.commons.logging.Log getLog()
public void rollback()
throws Exception
Exception
public void terminateTransactions()
throws Exception
Exception
public void disconnectDatabase()
throws Exception
Exceptionprotected boolean acceptDirectoryForSQLParser(File aDirectory)
protected SQLCursor sqlSelect(String sql)
throws SQLException
SQLException
protected Connection assertConnection()
throws JdbcException
JdbcException
protected int sqlExec(String sql)
throws SQLException
SQLExceptionpublic void setTargetDatabase(JdbcDatabase targetDatabase)
protected boolean isFailOnError()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||