public class Subsetter
extends java.lang.Object
| Constructor and Description |
|---|
Subsetter()
Default constructor.
|
Subsetter(javax.sql.DataSource dataSource,
DBMS dbms,
java.io.File dataModel,
java.io.File extractionModel,
ScriptFormat scriptFormat)
Creates a new Subsetter with all mandatory attributes.
|
Subsetter(javax.sql.DataSource dataSource,
DBMS dbms,
java.net.URL dataModel,
java.net.URL extractionModel,
ScriptFormat scriptFormat)
Creates a new Subsetter with all mandatory attributes.
|
Subsetter(Subsetter other)
Copy constructor.
|
| Modifier and Type | Method and Description |
|---|---|
ExportStatistic |
execute(java.lang.String whereClause,
java.io.File exportScriptFile)
Generates the export-script.
|
ExportStatistic |
execute(java.lang.String whereClause,
java.io.File exportScriptFile,
java.io.File deleteScriptFile)
Generates the export- and/or delete-script.
|
java.net.URL |
getDataModelURL()
Gets URL of the current data model (the datamodel's base folder)
|
javax.sql.DataSource |
getDataSource()
Gets the data-source to connect with the database.
|
DBMS |
getDbms()
Gets the DBMS of the database.
|
ExecutionContext |
getExecutionContext()
Gets the
ExecutionContext. |
java.net.URL |
getExtractionModelURL()
Gets the URL of the extraction model.
|
java.lang.String |
getImportFilterMappingTableSchema()
Gets schema in which the import-filter mapping tables will be created
|
java.lang.Integer |
getIsolationLevel()
Gets IsolationLevel.
|
int |
getModelPoolSize() |
boolean |
getNoRowid()
If
true, Use primary keys to determine row identity (instead
of rowid-column) |
boolean |
getNoSorting()
If
true, The exported rows will not be sorted according to
foreign key constraints |
int |
getNumberOfEntities()
Gets maximum number of entities per insert-statement (in export-file,
default is 10)
|
int |
getNumberOfThreads()
Gets number of parallel threads (default is 1) to be used.
|
java.util.Map<java.lang.String,java.lang.String> |
getParameters()
Gets parameters.
|
java.util.Map<java.lang.String,java.lang.String> |
getSchemaMapping()
Gets schema map for destination database.
|
WorkingTableScope |
getScope()
Gets scope of working tables, GLOBAL, SESSION_LOCAL or LOCAL_DATABASE
Default is GLOBAL. |
ScriptFormat |
getScriptFormat()
Gets the script format.
|
java.util.Map<java.lang.String,java.lang.String> |
getSourceSchemaMapping()
Gets schema map for source database.
|
DBMS |
getTargetDBMS()
Gets target-DBMS.
|
boolean |
getTransactional()
If
true, export rows in a single transaction. |
boolean |
getUpsertOnly()
If
true, Generate 'upsert'-statements for all entities (in
export-file) |
boolean |
getUTF8()
If
true, Use uTF-8 encoding |
java.lang.String |
getWorkingTableSchema()
Gets schema in which the working tables will be created
|
java.lang.String |
getXmlDatePattern()
Gets pattern for dates in XML and LIQUIBASE_XML export file
|
java.lang.String |
getXmlRootTag()
Gets root tag of XML export file
|
java.lang.String |
getXmlTimePattern()
Gets pattern for times in XML and LIQUIBASE_XML export file
|
java.lang.String |
getXmlTimeStampPattern()
Gets pattern for time-stamps in XML and LIQUIBASE_XML export file
|
boolean |
isAbortInCaseOfInconsistency()
If
true, the Subsetter throws an |
void |
setAbortInCaseOfInconsistency(boolean abortInCaseOfInconsitency) |
void |
setDataModelBaseFolder(java.io.File datamodelBaseFolder)
Sets the current data model as
File |
void |
setDataModelURL(java.net.URL datamodelURL)
Sets URL of the current data model (the datamodel's base folder)
|
void |
setDataSource(javax.sql.DataSource dataSource)
Sets the data-source to connect with the database.
|
void |
setDbms(DBMS dbms)
Sets the DBMS of the database.
|
void |
setExtractionModelURL(java.net.URL extractionModelURL)
Sets the URL of the extraction model.
|
void |
setImportFilterMappingTableSchema(java.lang.String importFilterMappingTableSchema)
Sets schema in which the import-filter mapping tables will be created
|
void |
setIsolationLevel(java.lang.Integer isolationLevel)
Sets IsolationLevel.
|
void |
setModelPoolSize(int modelPoolSize) |
void |
setNoRowid(boolean noRowid)
If
true, Use primary keys to determine row identity (instead
of rowid-column) |
void |
setNoSorting(boolean noSorting)
If
true, The exported rows will not be sorted according to
foreign key constraints |
void |
setNumberOfEntities(int numberOfEntities)
Sets maximum number of entities per insert-statement (in export-file,
default is 10)
|
void |
setNumberOfThreads(int numberOfThreads)
Sets number of parallel threads (default is 1) to be used
|
void |
setParameter(java.lang.String name,
java.lang.String value)
Sets a parameter.
|
void |
setSchemaMapping(java.util.Map<java.lang.String,java.lang.String> schemaMapping)
Sets schema map for destination database.
|
void |
setScope(WorkingTableScope scope)
Sets scope of working tables, GLOBAL, SESSION_LOCAL or LOCAL_DATABASE
|
void |
setScriptFormat(ScriptFormat scriptFormat)
Sets the script format.
|
void |
setSourceSchemaMapping(java.util.Map<java.lang.String,java.lang.String> sourceSchemaMapping)
Sets schema map for source database.
|
void |
setTargetDBMS(DBMS targetDBMS)
Sets target-DBMS.
|
void |
setTransactional(boolean transactional)
If
true, export rows in a single transaction. |
void |
setUpsertOnly(boolean upsertOnly)
If
true, Generate 'upsert'-statements for all entities (in
export-file) |
void |
setUTF8(boolean uTF8)
If
true, use UTF-8 encoding |
void |
setWorkingTableSchema(java.lang.String workingTableSchema)
Sets schema in which the working tables will be created
|
void |
setXmlDatePattern(java.lang.String xmlDatePattern)
Sets pattern for dates in XML and LIQUIBASE_XML export file
|
void |
setXmlRootTag(java.lang.String xmlRootTag)
Sets root tag of XML export file
|
void |
setXmlTimePattern(java.lang.String xmlTimePattern)
Sets pattern for times in XML and LIQUIBASE_XML export file
|
void |
setXmlTimeStampPattern(java.lang.String xmlTimeStampPattern)
Sets pattern for time-stamps in XML and LIQUIBASE_XML export file
|
public Subsetter()
public Subsetter(Subsetter other)
public Subsetter(javax.sql.DataSource dataSource,
DBMS dbms,
java.net.URL dataModel,
java.net.URL extractionModel,
ScriptFormat scriptFormat)
dataSource - the data-source to connect with the source databasedbms - the DBMS of the source databasedataModel - URL of the current data model (the datamodel's base folder)extractionModel - URL of the extraction modelscriptFormat - script formatpublic Subsetter(javax.sql.DataSource dataSource,
DBMS dbms,
java.io.File dataModel,
java.io.File extractionModel,
ScriptFormat scriptFormat)
dataSource - the data-source to connect with the source databasedbms - the DBMS of the source databasedataModel - the current data model (the datamodel's base folder)extractionModel - the extraction modelscriptFormat - script formatpublic ExportStatistic execute(java.lang.String whereClause, java.io.File exportScriptFile) throws java.sql.SQLException, java.io.IOException
whereClause - if not null, overrides the extraction model's subject conditionexportScriptFile - the export-script file (compressed if it ends with '.zip' or '.gz')InconsistentSubsettingResultException - if ExecutionContext.isAbortInCaseOfInconsistency() and the number of exported rows differs from that of the collected onesjava.sql.SQLExceptionjava.io.IOExceptionpublic ExportStatistic execute(java.lang.String whereClause, java.io.File exportScriptFile, java.io.File deleteScriptFile) throws java.sql.SQLException, java.io.IOException
whereClause - if not null, overrides the extraction model's subject conditionexportScriptFile - the export-script file (compressed if it ends with '.zip' or '.gz'), optionaldeleteScriptFile - the delete-script file (compressed if it ends with '.zip' or '.gz'), optionalInconsistentSubsettingResultException - if ExecutionContext.isAbortInCaseOfInconsistency() and the number of exported rows differs from that of the collected onesjava.sql.SQLExceptionjava.io.IOExceptionpublic javax.sql.DataSource getDataSource()
public void setDataSource(javax.sql.DataSource dataSource)
dataSource - the data-source to connect with the databasepublic DBMS getDbms()
public void setDbms(DBMS dbms)
BasicDataSource is used.dbms - the DBMSpublic java.net.URL getDataModelURL()
public void setDataModelURL(java.net.URL datamodelURL)
public void setDataModelBaseFolder(java.io.File datamodelBaseFolder)
FiledatamodelBaseFolder - represents the folder. Will be converted to an URL an set as datamodel URLsetDataModelURL(URL)public java.net.URL getExtractionModelURL()
public void setExtractionModelURL(java.net.URL extractionModelURL)
extractionModelURL - the URL of the extraction modelpublic ScriptFormat getScriptFormat()
public void setScriptFormat(ScriptFormat scriptFormat)
public boolean getUTF8()
true, Use uTF-8 encodingtrue if use UTF-8 encodingpublic void setUTF8(boolean uTF8)
true, use UTF-8 encodinguTF8 - true if use UTF-8 encodingpublic DBMS getTargetDBMS()
public void setTargetDBMS(DBMS targetDBMS)
targetDBMS - target-DBMS. If it's null, target DBMS is assumed to be the same as getDbms()public java.lang.String getXmlRootTag()
public void setXmlRootTag(java.lang.String xmlRootTag)
xmlRootTag - root tag of XML export filepublic java.lang.String getXmlDatePattern()
public void setXmlDatePattern(java.lang.String xmlDatePattern)
xmlDatePattern - pattern for dates in XML and LIQUIBASE_XML export filepublic java.lang.String getXmlTimePattern()
public void setXmlTimePattern(java.lang.String xmlTimePattern)
xmlTimePattern - pattern for times in XML and LIQUIBASE_XML export filepublic java.lang.String getXmlTimeStampPattern()
public void setXmlTimeStampPattern(java.lang.String xmlTimeStampPattern)
xmlTimeStampPattern - pattern for time-stamps in XML and LIQUIBASE_XML export filepublic int getNumberOfThreads()
public void setNumberOfThreads(int numberOfThreads)
numberOfThreads - number of threadspublic boolean getTransactional()
true, export rows in a single transaction. (default is false)true if Import rows in a single transactionpublic void setTransactional(boolean transactional)
true, export rows in a single transaction. (default is false)transactional - true if import rows in a single transactionpublic java.lang.Integer getIsolationLevel()
Connection.setTransactionIsolation(int)public void setIsolationLevel(java.lang.Integer isolationLevel)
Connection.setTransactionIsolation(int)public int getNumberOfEntities()
public void setNumberOfEntities(int numberOfEntities)
numberOfEntities - maximum number of entities per insert-statement (in
export-file, default is 10)public boolean getUpsertOnly()
true, Generate 'upsert'-statements for all entities (in
export-file)true if Generate 'upsert'-statements for all
entities (in export-file)public void setUpsertOnly(boolean upsertOnly)
true, Generate 'upsert'-statements for all entities (in
export-file)upsertOnly - true if Generate 'upsert'-statements for all
entities (in export-file)public WorkingTableScope getScope()
public void setScope(WorkingTableScope scope)
scope - scope of working tables, GLOBAL, SESSION_LOCAL or
LOCAL_DATABASEpublic java.lang.String getWorkingTableSchema()
public void setWorkingTableSchema(java.lang.String workingTableSchema)
workingTableSchema - schema in which the working tables will be createdpublic boolean getNoSorting()
true, The exported rows will not be sorted according to
foreign key constraintstrue if The exported rows will not be sorted
according to foreign key constraintspublic void setNoSorting(boolean noSorting)
true, The exported rows will not be sorted according to
foreign key constraintsnoSorting - true if The exported rows will not be sorted
according to foreign key constraintspublic boolean getNoRowid()
true, Use primary keys to determine row identity (instead
of rowid-column)true if Use primary keys to determine row identity
(instead of rowid-column)public void setNoRowid(boolean noRowid)
true, Use primary keys to determine row identity (instead
of rowid-column)noRowid - true if Use primary keys to determine row
identity (instead of rowid-column)public java.lang.String getImportFilterMappingTableSchema()
public void setImportFilterMappingTableSchema(java.lang.String importFilterMappingTableSchema)
importFilterMappingTableSchema - schema in which the import-filter mapping tables will be
createdpublic java.util.Map<java.lang.String,java.lang.String> getParameters()
public void setParameter(java.lang.String name,
java.lang.String value)
name - parameter namevalue - valuepublic java.util.Map<java.lang.String,java.lang.String> getSchemaMapping()
public void setSchemaMapping(java.util.Map<java.lang.String,java.lang.String> schemaMapping)
schemaMapping - schema mappublic void setSourceSchemaMapping(java.util.Map<java.lang.String,java.lang.String> sourceSchemaMapping)
sourceSchemaMapping - the sourceSchemaMapping to setpublic java.util.Map<java.lang.String,java.lang.String> getSourceSchemaMapping()
public boolean isAbortInCaseOfInconsistency()
true, the Subsetter throws antrue, abort the process if the result is inconsistent due to insufficient transaction isolationpublic void setAbortInCaseOfInconsistency(boolean abortInCaseOfInconsitency)
abortInCaseOfInconsitency - if true, abort the process if the result is inconsistent due to insufficient transaction isolationpublic int getModelPoolSize()
public void setModelPoolSize(int modelPoolSize)
modelPoolSize - size of extraction-model pool (default is 10)public ExecutionContext getExecutionContext()
ExecutionContext. ExecutionContext