From bc926822dddd05d55678696999e3b8b0fd415570 Mon Sep 17 00:00:00 2001
From: Dennis Kao <ulysseskao@gmail.com>
Date: Mon, 10 Mar 2014 12:28:24 +0800
Subject: [PATCH] update for increment and theme jobs

---
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 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 974237e..93b1a89 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
@@ -1346,7 +1346,7 @@
                 values[0] = rs.getString("vptname");
                 values[1] = rs.getShort("vptstatus");
                 tmpTablenames.add(values);
-                if ((((Short) values[1]) & DataReposVersionManager.VSSTATUS_USING) != 0) {
+                if (((Short) values[1]) >= DataReposVersionManager.VSSTATUS_LINKVIEW) {
                     current = i;
                 }
                 i++;
@@ -1923,11 +1923,23 @@
         Statement stmt = connection.createStatement();
         ResultSet rs = null;
         try {
-            stmt.execute("CREATE TABLE " + tableName +" AS SELECT * FROM " + tempTable);
+            boolean found = false;
             rs = connection.getMetaData().getTables(null, _pgSchema, tableName, new String[]{"TABLE"});
             if (rs.next()) {
-                stmt.execute("ALTER TABLE " + encodeSchemaTableName(_pgSchema, tableName) +
-                    " ADD PRIMARY KEY (tid, oid)");
+                found = true;
+            }
+            JDBCUtils.close(rs);
+
+            if (!found) {
+                stmt.execute("CREATE TABLE " + tableName +" AS SELECT * FROM " + tempTable);
+                rs = connection.getMetaData().getTables(null, _pgSchema, tableName, new String[]{"TABLE"});
+                if (rs.next()) {
+                    stmt.execute("ALTER TABLE " + encodeSchemaTableName(_pgSchema, tableName) +
+                        " ADD PRIMARY KEY (tid, oid)");
+                }
+            } else {
+                stmt.execute("TRUNCATE "+ tableName + " CASCADE");
+                stmt.execute("SELECT * INTO " + tableName + " FROM " + tempTable);
             }
             stmt.execute("DROP TABLE " + tempTable);
         } finally {

--
Gitblit v0.0.0-SNAPSHOT