public class DatabaseDefault extends Object implements IDatabase
IDatabase using cached prepared
statements, an ID manager to work with generated keys, a sequence provider to
enable sequence interactions and a column reader to recover column objects.| Modifier and Type | Field and Description |
|---|---|
protected IColumnReader |
columnReader
Recover object from a result set column to be compared against the
specification object.
|
protected MessageDigest |
digester
Message digester.
|
static String |
FEATURE_FILTER
Feature for comparison filter.
|
static String |
FEATURE_LIMIT
Feature for database error dump limit.
|
static String |
FEATURE_MD5_KEYS
Feature to use MD5 keys on cache.
|
protected IIdManager |
idManager
Manage object lookup and reuse.
|
protected List<IDatabaseListener> |
listeners
List of listeners.
|
protected Boolean |
md5Keys
Use tables MD5 as keys.
|
protected String |
name
Database name.
|
protected INullEmptyHandler |
nullEmptyHandler
A null/empty handler.
|
protected Boolean |
reuseScripts
Reuse script status.
|
protected ISequenceProvider |
sequenceProvider
Sequence next value generator.
|
protected ISqlWrapperFactory |
sqlWrapperFactory
Factory of SQLs.
|
protected IStatementFactory |
statementFactory
Factory of statements.
|
protected static ICache<String,String> |
xmlToSql
Cache of tables tables to scripts.
|
FEATURE_ID_MANAGER, FEATURE_LISTENERS, FEATURE_REUSE_SCRIPTS, FEATURE_SEQUENCE_PROVIDER, FEATURE_SQL_WRAPPER_FACTORY, FEATURE_STATEMENT_FACTORYFEATURE_NULL_EMPTY_HANDLERFEATURE_COLUMN_READER| Constructor and Description |
|---|
DatabaseDefault() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addMissingValues(EMode mode,
Table table,
IDataFilter afilter,
IRegister register,
Map<String,Value> filled,
Map<String,CellAdapter> missing)
Add missing values to insert value set.
|
protected void |
compareRegister(IContext context,
IResultSet result,
Connection connection,
IRegister register,
Map<String,Integer> namesToIndexes,
ResultSet rs)
Compare register with current result set item.
|
void |
destroy() |
protected String |
dumpRs(String prefix,
ResultSet rs)
Dump result set.
|
protected void |
fireInitialize()
Fire initialize event.
|
protected void |
fireRegisterIn(DatabaseRegisterEvent event)
Fire register in event.
|
protected void |
fireRegisterOut(DatabaseRegisterEvent event)
Fire register out event.
|
protected void |
fireTableIn(DatabaseTableEvent event)
Fire table in event.
|
protected void |
fireTableOut(DatabaseTableEvent event)
Fire table out event.
|
protected String |
getAdjustContent(IContext context,
EMode mode,
CommandType command,
Column column,
IDataFilter afilter,
INodeHolder nh)
Get the string value of a node holder, and adjust text if required.
|
IColumnReader |
getColumnReader()
Get current column reader.
|
String |
getFilter()
Get the filter name.
|
protected IDataFilter |
getFilter(IContext context,
EMode mode,
Schema schema)
Recover filter from context.
|
IIdManager |
getIdManager()
Get the id manager.
|
Integer |
getLimit()
Get the error dump limit.
|
List<IDatabaseListener> |
getListeners()
Get listeners.
|
Boolean |
getMd5Keys()
Check if MD5 keys are enabled.
|
String |
getName()
Get database name.
|
INullEmptyHandler |
getNullEmptyHandler()
Get the null/empty handler.
|
Object |
getObject() |
Boolean |
getReuseScripts()
Get reuse status.
|
ISequenceProvider |
getSequenceProvider()
Get the sequence values provider.
|
ISqlWrapperFactory |
getSqlWrapperFactory()
Get the SQL wrapper factory.
|
IStatementFactory |
getStatementFactory()
Get statement factory.
|
protected Value |
getValue(IContext context,
EMode mode,
CommandType command,
Column column,
IDataFilter afilter,
CellAdapter td,
String content)
Get value object for a given cell.
|
void |
initialize() |
void |
perform(IContext context,
IResultSet result,
TableAdapter adapter,
Connection connection,
Schema schema,
EMode mode)
Perform some actions in a database.
|
protected void |
performDelete(IContext context,
IResultSet result,
Connection connection,
Table table,
IRegister register,
int expectedCount)
Perform database deletes.
|
protected void |
performIn(IContext context,
IResultSet result,
Connection connection,
SqlWrapper wrapper,
Table table,
IRegister register)
Perform database commands.
|
protected void |
performInsert(IContext context,
IResultSet result,
Connection connection,
EMode mode,
Table table,
IDataFilter afilter,
IRegister register,
Map<String,Value> filled,
Map<String,CellAdapter> missing)
Perform database inserts.
|
protected void |
performOut(IContext context,
IResultSet result,
Connection connection,
SqlWrapper wrapper,
Table table,
IRegister register)
Perform database selects.
|
protected void |
performSelect(IContext context,
IResultSet result,
Connection connection,
Table table,
CommandType command,
IRegister register,
int expectedCount)
Perform database select verifications.
|
protected void |
performUpdate(IContext context,
IResultSet result,
Connection connection,
Table table,
IRegister register,
int expectedCount)
Perform database updates.
|
protected Map<Integer,Object> |
prepareInputValues(IContext context,
Table table,
IRegister register,
Map<String,Integer> namesToIndexes)
Prepare values to use in insert/update/delete.
|
protected Map<Integer,Object> |
prepareSelectValues(IContext context,
Connection connection,
IRegister register,
Map<String,Integer> namesToIndexes)
Prepare values to use in select.
|
protected void |
processTable(IContext context,
IResultSet result,
TableAdapter adapter,
Connection connection,
EMode mode,
IDataFilter afilter,
Table table)
Process a data table.
|
protected void |
readHeadersColumns(IContext context,
EMode mode,
Table table,
List<CellAdapter> headers,
Column[] columns,
IDataFilter afilter)
Read headers information.
|
void |
release()
Release database resources.
|
void |
setColumnReader(IColumnReader columnReader)
Set a column reader.
|
void |
setFilter(String filter)
Set the filter name.
|
void |
setIdManager(IIdManager idManager)
Set the manager.
|
void |
setLimit(Integer limit)
Set error limit.
|
void |
setListeners(List<IDatabaseListener> listeners)
Set database listeners.
|
void |
setMd5Keys(Boolean md5Keys)
Set MD5 flag.
|
void |
setName(String name)
Set database name.
|
void |
setNullEmptyHandler(INullEmptyHandler nullEmptyHandler) |
void |
setReuseScripts(Boolean reuseScripts)
Flag to set reuse scripts status.
|
void |
setSequenceProvider(ISequenceProvider sequenceProvider)
Set the sequence provider.
|
void |
setSqlWrapperFactory(ISqlWrapperFactory sqlWrapperFactory)
Set SQL wrapper.
|
void |
setStatementFactory(IStatementFactory statementFactory)
Set statement factory.
|
protected void |
shortView(CellAdapter cell,
Object expected,
String expStr,
String recStr)
Create an error information to append to a cell.
|
protected Object |
value(Column c,
Object exp)
Recover better representation for a value.
|
public static final String FEATURE_FILTER
protected INullEmptyHandler nullEmptyHandler
protected ISequenceProvider sequenceProvider
protected IColumnReader columnReader
protected ISqlWrapperFactory sqlWrapperFactory
protected IStatementFactory statementFactory
protected IIdManager idManager
protected List<IDatabaseListener> listeners
protected Boolean reuseScripts
protected String name
public static final String FEATURE_MD5_KEYS
protected Boolean md5Keys
protected MessageDigest digester
public static final String FEATURE_LIMIT
public void initialize()
initialize in interface IResetablepublic String getFilter()
public void setFilter(String filter)
filter - Name.public INullEmptyHandler getNullEmptyHandler()
public void setNullEmptyHandler(INullEmptyHandler nullEmptyHandler)
setNullEmptyHandler in interface INullEmptyFeaturepublic ISequenceProvider getSequenceProvider()
public void setSequenceProvider(ISequenceProvider sequenceProvider)
IDatabasesetSequenceProvider in interface IDatabasesequenceProvider - A provider.public IColumnReader getColumnReader()
public void setColumnReader(IColumnReader columnReader)
IDatabaseReadersetColumnReader in interface IDatabaseReadercolumnReader - A reader.public ISqlWrapperFactory getSqlWrapperFactory()
public void setSqlWrapperFactory(ISqlWrapperFactory sqlWrapperFactory)
IDatabasesetSqlWrapperFactory in interface IDatabasesqlWrapperFactory - A factory.public IStatementFactory getStatementFactory()
public void setStatementFactory(IStatementFactory statementFactory)
IDatabasesetStatementFactory in interface IDatabasestatementFactory - A factory.public IIdManager getIdManager()
public void setIdManager(IIdManager idManager)
IDatabasesetIdManager in interface IDatabaseidManager - The manager.public List<IDatabaseListener> getListeners()
public void setListeners(List<IDatabaseListener> listeners)
IDatabasesetListeners in interface IDatabaselisteners - A list of listeners.public Boolean getReuseScripts()
public void setReuseScripts(Boolean reuseScripts)
IDatabasesetReuseScripts in interface IDatabasereuseScripts - Reuse scripts flag.public void setName(String name)
IDatabasepublic Boolean getMd5Keys()
public void setMd5Keys(Boolean md5Keys)
md5Keys - true, for MD5 keys, false, otherwise.public Integer getLimit()
public void setLimit(Integer limit)
limit - The limit.protected void fireInitialize()
protected void fireTableIn(DatabaseTableEvent event) throws DatabaseException
event - Event.DatabaseException - On processing errors.protected void fireRegisterIn(DatabaseRegisterEvent event) throws DatabaseException
event - Event.DatabaseException - On processing errors.protected void fireRegisterOut(DatabaseRegisterEvent event) throws DatabaseException
event - Event.DatabaseException - On processing errors.protected void fireTableOut(DatabaseTableEvent event) throws DatabaseException
event - Event.DatabaseException - On processing errors.public void perform(IContext context, IResultSet result, TableAdapter adapter, Connection connection, Schema schema, EMode mode) throws DatabaseException
IDatabaseperform in interface IDatabasecontext - The test context.result - The result set.adapter - The specification table.connection - The connection.schema - The database meta model.mode - The database mode (in - actions|out - asserts)DatabaseException - On perform errors.protected void processTable(IContext context, IResultSet result, TableAdapter adapter, Connection connection, EMode mode, IDataFilter afilter, Table table) throws DatabaseException
context - A context.result - A result.adapter - A table adapter.connection - A connection.mode - A mode.afilter - A filter.table - A schema table.DatabaseException - On processing errors.protected IDataFilter getFilter(IContext context, EMode mode, Schema schema) throws DatabaseException
context - A context.mode - Database mode of action.schema - A schema.DatabaseException - On lookup errors.protected void readHeadersColumns(IContext context, EMode mode, Table table, List<CellAdapter> headers, Column[] columns, IDataFilter afilter) throws DatabaseException
context - The test context.mode - Database mode of action.table - The current table.headers - The headers list.columns - The columns list.afilter - A filter.DatabaseException - On reading errors.protected String getAdjustContent(IContext context, EMode mode, CommandType command, Column column, IDataFilter afilter, INodeHolder nh) throws DatabaseException
context - The context.mode - The database mode.command - Current line command.column - The column definition.afilter - A filter.nh - A node holder.DatabaseException - On evaluation errors.protected Value getValue(IContext context, EMode mode, CommandType command, Column column, IDataFilter afilter, CellAdapter td, String content) throws ConverterException, DatabaseException, FormatterException
context - A context.mode - Action mode.command - Command type.column - Column meta-data.afilter - A filter.td - The cell.content - Cell content.ConverterException - On conversion errors.DatabaseException - On default value.FormatterException - On format errors.protected void performInsert(IContext context, IResultSet result, Connection connection, EMode mode, Table table, IDataFilter afilter, IRegister register, Map<String,Value> filled, Map<String,CellAdapter> missing) throws DatabaseException, SQLException
context - The context.result - The result set.connection - The connection.mode - Database mode of action.table - The specification.afilter - A filter.register - The values.filled - Filled fields.missing - Unfilled columns.DatabaseException - On database errors.SQLException - On SQL errors.protected void addMissingValues(EMode mode, Table table, IDataFilter afilter, IRegister register, Map<String,Value> filled, Map<String,CellAdapter> missing) throws DatabaseException
mode - Database mode of action.table - The table.afilter - A filter.register - The set of values.filled - A map of filled fields.missing - A map of unfilled fields.DatabaseException - On default value construction error.protected void performUpdate(IContext context, IResultSet result, Connection connection, Table table, IRegister register, int expectedCount) throws DatabaseException, SQLException
context - The context.result - The result set.connection - The connection.table - The specification.register - The values.expectedCount - The expected action counter.DatabaseException - On database errors.SQLException - On SQL errors.protected void performDelete(IContext context, IResultSet result, Connection connection, Table table, IRegister register, int expectedCount) throws DatabaseException, SQLException
context - The context.result - The result set.connection - The connection.table - The specification.register - The values.expectedCount - The delete expected count.DatabaseException - On database errors.SQLException - On SQL errors.protected void performIn(IContext context, IResultSet result, Connection connection, SqlWrapper wrapper, Table table, IRegister register) throws DatabaseException, SQLException
context - The context.result - The result set.connection - The connection.wrapper - The SQL wrapper.table - The target table.register - The values.DatabaseException - On database errors.SQLException - On SQL errors.protected Map<Integer,Object> prepareInputValues(IContext context, Table table, IRegister register, Map<String,Integer> namesToIndexes) throws DatabaseException
context - The test alias.table - A table.register - A register.namesToIndexes - Map from indexes to values.DatabaseException - On prepare errors.protected void performSelect(IContext context, IResultSet result, Connection connection, Table table, CommandType command, IRegister register, int expectedCount) throws DatabaseException, SQLException
context - The context.result - The result set.connection - The connection.table - The specification.command - Command type.register - The values.expectedCount - The select expected count.DatabaseException - On database errors.SQLException - On SQL errors.protected void performOut(IContext context, IResultSet result, Connection connection, SqlWrapper wrapper, Table table, IRegister register) throws DatabaseException, SQLException
context - The context.result - The result set.connection - The connection.wrapper - The SQL wrapper.table - The output table.register - The values.DatabaseException - On database errors.SQLException - On SQL errors.protected Map<Integer,Object> prepareSelectValues(IContext context, Connection connection, IRegister register, Map<String,Integer> namesToIndexes) throws DatabaseException, SQLException
connection - A connection.register - A register.namesToIndexes - Map from indexes to values.DatabaseException - On prepare errors.SQLException - On database errors.protected void compareRegister(IContext context, IResultSet result, Connection connection, IRegister register, Map<String,Integer> namesToIndexes, ResultSet rs) throws DatabaseException, SQLException
context - The test context.result - The result.connection - The connection.register - The register.namesToIndexes - A mapping from column names to indexes.rs - A result.DatabaseException - On compare errors.SQLException - On database errors.protected Object value(Column c, Object exp)
c - A column.exp - A value.protected void shortView(CellAdapter cell, Object expected, String expStr, String recStr)
cell - A cell.expected - Expected object.expStr - Expected as string.recStr - Received as string.protected String dumpRs(String prefix, ResultSet rs) throws SQLException
prefix - The message prefix.rs - The result set.SQLException - On reading errors.public void release()
throws PluginException
IDatabaserelease in interface IDatabasePluginException - On release errors.public Object getObject()
getObject in interface IDestructablepublic void destroy()
destroy in interface IDestructableCopyright © 2017. All rights reserved.