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