From f603c3db4f02b28447c94d8a16dac5cf49999110 Mon Sep 17 00:00:00 2001 From: Dennis Kao <ulysseskao@gmail.com> Date: Fri, 06 Dec 2013 01:33:16 +0800 Subject: [PATCH] themes view --- xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml | 4 ++-- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeoserverIntegrateConfigJob.java | 2 +- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java | 48 ++++++++++++++++++++++++++++++++++-------------- 3 files changed, 37 insertions(+), 17 deletions(-) diff --git a/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml b/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml index d47c026..75420ba 100644 --- a/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml +++ b/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml @@ -88,11 +88,11 @@ </entry> <entry> <key>CONVERTDB</key> - <value>true</value> + <value>false</value> </entry> <entry> <key>CONVERTFILE</key> - <value>true</value> + <value>false</value> </entry> <entry> <key>CONVERTELEMIN</key> diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeoserverIntegrateConfigJob.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeoserverIntegrateConfigJob.java index 8483857..3a7b3d8 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeoserverIntegrateConfigJob.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeoserverIntegrateConfigJob.java @@ -437,7 +437,7 @@ sbSQL.append("\"").append(viewName).append("\" AS t,"); sbSQL.append("xpwtheme").append(FDYNCOLOR_SUFFIX).append(" AS fc,"); sbSQL.append("xpwtheme").append(FOWNER_SUFFIX).append(" AS fo WHERE "); - sbSQL.append("t.tid = fc.tid AND t.oid = fc.oid AND"); + sbSQL.append("t.tid = fc.tid AND t.oid = fc.oid AND "); sbSQL.append("t.tid = fo.tid AND t.oid = fo.oid"); // sbSQL.delete(sbSQL.length() - 2, sbSQL.length()); 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 2cc9b81..10301d8 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 @@ -29,6 +29,9 @@ import org.apache.commons.collections.OrderedMap; import org.apache.commons.collections.OrderedMapIterator; import org.apache.commons.collections.map.LinkedMap; +import org.apache.commons.dbcp.DelegatingConnection; +import org.apache.commons.dbcp.PoolingConnection; +import org.apache.commons.dbcp.PoolingDataSource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.geotools.data.DataStore; @@ -247,7 +250,6 @@ long tStepEnd = System.currentTimeMillis(); logTimeDiff("Profile-convertOtherDesignFile", tStep, tStepEnd); } - } OracleConvertPostGISJobContext jobContext = null; @@ -336,6 +338,12 @@ updateRepoStatusToReady(targetSchemaName); if (checkConvertPWThemes()) { + jobContext = (OracleConvertPostGISJobContext) prepareJobContext(targetSchemaName, _filterPath, + isProfileMode(), isTransformed()); + jobContext.setSourceDataStore(getSourceDataStore()); + jobContext.setElementLogging(checkElementLogging()); + jobContext.setExecutionContext(context); + long tStep = System.currentTimeMillis(); if (!convertPowerOwnerThemeWithCopyAPI(jobContext, targetThemeTable)) { convertPowerOwnerTheme(jobContext, targetThemeTable); @@ -351,6 +359,7 @@ long tStepEnd = System.currentTimeMillis(); logTimeDiff("Profile-convertFeatureDesignFile", tStep, tStepEnd); } + jobContext.closeOracleConnection(); } updatePWThemeStatusToReady(targetThemeTable); @@ -1341,6 +1350,8 @@ } public String encodeSchemaTableName(String schemaName, String tableName) { + if (schemaName == null) + return "\"" + tableName + "\""; return "\"" + schemaName + "\".\"" + tableName + "\""; } @@ -1461,7 +1472,7 @@ sbSQL.append(encodeSchemaTableName(_pgSchema, DataReposVersionManager.XPTVERSIONTABLE_NAME)).append(' '); sbSQL.append(" SET vptstatus = "); sbSQL.append(DataReposVersionManager.VSSTATUS_READY); - sbSQL.append(" , vstimestamp = CURRENT_TIMESTAMP WHERE vptname = '"); + sbSQL.append(" , vpttimestamp = CURRENT_TIMESTAMP WHERE vptname = '"); sbSQL.append(targetSchema).append("'"); connection = targetDataStore.getConnection(Transaction.AUTO_COMMIT); @@ -1688,31 +1699,34 @@ } Connection connection = context.getOracleConnection(); Connection connectionPG = targetDataStore.getConnection(Transaction.AUTO_COMMIT); + while (connectionPG instanceof DelegatingConnection) { + connectionPG = ((DelegatingConnection) connectionPG).getDelegate(); + } if (!(connectionPG instanceof PGConnection)) { return false; } + final int MAX_BATCHSIZE = 250; ResultSet rs = null; Statement stmt = null; try { - + // connectionPG.setAutoCommit(false); DefaultColorTable colorTable = (DefaultColorTable) DefaultColorTable.getInstance(); String targetTableName = targetTableBaseName + FDYNCOLOR_SUFFIX; String targetTempName = "tmp_" + targetTableName; logger.info("target table:" + targetTableName); stmt = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); rs = stmt.executeQuery(FETCH_COLORTAB); - rs.setFetchSize(50); + rs.setFetchSize(MAX_BATCHSIZE); createOrClearTempTargetTable(connectionPG, targetTempName, "(tid smallint not null, oid int not null, dyncolor varchar(10) not null)"); StringBuilder sb = new StringBuilder(); CopyManager cpMgr = ((PGConnection) connectionPG).getCopyAPI(); - PushbackReader reader = new PushbackReader(new StringReader(""), 4096); + PushbackReader reader = new PushbackReader(new StringReader(""), 10240); - final int MAX_BATCHSIZE = 50; int count = 0; while (rs.next()) { int cid = rs.getInt(1); @@ -1756,18 +1770,25 @@ } Connection connection = context.getOracleConnection(); Connection connectionPG = targetDataStore.getConnection(Transaction.AUTO_COMMIT); + while (connectionPG instanceof DelegatingConnection) { + connectionPG = ((DelegatingConnection) connectionPG).getDelegate(); + } - boolean found = false; + if (!(connectionPG instanceof PGConnection)) { + return false; + } + + final int MAX_BATCHSIZE = 250; ResultSet rs = null; Statement stmt = null; try { - connectionPG.setAutoCommit(false); + // connectionPG.setAutoCommit(false); String targetTableName = targetTableBaseName + FOWNER_SUFFIX; String targetTempName = "tmp_" + targetTableName; logger.info("target table:" + targetTableName); stmt = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); rs = stmt.executeQuery(FETCH_CONNFDR); - rs.setFetchSize(50); + rs.setFetchSize(MAX_BATCHSIZE); createOrClearTempTargetTable(connectionPG, targetTempName, "(tid smallint not null, oid int not null, fowner smallint not null)"); @@ -1775,9 +1796,8 @@ StringBuilder sb = new StringBuilder(); CopyManager cpMgr = ((PGConnection) connectionPG).getCopyAPI(); - PushbackReader reader = new PushbackReader(new StringReader(""), 4096); + PushbackReader reader = new PushbackReader(new StringReader(""), 10240); - final int MAX_BATCHSIZE = 50; int count = 0; while (rs.next()) { int cid = rs.getInt(1); @@ -1816,12 +1836,12 @@ Statement stmt = connection.createStatement(); ResultSet rs = null; try { - rs = connection.getMetaData().getTables(null, _pgSchema, tableName, new String[]{"TABLE"}); + rs = connection.getMetaData().getTables(null, null, tableName, new String[]{"TABLE"}); if (rs.next()) { - stmt.execute("DROP TABLE " + encodeSchemaTableName(_pgSchema, tableName) + "CASCADE"); + stmt.execute("DROP TABLE " + encodeSchemaTableName(null, tableName) + "CASCADE"); } - stmt.executeUpdate("CREATE TEMP TABLE " + encodeSchemaTableName(_pgSchema, tableName) + " " + sql); + stmt.executeUpdate("CREATE TEMP TABLE " + encodeSchemaTableName(null, tableName) + " " + sql); } finally { JDBCUtils.close(rs); JDBCUtils.close(stmt); -- Gitblit v0.0.0-SNAPSHOT