package com.ximple.eofms.jobs; import java.sql.SQLException; import java.sql.Connection; 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(); String targetSchemaName = null; // 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(targetSchemaName, _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 targetSchemaName, String filterPath) { return new OracleUpgradeJobContext(); } private void exetcuteConvert(AbstractOracleJobContext jobContext, String orgSchema, String dataPath) throws SQLException { Connection connection = jobContext.getOracleConnection(); OracleDatabaseMetaData metaData = (OracleDatabaseMetaData) connection.getMetaData(); OracleStatement statement = (OracleStatement) connection.createStatement(); } }