From 717778e5d190c8f27c8cfb732a5a90cdf1557871 Mon Sep 17 00:00:00 2001
From: ?? ? <ulysseskao@ximple.com.tw>
Date: Tue, 26 Aug 2008 12:34:14 +0800
Subject: [PATCH] update for EOFM-152

---
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java |   46 ++++++++++++++++++++--------------------------
 1 files changed, 20 insertions(+), 26 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 58ebaac..0e67575 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
@@ -64,7 +64,6 @@
 {
     final static Log logger = LogFactory.getLog(OracleConvertDgn2PostGISJob.class);
 
-    private static final String XGVERSION_NAME = "xgeos_vsversion";
     private static final String PGHOST = "PGHOST";
     private static final String PGDDATBASE = "PGDDATBASE";
     private static final String PGPORT = "PGPORT";
@@ -1167,7 +1166,7 @@
         try
         {
             connection = targetDataStore.getConnection(Transaction.AUTO_COMMIT);
-            rs = connection.getMetaData().getTables(null, _pgSchema, XGVERSION_NAME, new String[] {"TABLE"});
+            rs = connection.getMetaData().getTables(null, _pgSchema, DataRepositoryVersionManger.XGVERSIONTABLE_NAME, new String[] {"TABLE"});
             if (!rs.next()) needCreate = true;
             if (needCreate)
                 createXGeosVersionTable(connection, _pgSchema);
@@ -1176,7 +1175,7 @@
 
             StringBuilder sbSQL = new StringBuilder("SELECT ");
             sbSQL.append("vsschema, vsstatus FROM ");
-            sbSQL.append(encodeSchemaTableName(_pgSchema, XGVERSION_NAME)).append(' ');
+            sbSQL.append(encodeSchemaTableName(_pgSchema, DataRepositoryVersionManger.XGVERSIONTABLE_NAME)).append(' ');
             sbSQL.append("ORDER BY vsid");
             stmt = connection.createStatement();
             rs = stmt.executeQuery(sbSQL.toString());
@@ -1189,7 +1188,7 @@
                 values[0] = rs.getString("vsschema");
                 values[1] = rs.getShort("vsstatus");
                 tmpSchemas.add(values);
-                if ((((Short)values[1]) & DataRepositoryStatus.VSSTATUS_USING) != 0)
+                if ((((Short)values[1]) & DataRepositoryVersionManger.VSSTATUS_USING) != 0)
                 {
                     current = i;
                 }
@@ -1210,9 +1209,9 @@
             }
 
             sbSQL = new StringBuilder("UPDATE ");
-            sbSQL.append(encodeSchemaTableName(_pgSchema, XGVERSION_NAME)).append(' ');
+            sbSQL.append(encodeSchemaTableName(_pgSchema, DataRepositoryVersionManger.XGVERSIONTABLE_NAME)).append(' ');
             sbSQL.append(" SET vsstatus = ");
-            sbSQL.append(DataRepositoryStatus.VSSTATUS_COVERT);
+            sbSQL.append(DataRepositoryVersionManger.VSSTATUS_COVERT);
             sbSQL.append(" WHERE vsschema = '");
             sbSQL.append(targetSchema).append("'");
             int count = stmt.executeUpdate(sbSQL.toString());
@@ -1240,7 +1239,7 @@
     {
         Statement stmt = null;
         StringBuilder sql = new StringBuilder("CREATE TABLE ");
-        sql.append(encodeSchemaTableName(pgSchema, XGVERSION_NAME));
+        sql.append(encodeSchemaTableName(pgSchema, DataRepositoryVersionManger.XGVERSIONTABLE_NAME));
         sql.append(" ( vsid serial PRIMARY KEY, ");
         sql.append(" vsschema character varying(64) NOT NULL, ");
         sql.append(" vsstatus smallint NOT NULL, ");
@@ -1251,31 +1250,26 @@
             stmt.executeUpdate(sql.toString());
 
             sql = new StringBuilder("ALTER TABLE ");
-            sql.append(encodeSchemaTableName(pgSchema, XGVERSION_NAME));
+            sql.append(encodeSchemaTableName(pgSchema, DataRepositoryVersionManger.XGVERSIONTABLE_NAME));
             sql.append(" OWNER TO spatialdb");
             stmt.executeUpdate(sql.toString());
 
             sql = new StringBuilder("GRANT ALL ON TABLE ");
-            sql.append(encodeSchemaTableName(pgSchema, XGVERSION_NAME));
+            sql.append(encodeSchemaTableName(pgSchema, DataRepositoryVersionManger.XGVERSIONTABLE_NAME));
             sql.append(" TO public");
             stmt.executeUpdate(sql.toString());
 
-            sql = new StringBuilder("INSERT INTO ");
-            sql.append(encodeSchemaTableName(pgSchema, XGVERSION_NAME));
-            sql.append(" (vsschema, vsstatus) VALUES (");
-            sql.append("'gisrepo1', ");
-            sql.append(DataRepositoryStatus.VSSTATUS_UNKNOWN).append(" )");
-            stmt.executeUpdate(sql.toString());
+            for (String schemaName : DataRepositoryVersionManger.DEFAULTXGVERSIONSCHEMA_NAMES)
+            {
+                sql = new StringBuilder("INSERT INTO ");
+                sql.append(encodeSchemaTableName(pgSchema, DataRepositoryVersionManger.XGVERSIONTABLE_NAME));
+                sql.append(" (vsschema, vsstatus) VALUES ('");
+                sql.append(schemaName).append("', ");
+                sql.append(DataRepositoryVersionManger.VSSTATUS_UNKNOWN).append(" )");
+                stmt.executeUpdate(sql.toString());
 
-            sql = new StringBuilder("INSERT INTO ");
-            sql.append(encodeSchemaTableName(pgSchema, XGVERSION_NAME));
-            sql.append(" (vsschema, vsstatus) VALUES (");
-            sql.append("'gisrepo2', ");
-            sql.append(DataRepositoryStatus.VSSTATUS_UNKNOWN).append(" )");
-            stmt.executeUpdate(sql.toString());
-
-            createIfNotExistNewSchema(connection, "gisrepo1");
-            createIfNotExistNewSchema(connection, "gisrepo2");
+                createIfNotExistNewSchema(connection, schemaName);
+            }
 
         } finally {
             if (stmt != null) stmt.close();
@@ -1292,9 +1286,9 @@
         try
         {
             StringBuilder sbSQL = new StringBuilder("UPDATE ");
-            sbSQL.append(encodeSchemaTableName(_pgSchema, XGVERSION_NAME)).append(' ');
+            sbSQL.append(encodeSchemaTableName(_pgSchema, DataRepositoryVersionManger.XGVERSIONTABLE_NAME)).append(' ');
             sbSQL.append(" SET vsstatus = ");
-            sbSQL.append(DataRepositoryStatus.VSSTATUS_READY);
+            sbSQL.append(DataRepositoryVersionManger.VSSTATUS_READY);
             sbSQL.append(" WHERE vsschema = '");
             sbSQL.append(targetSchema).append("'");
 

--
Gitblit v0.0.0-SNAPSHOT