com.agimatec.sql.meta.checking
Class DatabaseSchemaChecker

java.lang.Object
  extended by com.agimatec.sql.meta.checking.DatabaseSchemaChecker
Direct Known Subclasses:
OracleSchemaChecker, PostgresSchemaChecker

public abstract class DatabaseSchemaChecker
extends Object

Description:
User: roman.stumm
Date: 24.04.2007
Time: 14:58:47
Copyright: Agimatec GmbH


Field Summary
protected  JdbcDatabase database
           
protected static org.apache.commons.logging.Log logger
           
protected  List myFoundErrors
           
protected  Map unknownColumns
           
 
Constructor Summary
DatabaseSchemaChecker()
           
 
Method Summary
 void addUnmappedColumn(String tableName, String columnName)
          configuration - declare a column as not mapped in the database, so that it will not be treated as an error during assertSchemaComplete().
 void assertCatalogsComplete(CatalogDescription schemaConfig, CatalogDescription databaseConfig)
           
abstract  void assertObjectsValid()
          API - check for invalid objects in the database
protected  void assertTrue(String s, boolean b)
           
 void checkDatabaseSchema(URL[] scripts)
          API - check the database for compatibility with the given XML-DDL configuration.
protected  void compareForeignKeyDescription(TableDescription xmlTableDescription, TableDescription databaseTableDescription)
           
protected  void compareIndexDescription(TableDescription xmlTableDescription, TableDescription databaseTableDescription)
           
protected  void compareSingleIndexDescription(IndexDescription xmlIndexDescription, IndexDescription databaseIndexDescription)
           
static DatabaseSchemaChecker forDbms(String dbms)
           
 JdbcDatabase getDatabase()
           
protected abstract  DDLScriptSqlMetaFactory getDDLScriptSqlMetaFactory()
           
 Map getUnmappedColumns()
           
 Collection getUnmappedColumns(String tableName)
           
protected  void log(Object obj)
          log INFO or Exception
protected  void print(Object obj)
          log INFO and print to console
protected abstract  CatalogDescription readDatabaseCatalog(String[] tableNames)
           
 void setDatabase(JdbcDatabase aDatabase)
           
protected  void throwAssertions()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected static final org.apache.commons.logging.Log logger

myFoundErrors

protected final List myFoundErrors

database

protected JdbcDatabase database

unknownColumns

protected Map unknownColumns
Constructor Detail

DatabaseSchemaChecker

public DatabaseSchemaChecker()
Method Detail

forDbms

public static DatabaseSchemaChecker forDbms(String dbms)

getDatabase

public JdbcDatabase getDatabase()

setDatabase

public void setDatabase(JdbcDatabase aDatabase)

addUnmappedColumn

public void addUnmappedColumn(String tableName,
                              String columnName)
configuration - declare a column as not mapped in the database, so that it will not be treated as an error during assertSchemaComplete().

Parameters:
tableName -
columnName -

getUnmappedColumns

public Map getUnmappedColumns()
Returns:
a Map (read-write)

getUnmappedColumns

public Collection getUnmappedColumns(String tableName)
Parameters:
tableName -
Returns:
a collection (read-only)

throwAssertions

protected void throwAssertions()

assertObjectsValid

public abstract void assertObjectsValid()
                                 throws Exception
API - check for invalid objects in the database

Throws:
Exception

checkDatabaseSchema

public void checkDatabaseSchema(URL[] scripts)
                         throws Exception
API - check the database for compatibility with the given XML-DDL configuration. Additional add all DDL in the scripts to the schema.

Parameters:
scripts - - scripts for schema (Soll-Zustand) Der Ist-Zustand steht in der Datenbank und wird mit dem Soll-Zustand verglichen.
Throws:
Exception

getDDLScriptSqlMetaFactory

protected abstract DDLScriptSqlMetaFactory getDDLScriptSqlMetaFactory()

readDatabaseCatalog

protected abstract CatalogDescription readDatabaseCatalog(String[] tableNames)
                                                   throws SQLException,
                                                          IOException
Throws:
SQLException
IOException

assertCatalogsComplete

public void assertCatalogsComplete(CatalogDescription schemaConfig,
                                   CatalogDescription databaseConfig)

compareSingleIndexDescription

protected void compareSingleIndexDescription(IndexDescription xmlIndexDescription,
                                             IndexDescription databaseIndexDescription)

compareIndexDescription

protected void compareIndexDescription(TableDescription xmlTableDescription,
                                       TableDescription databaseTableDescription)

compareForeignKeyDescription

protected void compareForeignKeyDescription(TableDescription xmlTableDescription,
                                            TableDescription databaseTableDescription)

assertTrue

protected void assertTrue(String s,
                          boolean b)

print

protected void print(Object obj)
log INFO and print to console


log

protected void log(Object obj)
log INFO or Exception

Parameters:
obj -


Copyright © 2008-2012. All Rights Reserved.