forked from geodmms/xdgnjobs

?? ?
2008-08-22 af57baed0d81ffaf7ae6b889dd26d9647a8862f0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
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();
 
        // 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
    {
        Connection connection = jobContext.getOracleConnection();
        OracleDatabaseMetaData metaData = (OracleDatabaseMetaData) connection.getMetaData();
        OracleStatement statement = (OracleStatement) connection.createStatement();
    }
}