Skip to content

Commit

Permalink
Starting unit tests for new version of data extractor
Browse files Browse the repository at this point in the history
  • Loading branch information
chenson42 committed Jan 25, 2012
1 parent 3242f55 commit 3ab2b88
Show file tree
Hide file tree
Showing 60 changed files with 799 additions and 628 deletions.
3 changes: 2 additions & 1 deletion symmetric/symmetric-assemble/TODO.txt
Expand Up @@ -69,4 +69,5 @@ Documentation
* IDatabaseWriterFilter replaces IBatchListener
* db.default.schema is no longer used
* No longer stop purge from running if there wasn't an initial load
* Extensions no longer have services injected into them. If they need acccess to services, they should implement ISymmetricEngineAware
* Extensions no longer have services injected into them. If they need acccess to services, they should implement ISymmetricEngineAware
* Node concurrency manager no longer allows the same node to make a second request while it already has a reservation
Expand Up @@ -36,7 +36,7 @@ public class Db2SymmetricDialect extends AbstractSymmetricDialect implements ISy

public Db2SymmetricDialect(IParameterService parameterService, IDatabasePlatform platform) {
super(parameterService, platform);
this.triggerText = new Db2TriggerText();
this.triggerText = new Db2TriggerTemplate();
}

protected boolean createTablesIfNecessary() {
Expand Down
Expand Up @@ -2,11 +2,11 @@

import java.util.HashMap;

import org.jumpmind.symmetric.db.TriggerText;
import org.jumpmind.symmetric.db.TriggerTemplate;

public class Db2TriggerText extends TriggerText {
public class Db2TriggerTemplate extends TriggerTemplate {

public Db2TriggerText() {
public Db2TriggerTemplate() {
functionInstalledSql = "select count(*) from syscat.functions where funcname = '$(functionName)'" ;
emptyColumnTemplate = "''" ;
stringColumnTemplate = "case when $(tableAlias).\"$(columnName)\" is null then '' else '\"' || replace(replace($(tableAlias).\"$(columnName)\",'\\','\\\\'),'\"','\\\"') || '\"' end" ;
Expand Down
Expand Up @@ -33,7 +33,7 @@ public class DerbySymmetricDialect extends AbstractSymmetricDialect implements I

public DerbySymmetricDialect(IParameterService parameterService, IDatabasePlatform platform) {
super(parameterService, platform);
this.triggerText = new DerbyTriggerText();
this.triggerText = new DerbyTriggerTemplate();
}

@Override
Expand Down
Expand Up @@ -2,11 +2,11 @@

import java.util.HashMap;

import org.jumpmind.symmetric.db.TriggerText;
import org.jumpmind.symmetric.db.TriggerTemplate;

public class DerbyTriggerText extends TriggerText {
public class DerbyTriggerTemplate extends TriggerTemplate {

public DerbyTriggerText() {
public DerbyTriggerTemplate() {
functionInstalledSql = "select count(*) from sys.sysaliases where alias = upper('$(functionName)')" ;
emptyColumnTemplate = "''" ;
stringColumnTemplate = "sym_escape($(tableAlias).\"$(columnName)\")" ;
Expand Down
Expand Up @@ -39,7 +39,7 @@ public class FirebirdSymmetricDialect extends AbstractSymmetricDialect implement

public FirebirdSymmetricDialect(IParameterService parameterService, IDatabasePlatform platform) {
super(parameterService, platform);
this.triggerText = new FirebirdTriggerText();
this.triggerText = new FirebirdTriggerTemplate();
}

@Override
Expand Down
Expand Up @@ -2,11 +2,11 @@

import java.util.HashMap;

import org.jumpmind.symmetric.db.TriggerText;
import org.jumpmind.symmetric.db.TriggerTemplate;

public class FirebirdTriggerText extends TriggerText {
public class FirebirdTriggerTemplate extends TriggerTemplate {

public FirebirdTriggerText() {
public FirebirdTriggerTemplate() {
functionInstalledSql = "select count(*) from rdb$functions where rdb$function_name = upper('$(functionName)')" ;
emptyColumnTemplate = "''" ;
stringColumnTemplate = "case when $(tableAlias).$(columnName) is null then '' else '\"' || sym_escape(substring($(tableAlias).$(columnName) from 1)) || '\"' end" ;
Expand Down
Expand Up @@ -37,7 +37,7 @@ public class H2SymmetricDialect extends AbstractEmbeddedSymmetricDialect impleme

public H2SymmetricDialect(IParameterService parameterService, IDatabasePlatform platform) {
super(parameterService, platform);
this.triggerText = new H2TriggerText();
this.triggerText = new H2TriggerTemplate();
}

@Override
Expand Down
Expand Up @@ -2,11 +2,11 @@

import java.util.HashMap;

import org.jumpmind.symmetric.db.TriggerText;
import org.jumpmind.symmetric.db.TriggerTemplate;

public class H2TriggerText extends TriggerText {
public class H2TriggerTemplate extends TriggerTemplate {

public H2TriggerText() {
public H2TriggerTemplate() {
functionInstalledSql = "select count(*) from INFORMATION_SCHEMA.FUNCTION_ALIASES where ALIAS_NAME='$(functionName)'" ;
emptyColumnTemplate = "''''" ;
stringColumnTemplate = "case when $(tableAlias)\"$(columnName)\" is null then '''' else ''\"''||replace(replace($(tableAlias)\"$(columnName)\",''\\'',''\\\\''),''\"'',''\\\"'')||''\"'' end" ;
Expand Down
Expand Up @@ -39,7 +39,7 @@ public class HsqlDbSymmetricDialect extends AbstractEmbeddedSymmetricDialect imp

public HsqlDbSymmetricDialect(IParameterService parameterService, IDatabasePlatform platform) {
super(parameterService, platform);
this.triggerText = new HsqlDbTriggerText();
this.triggerText = new HsqlDbTriggerTemplate();

platform.getSqlTemplate().update("SET WRITE_DELAY 100 MILLIS");
platform.getSqlTemplate().update("SET PROPERTY \"hsqldb.default_table_type\" 'cached'");
Expand Down
Expand Up @@ -2,11 +2,11 @@

import java.util.HashMap;

import org.jumpmind.symmetric.db.TriggerText;
import org.jumpmind.symmetric.db.TriggerTemplate;

public class HsqlDbTriggerText extends TriggerText {
public class HsqlDbTriggerTemplate extends TriggerTemplate {

public HsqlDbTriggerText() {
public HsqlDbTriggerTemplate() {
functionInstalledSql = "select count(*) from INFORMATION_SCHEMA.SYSTEM_ALIASES where ALIAS='$(functionName)'" ;
emptyColumnTemplate = "''" ;
stringColumnTemplate = "case when $(tableAlias)\"$(columnName)\" is null then '''' else concat(concat(''\"'',replace(replace($(tableAlias)\"$(columnName)\",''\\'',''\\\\''),''\"'',''\\\"'')),''\"'') end" ;
Expand Down
Expand Up @@ -35,7 +35,7 @@ public class HsqlDb2SymmetricDialect extends AbstractSymmetricDialect implements

public HsqlDb2SymmetricDialect(IParameterService parameterService, IDatabasePlatform platform) {
super(parameterService, platform);
this.triggerText = new HsqlDb2TriggerText();
this.triggerText = new HsqlDb2TriggerTemplate();
platform.getSqlTemplate().update("SET DATABASE DEFAULT TABLE TYPE CACHED");
}

Expand Down
Expand Up @@ -2,11 +2,11 @@

import java.util.HashMap;

import org.jumpmind.symmetric.db.TriggerText;
import org.jumpmind.symmetric.db.TriggerTemplate;

public class HsqlDb2TriggerText extends TriggerText {
public class HsqlDb2TriggerTemplate extends TriggerTemplate {

public HsqlDb2TriggerText() {
public HsqlDb2TriggerTemplate() {
functionInstalledSql = "select count(*) from INFORMATION_SCHEMA.ROUTINES where ROUTINE_NAME=UPPER('$(functionName)')" ;
emptyColumnTemplate = "''" ;
stringColumnTemplate = "case when $(tableAlias).\"$(columnName)\" is null then '' else '\"'||replace(replace($(tableAlias).\"$(columnName)\",'\\','\\\\'),'\"','\\\"')||'\"' end" ;
Expand Down
Expand Up @@ -31,7 +31,7 @@ public class InformixSymmetricDialect extends AbstractSymmetricDialect implement

public InformixSymmetricDialect(IParameterService parameterService, IDatabasePlatform platform) {
super(parameterService, platform);
this.triggerText = new InformixTriggerText();
this.triggerText = new InformixTriggerTemplate();
}

@Override
Expand Down
Expand Up @@ -2,11 +2,11 @@

import java.util.HashMap;

import org.jumpmind.symmetric.db.TriggerText;
import org.jumpmind.symmetric.db.TriggerTemplate;

public class InformixTriggerText extends TriggerText {
public class InformixTriggerTemplate extends TriggerTemplate {

public InformixTriggerText() {
public InformixTriggerTemplate() {
functionInstalledSql = "select count(*) from sysprocedures where procname = '$(functionName)' and owner = (select trim(user) from sysmaster:sysdual)" ;
emptyColumnTemplate = "''" ;
stringColumnTemplate = "rtrim(case when $(tableAlias).$(columnName) is null then '' else '\"' || replace(replace($(tableAlias).$(columnName), '\\', '\\\\'), '\"', '\\\"') || '\"' end)" ;
Expand Down
Expand Up @@ -50,7 +50,7 @@ public class InterbaseSymmetricDialect extends AbstractSymmetricDialect implemen

public InterbaseSymmetricDialect(IParameterService parameterService, IDatabasePlatform platform) {
super(parameterService, platform);
this.triggerText = new InterbaseTriggerText();
this.triggerText = new InterbaseTriggerTemplate();
}

@Override
Expand Down
Expand Up @@ -2,11 +2,11 @@

import java.util.HashMap;

import org.jumpmind.symmetric.db.TriggerText;
import org.jumpmind.symmetric.db.TriggerTemplate;

public class InterbaseTriggerText extends TriggerText {
public class InterbaseTriggerTemplate extends TriggerTemplate {

public InterbaseTriggerText() {
public InterbaseTriggerTemplate() {
functionInstalledSql = "select count(*) from rdb$functions where rdb$function_name = upper('$(functionName)')" ;
emptyColumnTemplate = "''" ;
stringColumnTemplate = "case when $(tableAlias).$(columnName) is null then '' else '\"' || sym_escape($(tableAlias).$(columnName)) || '\"' end" ;
Expand Down
Expand Up @@ -52,7 +52,7 @@ public class MsSqlSymmetricDialect extends AbstractSymmetricDialect implements I

public MsSqlSymmetricDialect(IParameterService parameterService, IDatabasePlatform platform) {
super(parameterService, platform);
this.triggerText = new MsSqlTriggerText();
this.triggerText = new MsSqlTriggerTemplate();
}

@Override
Expand Down
Expand Up @@ -2,11 +2,11 @@

import java.util.HashMap;

import org.jumpmind.symmetric.db.TriggerText;
import org.jumpmind.symmetric.db.TriggerTemplate;

public class MsSqlTriggerText extends TriggerText {
public class MsSqlTriggerTemplate extends TriggerTemplate {

public MsSqlTriggerText() {
public MsSqlTriggerTemplate() {
functionInstalledSql = "select count(object_name(object_id('$(functionName)')))" ;
emptyColumnTemplate = "''" ;
stringColumnTemplate = "case when $(tableAlias).\"$(columnName)\" is null then '' else '\"' + replace(replace(convert(varchar(max),$(tableAlias).\"$(columnName)\") $(masterCollation),'\\','\\\\'),'\"','\\\"') + '\"' end" ;
Expand Down
Expand Up @@ -49,7 +49,7 @@ public class MySqlSymmetricDialect extends AbstractSymmetricDialect implements I

public MySqlSymmetricDialect(IParameterService parameterService, IDatabasePlatform platform) {
super(parameterService, platform);
this.triggerText = new MySqlTriggerText();
this.triggerText = new MySqlTriggerTemplate();
this.parameterService = parameterService;
}

Expand Down
Expand Up @@ -2,11 +2,11 @@

import java.util.HashMap;

import org.jumpmind.symmetric.db.TriggerText;
import org.jumpmind.symmetric.db.TriggerTemplate;

public class MySqlTriggerText extends TriggerText {
public class MySqlTriggerTemplate extends TriggerTemplate {

public MySqlTriggerText() {
public MySqlTriggerTemplate() {
functionInstalledSql = "select count(*) from information_schema.routines where routine_name='$(functionName)' and routine_schema in (select database())" ;
emptyColumnTemplate = "''" ;
stringColumnTemplate = "if($(tableAlias).`$(columnName)` is null,'',concat('\"',replace(replace($(tableAlias).`$(columnName)`,'\\\\','\\\\\\\\'),'\"','\\\\\"'),'\"'))" ;
Expand Down
Expand Up @@ -57,7 +57,7 @@ public class OracleSymmetricDialect extends AbstractSymmetricDialect implements

public OracleSymmetricDialect(IParameterService parameterService, IDatabasePlatform platform) {
super(parameterService, platform);
this.triggerText = new OracleTriggerText();
this.triggerText = new OracleTriggerTemplate();
try {
areDatabaseTransactionsPendingSince(System.currentTimeMillis());
supportsTransactionViews = true;
Expand Down
Expand Up @@ -2,11 +2,11 @@

import java.util.HashMap;

import org.jumpmind.symmetric.db.TriggerText;
import org.jumpmind.symmetric.db.TriggerTemplate;

public class OracleTriggerText extends TriggerText {
public class OracleTriggerTemplate extends TriggerTemplate {

public OracleTriggerText() {
public OracleTriggerTemplate() {
functionInstalledSql = "select count(*) from user_source where line = 1 and ((type = 'FUNCTION' and name=upper('$(functionName)')) or (name||'_'||type=upper('$(functionName)')))" ;
emptyColumnTemplate = "''" ;
stringColumnTemplate = "decode($(tableAlias).\"$(columnName)\", null, $(oracleToClob)'', '\"'||replace(replace($(oracleToClob)$(tableAlias).\"$(columnName)\",'\\','\\\\'),'\"','\\\"')||'\"')" ;
Expand Down
Expand Up @@ -7,7 +7,7 @@ public class GreenplumSymmetricDialect extends PostgreSqlSymmetricDialect {

public GreenplumSymmetricDialect(IParameterService parameterService, IDatabasePlatform platform) {
super(parameterService, platform);
this.triggerText = new GreenplumTriggerText();
this.triggerText = new GreenplumTriggerTemplate();
}

}
Expand Up @@ -2,11 +2,11 @@

import java.util.HashMap;

import org.jumpmind.symmetric.db.TriggerText;
import org.jumpmind.symmetric.db.TriggerTemplate;

public class GreenplumTriggerText extends TriggerText {
public class GreenplumTriggerTemplate extends TriggerTemplate {

public GreenplumTriggerText() {
public GreenplumTriggerTemplate() {
functionInstalledSql = "select count(*) from information_schema.routines " +
" where routine_name = '$(functionName)' and specific_schema = '$(defaultSchema)'" ;
emptyColumnTemplate = "''" ;
Expand Down
Expand Up @@ -48,7 +48,7 @@ public class PostgreSqlSymmetricDialect extends AbstractSymmetricDialect impleme

public PostgreSqlSymmetricDialect(IParameterService parameterService, IDatabasePlatform platform) {
super(parameterService, platform);
this.triggerText = new PostgreSqlTriggerText();
this.triggerText = new PostgreSqlTriggerTemplate();
}

@Override
Expand Down
Expand Up @@ -2,11 +2,11 @@

import java.util.HashMap;

import org.jumpmind.symmetric.db.TriggerText;
import org.jumpmind.symmetric.db.TriggerTemplate;

public class PostgreSqlTriggerText extends TriggerText {
public class PostgreSqlTriggerTemplate extends TriggerTemplate {

public PostgreSqlTriggerText() {
public PostgreSqlTriggerTemplate() {
functionInstalledSql = "select count(*) from information_schema.routines " +
" where routine_name = '$(functionName)' and specific_schema = '$(defaultSchema)'" ;
emptyColumnTemplate = "''" ;
Expand Down
Expand Up @@ -53,7 +53,7 @@ public class SybaseSymmetricDialect extends AbstractSymmetricDialect implements

public SybaseSymmetricDialect(IParameterService parameterService, IDatabasePlatform platform) {
super(parameterService, platform);
this.triggerText = new SybaseTriggerText();
this.triggerText = new SybaseTriggerTemplate();
}

@Override
Expand Down
Expand Up @@ -2,11 +2,11 @@

import java.util.HashMap;

import org.jumpmind.symmetric.db.TriggerText;
import org.jumpmind.symmetric.db.TriggerTemplate;

public class SybaseTriggerText extends TriggerText {
public class SybaseTriggerTemplate extends TriggerTemplate {

public SybaseTriggerText() {
public SybaseTriggerTemplate() {
functionInstalledSql = "select count(object_name(object_id('$(functionName)')))" ;
emptyColumnTemplate = "''" ;
stringColumnTemplate = "case when $(tableAlias).\"$(columnName)\" is null then '' else '\"' + str_replace(str_replace($(tableAlias).\"$(columnName)\",'\\','\\\\'),'\"','\\\"') + '\"' end" ;
Expand Down
@@ -0,0 +1,5 @@
package org.jumpmind.symmetric.service.impl;

public class JdbcDataExtractorServiceTest extends AbstractDataExtractorServiceTest {

}
Expand Up @@ -75,7 +75,7 @@ abstract public class AbstractSymmetricDialect implements ISymmetricDialect {

protected IDatabasePlatform platform;

protected TriggerText triggerText;
protected TriggerTemplate triggerText;

protected IParameterService parameterService;

Expand Down Expand Up @@ -781,7 +781,7 @@ public void addDatabaseUpgradeListener(IDatabaseUpgradeListener listener) {
protected void initLobHandler() {
}

public TriggerText getTriggerText() {
public TriggerTemplate getTriggerText() {
return triggerText;
}

Expand Down
Expand Up @@ -44,7 +44,7 @@
* Responsible for generating dialect specific SQL such as trigger bodies and
* functions
*/
public class TriggerText {
public class TriggerTemplate {

protected static final String ORIG_TABLE_ALIAS = "orig";

Expand Down
Expand Up @@ -44,7 +44,7 @@ public <R extends IDataReader, W extends IDataWriter> boolean beforeWrite(
DataContext context, Table table, CsvData data) {
if (!table.getName().startsWith(tablePrefix)) {
Batch batch = context.getBatch();
String sourceNodeId = batch.getSourceNodeId();
String sourceNodeId = batch.getNodeId();
table.setSchema(schemaPrefix != null ? schemaPrefix + sourceNodeId : sourceNodeId);
}
return true;
Expand Down

0 comments on commit 3ab2b88

Please sign in to comment.