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/context/AbstractOracleJobContext.java | 5 +- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java | 66 +++++++++++++++++++++++--------- 2 files changed, 50 insertions(+), 21 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++; diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/AbstractOracleJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/AbstractOracleJobContext.java index 19f757d..7d5f65b 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/AbstractOracleJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/AbstractOracleJobContext.java @@ -176,8 +176,9 @@ /** * copy connectivity to connectivity_webcheck sql */ - public static final String TRUNCATE_CONNECTIVITY_WEBCHECK = "TRUNCATE TABLE BASEDB.CONNECTIVITY_WEBCHECK"; - protected static final String CREATE_CONNECTIVITY_WEBCHECK = "CREATE TABLE BASEDB.CONNECTIVITY_WEBCHECK\n" + + public static final String CONNECTIVITY_WEBCHECK_NAME = "CONNECTIVITY_WEBCHECK"; + public static final String TRUNCATE_CONNECTIVITY_WEBCHECK = "TRUNCATE TABLE BASEDB.CONNECTIVITY_WEBCHECK"; + public static final String CREATE_CONNECTIVITY_WEBCHECK = "CREATE TABLE BASEDB.CONNECTIVITY_WEBCHECK\n" + "( FSC NUMBER(5) NOT NULL," + " UFID NUMBER(10) NOT NULL," + " N1 NUMBER(10)," + -- Gitblit v0.0.0-SNAPSHOT