From 8559e59f68543dac4ec38b52cde882ba32954479 Mon Sep 17 00:00:00 2001
From: ?? ? <ulysseskao@ximple.com.tw>
Date: Tue, 12 Aug 2008 11:13:39 +0800
Subject: [PATCH] update for EOFM-145

---
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java |   66 +++++++++++++++++++++++---------
 1 files changed, 47 insertions(+), 19 deletions(-)

diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java
index d38752e..d7a0883 100644
--- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java
+++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java
@@ -283,8 +283,36 @@
     private void copyConnectivity(OracleConvertPostGISJobContext jobContext) throws SQLException
     {
         Connection connection = jobContext.getOracleConnection();
+        ResultSet rsMeta = connection.getMetaData().getTables(null, "BASEDB",
+                AbstractOracleJobContext.CONNECTIVITY_WEBCHECK_NAME + "%",
+                new String[]{"TABLE"});
+
+        boolean found = false;
+        try
+        {
+            while (rsMeta.next())
+            {
+                String tablename = rsMeta.getString(3);
+                if (AbstractOracleJobContext.CONNECTIVITY_WEBCHECK_NAME.equalsIgnoreCase(tablename))
+                {
+                    found = true;
+                    break;
+                }
+            }
+            // } catch (SQLException e)
+        } finally
+        {
+            if (rsMeta != null)
+            {
+                rsMeta.close();
+                rsMeta = null;
+            }
+        }
         Statement stmt = connection.createStatement();
-        stmt.execute(AbstractOracleJobContext.TRUNCATE_CONNECTIVITY_WEBCHECK);
+        if (found)
+            stmt.execute(AbstractOracleJobContext.TRUNCATE_CONNECTIVITY_WEBCHECK);
+        else
+            stmt.execute(AbstractOracleJobContext.CREATE_CONNECTIVITY_WEBCHECK);
         stmt.execute(AbstractOracleJobContext.COPY_CONNECTIVITY_TO_WEBCHECK);
         stmt.close();
     }
@@ -689,11 +717,11 @@
 
                 if ((!type.isComplexElement()) && (!element.isComponentElement()))
                 {
-					if (lastComplex != null)
-					{
-                    	processIndexElement(lastComplex, convertContext);
-                    	lastComplex = null;
-					}
+                    if (lastComplex != null)
+                    {
+                        processIndexElement(lastComplex, convertContext);
+                        lastComplex = null;
+                    }
 
                     processIndexElement(element, convertContext);
                 } else if (element.isComponentElement())
@@ -708,7 +736,7 @@
                     {
                         processIndexElement(lastComplex, convertContext);
                     }
-					lastComplex = element;
+                    lastComplex = element;
                 }
             }
             count++;
@@ -828,11 +856,11 @@
 
                 if ((!type.isComplexElement()) && (!element.isComponentElement()))
                 {
-					if (lastComplex != null)
-					{
-                    	processOtherElement(lastComplex, convertContext);
-                    	lastComplex = null;
-					}
+                    if (lastComplex != null)
+                    {
+                        processOtherElement(lastComplex, convertContext);
+                        lastComplex = null;
+                    }
 
                     processOtherElement(element, convertContext);
                 } else if (element.isComponentElement())
@@ -847,7 +875,7 @@
                     {
                         processOtherElement(lastComplex, convertContext);
                     }
-					lastComplex = element;
+                    lastComplex = element;
                 }
             }
             count++;
@@ -1011,11 +1039,11 @@
 
                 if ((!type.isComplexElement()) && (!element.isComponentElement()))
                 {
-					if (lastComplex != null)
-					{
-                    	processFeatureElement(lastComplex, convertContext);
-                    	lastComplex = null;
-					}
+                    if (lastComplex != null)
+                    {
+                        processFeatureElement(lastComplex, convertContext);
+                        lastComplex = null;
+                    }
 
                     processFeatureElement(element, convertContext);
                 } else if (element.isComponentElement())
@@ -1030,7 +1058,7 @@
                     {
                         processFeatureElement(lastComplex, convertContext);
                     }
-					lastComplex = element;
+                    lastComplex = element;
                 }
             }
             count++;

--
Gitblit v0.0.0-SNAPSHOT