From 4b3d784ae20cd4909fceb54483304801893b448f Mon Sep 17 00:00:00 2001
From: ?? ? <ulysseskao@ximple.com.tw>
Date: Mon, 19 May 2008 09:30:05 +0800
Subject: [PATCH] update for EOFM-90

---
 xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml                                 |    6 ++
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleDatabaseJob.java |   19 +++++++++
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleElementLogger.java       |    9 ++--
 .gitattributes                                                                                |    2 
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleJobContext.java  |   17 ++++++++
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertJobContext.java   |   13 +++---
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java   |    2 +
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractDgnFileJobContext.java |   17 ++++++++
 8 files changed, 73 insertions(+), 12 deletions(-)

diff --git a/.gitattributes b/.gitattributes
index 0117d12..a9bb174 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -68,7 +68,7 @@
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/IndexDgnConvertJobContext.java svneol=native#text/plain
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java svneol=native#text/plain
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertJobContext.java svneol=native#text/plain
-xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleElementLogging.java svneol=native#text/plain
+xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleElementLogger.java svneol=native#text/plain
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleUpgradeBlob2UDTJob.java svneol=native#text/plain
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleUpgradeJobContext.java svneol=native#text/plain
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/TWD97GeometryConverterDecorator.java svneol=native#text/plain
diff --git a/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml b/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml
index 4a2345d..bf4fe10 100644
--- a/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml
+++ b/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml
@@ -46,13 +46,17 @@
         </entry>
         <entry>
           <key>CONVERTDB</key>
-          <value>false</value>
+          <value>true</value>
         </entry>
         <entry>
           <key>CONVERTFILE</key>
           <value>true</value>
         </entry>
         <entry>
+          <key>ELEMLOG</key>
+          <value>true</value>
+        </entry>
+        <entry>
           <key>TESTMODE</key>
           <value>FALSE</value>
         </entry>
diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractDgnFileJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractDgnFileJobContext.java
index 313c4d2..6c8718a 100644
--- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractDgnFileJobContext.java
+++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractDgnFileJobContext.java
@@ -20,6 +20,7 @@
 
     private Dgn7fileReader reader = null;
     private String filename = null;
+    private String _elementLogging = null;
 
     public AbstractDgnFileJobContext(String dataPath)
     {
@@ -68,4 +69,20 @@
     {
         this.filename = filename;
     }
+
+    public String getElementLogging()
+    {
+        return _elementLogging;
+    }
+
+    public void setElementLogging(String elementLogging)
+    {
+        this._elementLogging = elementLogging;
+    }
+
+    public boolean checkElementLogging()
+    {
+        return _elementLogging != null && !_elementLogging.equalsIgnoreCase("false") &&
+                !_elementLogging.equalsIgnoreCase("no") && !_elementLogging.equalsIgnoreCase("0");
+    }
 }
diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleDatabaseJob.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleDatabaseJob.java
index b8b0a28..fa051be 100644
--- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleDatabaseJob.java
+++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleDatabaseJob.java
@@ -26,6 +26,7 @@
     private static final String SPATAILSCHEMA = "ORGSCHEMA";
     private static final String CONVERTDB = "CONVERTDB";
     private static final String CONVERTFILE = "CONVERTFILE";
+    private static final String ELEMLOG = "ELEMLOG";
     private static final String ORAHOST = "ORAHOST";
     private static final String ORAINST = "ORAINST";
     private static final String ORAPORT = "ORAPORT";
@@ -43,6 +44,7 @@
     protected String _password;
     protected String _convertDB;
     protected String _convertFile;
+    protected String _elementLogging;
     protected ArrayList<String> _orgSchema = new ArrayList<String>();
     protected boolean _testMode = false;
     protected int _testCount = -1;
@@ -64,6 +66,7 @@
         _password = dataMap.getString(ORAPASS);
         _convertDB = dataMap.getString(CONVERTDB);
         _convertFile = dataMap.getString(CONVERTFILE);
+        _elementLogging = dataMap.getString(ELEMLOG);
 
         String strSchema = dataMap.getString(SPATAILSCHEMA);
         StringTokenizer st = new StringTokenizer(strSchema, ",");
@@ -243,4 +246,20 @@
         return _convertFile != null && !_convertFile.equalsIgnoreCase("false") &&
                 !_convertFile.equalsIgnoreCase("no") && !_convertFile.equalsIgnoreCase("0");
     }
+
+    public String getElementLogging()
+    {
+        return _elementLogging;
+    }
+
+    public void setElementLogging(String elementLogging)
+    {
+        this._elementLogging = elementLogging;
+    }
+
+    public boolean checkElementLogging()
+    {
+        return _elementLogging != null && !_elementLogging.equalsIgnoreCase("false") &&
+                !_elementLogging.equalsIgnoreCase("no") && !_elementLogging.equalsIgnoreCase("0");
+    }
 }
diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleJobContext.java
index a502127..68a8bb5 100644
--- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleJobContext.java
+++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleJobContext.java
@@ -217,6 +217,7 @@
     protected String _dataPath;
     private OracleConnection oracleConnection = null;
     protected Properties properties;
+    protected String _elementLogging = null;
 
     public static String getCurrentURL(String oracleHost, String oraclePort, String oracleInstance)
     {
@@ -307,6 +308,22 @@
         return _oraclePort;
     }
 
+    public String getElementLogging()
+    {
+        return _elementLogging;
+    }
+
+    public void setElementLogging(String elementLogging)
+    {
+        _elementLogging = elementLogging;
+    }
+
+    public boolean checkElementLogging()
+    {
+        return _elementLogging != null && !_elementLogging.equalsIgnoreCase("false") &&
+                !_elementLogging.equalsIgnoreCase("no") && !_elementLogging.equalsIgnoreCase("0");
+    }
+
     public abstract void startTransaction();
 
     public abstract void commitTransaction();
diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java
index f51ef5a..ffabbde 100644
--- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java
+++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java
@@ -109,6 +109,7 @@
                     jobContext.setShapeData(_dataPath);
                     jobContext.setConvertDB(_convertDB);
                     jobContext.setConvertFile(_convertFile);
+                    jobContext.setElementLogging(_elementLogging);
                     jobContext.setExecutionContext(context);
 
                     if (bFirst)
@@ -731,6 +732,7 @@
     {
         deleteFilesInPath(outDataPath, true);
     }
+
     private void deleteFilesInPath(File outDataPath, boolean removeSubDir)
     {
         if (!outDataPath.isDirectory())
diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertJobContext.java
index ee1cf24..6ba8702 100644
--- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertJobContext.java
+++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertJobContext.java
@@ -44,7 +44,7 @@
 
     static final String SHPOUTPATH = "shpout";
 
-    private OracleElementLogging elmLogger = null;
+    private OracleElementLogger elmLogger = null;
 
     static
     {
@@ -137,7 +137,8 @@
                     ":type=" + element.getType() + ":lv=" + element.getLevelIndex() + ":id=" +
                     (linkage == null ? "NULL" : (linkage.getFsc() + "|" + linkage.getComponentID())));
 
-            getElementLogging().logElement(element, getCurrentSchema());
+            if (checkElementLogging())
+                getElementLogger().logElement(element, getCurrentSchema());
             return;
         }
 
@@ -170,8 +171,8 @@
             updateDataStore();
         }
 
-        if (this.getElementLogging() != null)
-            this.getElementLogging().flashLogging();
+        if (this.getElementLogger() != null)
+            this.getElementLogger().flashLogging();
     }
 
     public void rollbackTransaction()
@@ -289,11 +290,11 @@
         _convertFile = convertFile;
     }
 
-    private OracleElementLogging getElementLogging()
+    protected OracleElementLogger getElementLogger()
     {
         if (elmLogger == null)
         {
-            elmLogger = new OracleElementLogging(getOracleConnection());
+            elmLogger = new OracleElementLogger(getOracleConnection());
             elmLogger.setDataPath(this.getDataPath());
         }
         return elmLogger;
diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleElementLogging.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleElementLogger.java
similarity index 96%
rename from xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleElementLogging.java
rename to xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleElementLogger.java
index 827f0e0..69e293d 100644
--- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleElementLogging.java
+++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleElementLogger.java
@@ -31,9 +31,9 @@
 import com.ximple.io.dgn7.TextElement;
 import com.ximple.io.dgn7.TextNodeElement;
 
-public class OracleElementLogging
+public class OracleElementLogger
 {
-    static Log logger = LogFactory.getLog(OracleElementLogging.class);
+    static Log logger = LogFactory.getLog(OracleElementLogger.class);
     private static final String ELMOUTPATH = "elmout";
     private static final String TAB_IGDSSEED = "SD$IGDSSET_SEED";
 
@@ -46,7 +46,7 @@
     private FileChannel fch = null;
     private int logCount = 0;
 
-    public OracleElementLogging(Connection connection)
+    public OracleElementLogger(Connection connection)
     {
         this.connection = connection;
     }
@@ -80,7 +80,8 @@
 
     public void logElement(Element element, String currentSchema)
     {
-        if (this.currentSchema.equalsIgnoreCase(currentSchema))
+        if ((this.currentSchema == null) ||
+            (!this.currentSchema.equalsIgnoreCase(currentSchema)))
         {
             schemaChanged = true;
             this.currentSchema = currentSchema;

--
Gitblit v0.0.0-SNAPSHOT