package com.ximple.eofms.jobs;
|
|
import java.sql.SQLException;
|
import java.util.Date;
|
|
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.LogFactory;
|
import org.quartz.JobDetail;
|
import org.quartz.JobExecutionContext;
|
import org.quartz.JobExecutionException;
|
|
import oracle.jdbc.OracleConnection;
|
import oracle.jdbc.OracleDatabaseMetaData;
|
import oracle.jdbc.OracleStatement;
|
|
import com.ximple.eofms.jobs.context.AbstractOracleJobContext;
|
import com.ximple.eofms.jobs.context.OracleUpgradeJobContext;
|
|
public class OracleUpgradeBlob2UDTJob extends AbstractOracleDatabaseJob
|
{
|
static Log logger = LogFactory.getLog(OracleUpgradeBlob2UDTJob.class);
|
|
public void execute(JobExecutionContext context) throws JobExecutionException
|
{
|
// Every job has its own job detail
|
JobDetail jobDetail = context.getJobDetail();
|
|
// The name is defined in the job definition
|
String jobName = jobDetail.getName();
|
|
// Log the time the job started
|
logger.info(jobName + " fired at " + new Date());
|
extractJobConfiguration(jobDetail);
|
createSourceDataStore();
|
if (getSourceDataStore() == null)
|
{
|
throw new JobExecutionException("Cannot connect source oracle database.");
|
}
|
|
AbstractOracleJobContext jobContext = prepareJobContext(_filterPath);
|
jobContext.setSourceDataStore(getSourceDataStore());
|
|
try
|
{
|
for (String orgSchema : _orgSchema)
|
{
|
exetcuteConvert(jobContext, orgSchema, _dataPath);
|
}
|
} catch (SQLException e)
|
{
|
throw new JobExecutionException("Database error.", e);
|
}
|
}
|
|
public Log getLogger()
|
{
|
return logger;
|
}
|
|
protected AbstractOracleJobContext prepareJobContext(String filterPath)
|
{
|
return new OracleUpgradeJobContext();
|
}
|
|
private void exetcuteConvert(AbstractOracleJobContext jobContext,
|
String orgSchema, String dataPath) throws SQLException
|
{
|
OracleConnection connection = jobContext.getOracleConnection();
|
OracleDatabaseMetaData metaData = (OracleDatabaseMetaData) connection.getMetaData();
|
OracleStatement statement = (OracleStatement) connection.createStatement();
|
}
|
}
|