org.jumpmind.symmetric.service.impl
Class DataLoaderService

java.lang.Object
  extended by org.jumpmind.symmetric.service.impl.DataLoaderService
All Implemented Interfaces:
IDataLoaderService, org.springframework.beans.factory.BeanFactoryAware

public class DataLoaderService
extends java.lang.Object
implements IDataLoaderService, org.springframework.beans.factory.BeanFactoryAware


Field Summary
protected  java.util.List<IBatchListener> batchListeners
           
protected  org.springframework.beans.factory.BeanFactory beanFactory
           
protected  java.util.Map<java.lang.String,IColumnFilter> columnFilters
           
protected  IDbDialect dbDialect
           
protected  java.util.List<IDataLoaderFilter> filters
           
protected  IIncomingBatchService incomingBatchService
           
protected  org.springframework.jdbc.core.JdbcTemplate jdbcTemplate
           
protected static org.apache.commons.logging.Log logger
           
protected  INodeService nodeService
           
protected  IParameterService parameterService
           
protected  IStatisticManager statisticManager
           
protected  org.springframework.transaction.support.TransactionTemplate transactionTemplate
           
protected  ITransportManager transportManager
           
 
Constructor Summary
DataLoaderService()
           
 
Method Summary
 void addBatchListener(IBatchListener batchListener)
           
 void addColumnFilter(java.lang.String tableName, IColumnFilter filter)
           
 void addDataLoaderFilter(IDataLoaderFilter filter)
           
protected  org.springframework.jdbc.core.simple.SimpleJdbcTemplate getSimpleTemplate()
           
 java.lang.String getSql(java.lang.String key)
           
protected  void handleBatchError(IncomingBatch status, IncomingBatchHistory history)
           
protected  void loadBatch(IDataLoader dataLoader, IncomingBatch status, IncomingBatchHistory history)
           
 boolean loadData(IIncomingTransport transport)
           
 void loadData(java.io.InputStream in, java.io.OutputStream out)
          Load database from input stream and write acknowledgment to output stream.
 boolean loadData(Node remote, Node local)
          Connect to the remote node and pull data.
protected  java.util.List<IncomingBatchHistory> loadDataAndReturnBatches(IIncomingTransport transport)
          Load database from input stream and return a list of batch statuses.
 IDataLoaderStatistics loadDataBatch(java.lang.String batchData)
          This is a convenience method for a client that might need to load CSV formatted data using SymmetricDS's IDataLoader.
 IDataLoader openDataLoader(java.io.BufferedReader reader)
           
 void removeDataLoaderFilter(IDataLoaderFilter filter)
           
 void setBatchListeners(java.util.List<IBatchListener> batchListeners)
           
 void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
           
 void setDataLoaderFilters(java.util.List<IDataLoaderFilter> filters)
           
 void setDbDialect(IDbDialect dbDialect)
           
 void setIncomingBatchService(IIncomingBatchService incomingBatchService)
           
 void setJdbcTemplate(org.springframework.jdbc.core.JdbcTemplate jdbc)
           
 void setNodeService(INodeService nodeService)
           
 void setParameterService(IParameterService parameterService)
           
 void setSql(java.util.Map<java.lang.String,java.lang.String> sql)
           
 void setStatisticManager(IStatisticManager statisticManager)
           
 void setTransactionTemplate(org.springframework.transaction.support.TransactionTemplate transactionTemplate)
           
 void setTransportManager(ITransportManager remoteService)
           
protected  java.sql.SQLException unwrapSqlException(java.lang.Throwable e)
           
 
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

dbDialect

protected IDbDialect dbDialect

incomingBatchService

protected IIncomingBatchService incomingBatchService

transportManager

protected ITransportManager transportManager

transactionTemplate

protected org.springframework.transaction.support.TransactionTemplate transactionTemplate

beanFactory

protected org.springframework.beans.factory.BeanFactory beanFactory

filters

protected java.util.List<IDataLoaderFilter> filters

statisticManager

protected IStatisticManager statisticManager

nodeService

protected INodeService nodeService

columnFilters

protected java.util.Map<java.lang.String,IColumnFilter> columnFilters

batchListeners

protected java.util.List<IBatchListener> batchListeners

parameterService

protected IParameterService parameterService

jdbcTemplate

protected org.springframework.jdbc.core.JdbcTemplate jdbcTemplate
Constructor Detail

DataLoaderService

public DataLoaderService()
Method Detail

loadData

public boolean loadData(Node remote,
                        Node local)
                 throws java.io.IOException
Connect to the remote node and pull data. The acknowledgment of commit/error status is sent separately after the data is processed.

Specified by:
loadData in interface IDataLoaderService
Throws:
java.io.IOException

openDataLoader

public IDataLoader openDataLoader(java.io.BufferedReader reader)
                           throws java.io.IOException
Specified by:
openDataLoader in interface IDataLoaderService
Throws:
java.io.IOException

loadDataBatch

public IDataLoaderStatistics loadDataBatch(java.lang.String batchData)
                                    throws java.io.IOException
Description copied from interface: IDataLoaderService
This is a convenience method for a client that might need to load CSV formatted data using SymmetricDS's IDataLoader.

Specified by:
loadDataBatch in interface IDataLoaderService
Parameters:
batchData - Data string formatted for the configured loader (the only supported data loader today is the CsvLoader)
Throws:
java.io.IOException

loadDataAndReturnBatches

protected java.util.List<IncomingBatchHistory> loadDataAndReturnBatches(IIncomingTransport transport)
Load database from input stream and return a list of batch statuses. This is used for a pull request that responds with data, and the acknowledgment is sent later.

Parameters:
in -

loadData

public boolean loadData(IIncomingTransport transport)
Specified by:
loadData in interface IDataLoaderService

loadBatch

protected void loadBatch(IDataLoader dataLoader,
                         IncomingBatch status,
                         IncomingBatchHistory history)

handleBatchError

protected void handleBatchError(IncomingBatch status,
                                IncomingBatchHistory history)

loadData

public void loadData(java.io.InputStream in,
                     java.io.OutputStream out)
              throws java.io.IOException
Load database from input stream and write acknowledgment to output stream. This is used for a "push" request with a response of an acknowledgment.

Specified by:
loadData in interface IDataLoaderService
Parameters:
in -
out -
Throws:
java.io.IOException

setDataLoaderFilters

public void setDataLoaderFilters(java.util.List<IDataLoaderFilter> filters)
Specified by:
setDataLoaderFilters in interface IDataLoaderService

addDataLoaderFilter

public void addDataLoaderFilter(IDataLoaderFilter filter)
Specified by:
addDataLoaderFilter in interface IDataLoaderService

removeDataLoaderFilter

public void removeDataLoaderFilter(IDataLoaderFilter filter)
Specified by:
removeDataLoaderFilter in interface IDataLoaderService

setTransportManager

public void setTransportManager(ITransportManager remoteService)
Specified by:
setTransportManager in interface IDataLoaderService

setTransactionTemplate

public void setTransactionTemplate(org.springframework.transaction.support.TransactionTemplate transactionTemplate)

setIncomingBatchService

public void setIncomingBatchService(IIncomingBatchService incomingBatchService)

setBeanFactory

public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
                    throws org.springframework.beans.BeansException
Specified by:
setBeanFactory in interface org.springframework.beans.factory.BeanFactoryAware
Throws:
org.springframework.beans.BeansException

setDbDialect

public void setDbDialect(IDbDialect dbDialect)

addColumnFilter

public void addColumnFilter(java.lang.String tableName,
                            IColumnFilter filter)
Specified by:
addColumnFilter in interface IDataLoaderService

setStatisticManager

public void setStatisticManager(IStatisticManager statisticManager)

addBatchListener

public void addBatchListener(IBatchListener batchListener)
Specified by:
addBatchListener in interface IDataLoaderService

setBatchListeners

public void setBatchListeners(java.util.List<IBatchListener> batchListeners)

setNodeService

public void setNodeService(INodeService nodeService)

setJdbcTemplate

public void setJdbcTemplate(org.springframework.jdbc.core.JdbcTemplate jdbc)

getSimpleTemplate

protected org.springframework.jdbc.core.simple.SimpleJdbcTemplate getSimpleTemplate()

unwrapSqlException

protected java.sql.SQLException unwrapSqlException(java.lang.Throwable e)

setSql

public void setSql(java.util.Map<java.lang.String,java.lang.String> sql)

getSql

public java.lang.String getSql(java.lang.String key)

setParameterService

public void setParameterService(IParameterService parameterService)


Copyright © 2007-2008. All Rights Reserved.