From aaf4c6c3a1d50b67b9a7dfd1bc011615ba5d9f57 Mon Sep 17 00:00:00 2001
From: ?? ? <ulysseskao@ximple.com.tw>
Date: Fri, 06 Jun 2008 18:44:30 +0800
Subject: [PATCH] update for EOFM-115

---
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2OraSDOJob.java |   79 +++++++++++++++++++++------------------
 1 files changed, 43 insertions(+), 36 deletions(-)

diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2OraSDOJob.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2OraSDOJob.java
index 1e9a236..9a3f93d 100644
--- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2OraSDOJob.java
+++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2OraSDOJob.java
@@ -1,61 +1,63 @@
 package com.ximple.eofms.jobs;
 
-import java.util.Date;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.sql.ResultSet;
-import java.sql.Types;
-import java.io.IOException;
 import java.io.File;
-import java.io.FilenameFilter;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
+import java.io.FilenameFilter;
+import java.io.IOException;
 import java.math.BigDecimal;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
 import java.nio.channels.FileChannel;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.sql.Types;
+import java.util.Date;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.commons.collections.OrderedMap;
 import org.apache.commons.collections.OrderedMapIterator;
 import org.apache.commons.collections.map.LinkedMap;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-import org.quartz.JobDetail;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.geotools.feature.IllegalAttributeException;
 import org.geotools.feature.SchemaException;
+import org.quartz.JobDetail;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
 
 import com.vividsolutions.jts.geom.GeometryFactory;
 
 import oracle.jdbc.OracleConnection;
 import oracle.jdbc.OracleResultSet;
-import oracle.sql.BLOB;
 import oracle.sql.ARRAY;
+import oracle.sql.BLOB;
 
-import com.ximple.util.PrintfFormat;
-import com.ximple.io.dgn7.Element;
-import com.ximple.io.dgn7.Dgn7fileException;
-import com.ximple.io.dgn7.ElementType;
-import com.ximple.io.dgn7.IElementHandler;
-import com.ximple.io.dgn7.ComplexElement;
-import com.ximple.io.dgn7.Dgn7fileReader;
-import com.ximple.io.dgn7.Lock;
-import com.ximple.io.dgn7.TextElement;
+import com.ximple.eofms.jobs.context.AbstractOracleJobContext;
+import com.ximple.eofms.jobs.context.shapefile.FeatureDgnConvertShpJobContext;
+import com.ximple.eofms.jobs.context.shapefile.GeneralDgnConvertShpJobContext;
+import com.ximple.eofms.jobs.context.shapefile.IndexDgnConvertShpJobContext;
+import com.ximple.eofms.jobs.context.shapefile.OracleConvertShapefilesJobContext;
 import com.ximple.eofms.util.BinConverter;
 import com.ximple.eofms.util.ByteArrayCompressor;
 import com.ximple.eofms.util.StringUtils;
-import com.ximple.eofms.jobs.context.AbstractOracleJobContext;
-import com.ximple.eofms.jobs.context.FeatureDgnConvertShpJobContext;
-import com.ximple.eofms.jobs.context.GeneralDgnConvertShpJobContext;
-import com.ximple.eofms.jobs.context.IndexDgnConvertShpJobContext;
-import com.ximple.eofms.jobs.context.OracleConvertShapefilesJobContext;
+import com.ximple.io.dgn7.ComplexElement;
+import com.ximple.io.dgn7.Dgn7fileException;
+import com.ximple.io.dgn7.Dgn7fileReader;
+import com.ximple.io.dgn7.Element;
+import com.ximple.io.dgn7.ElementType;
+import com.ximple.io.dgn7.IElementHandler;
+import com.ximple.io.dgn7.Lock;
+import com.ximple.io.dgn7.TextElement;
+import com.ximple.util.PrintfFormat;
 
 public class OracleConvertDgn2OraSDOJob extends AbstractOracleDatabaseJob
 {
     final static Log logger = LogFactory.getLog(OracleConvertDgn2OraSDOJob.class);
 
-    /** The Oracle driver class name */
+    /**
+     * The Oracle driver class name
+     */
     private static final String JDBC_DRIVER = "oracle.jdbc.driver.OracleDriver";
 
     private static final int FETCHSIZE = 30;
@@ -136,7 +138,7 @@
         FeatureStore fs = (FeatureStore) dstore.getFeatureSource("ORA_TEST_POINTS");
         fs.addFeatures(DataUtilities.collection(feature));
      */
-    
+
     protected AbstractOracleJobContext prepareJobContext(String filterPath)
     {
         return new OracleConvertShapefilesJobContext(filterPath);
@@ -153,6 +155,11 @@
         // 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.");
+        }
 
         try
         {
@@ -166,11 +173,7 @@
                 for (String orgSchema : _orgSchema)
                 {
                     OracleConvertShapefilesJobContext jobContext = (OracleConvertShapefilesJobContext) prepareJobContext(_filterPath);
-                    jobContext.setConnectionInfo(_oracleHost, _oraclePort, _oracleInstance);
-                    jobContext.setLogin(_username, _password);
-                    jobContext.setShapeData(_dataPath);
-                    jobContext.setConvertDB(_convertDB);
-                    jobContext.setConvertFile(_convertFile);
+                    jobContext.setSourceDataStore(getSourceDataStore());
                     jobContext.setConvertElementIn(_convertElementIn);
                     jobContext.setElementLogging(checkElementLogging());
                     jobContext.setExecutionContext(context);
@@ -207,6 +210,8 @@
                 logger.info("-- step:createDummyFeatureFile --");
                 createDummyFeatureFile(context);
             }
+
+            disconnect();
         } catch (SQLException e)
         {
             logger.warn(e.getMessage(), e);
@@ -536,7 +541,8 @@
      * �����ഫ���޹��ɪ��u�@
      *
      * @param context �u�@��������
-     * @throws org.quartz.JobExecutionException exception
+     * @throws org.quartz.JobExecutionException
+     *          exception
      */
     private void convertIndexDesignFile(JobExecutionContext context) throws JobExecutionException
     {
@@ -665,7 +671,8 @@
      * �����ഫ��L�]�p���ɪ��u�@
      *
      * @param context jobContext
-     * @throws org.quartz.JobExecutionException exception
+     * @throws org.quartz.JobExecutionException
+     *          exception
      */
     private void convertOtherDesignFile(JobExecutionContext context) throws JobExecutionException
     {

--
Gitblit v0.0.0-SNAPSHOT