xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeoserverIntegrateConfigJob.java
@@ -355,6 +355,7 @@ // ArrayList<String> extraViewNames = new ArrayList<String>(); XGeosDataConfigMapping configMapping = getConfigMapping(); MultiMap configMultiMap = configMapping.getMapping(); logger.warn("configMapping:"+configMapping.getMapping().keySet().toString()); for (Object key : configMultiMap.keySet()) { List values = (List) configMultiMap.get(key); for (Object value : values) { xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java
@@ -1704,7 +1704,7 @@ try { rs = connection.getMetaData().getTables(null, _pgSchema, tableName, new String[]{"TABLE"}); if (rs.next()) { stmt.execute("DROP TABLE " + encodeSchemaTableName(_pgSchema, tableName) + "CASCADE"); stmt.execute("DROP TABLE " + encodeSchemaTableName(_pgSchema, tableName) + " CASCADE"); } stmt.executeUpdate("CREATE TABLE " + encodeSchemaTableName(_pgSchema, tableName) + " " + sql); @@ -1900,7 +1900,7 @@ try { rs = connection.getMetaData().getTables(null, null, tableName, new String[]{"TABLE"}); if (rs.next()) { stmt.execute("DROP TABLE " + encodeSchemaTableName(null, tableName) + "CASCADE"); stmt.execute("DROP TABLE " + encodeSchemaTableName(null, tableName) + " CASCADE"); } stmt.executeUpdate("CREATE TEMP TABLE " + encodeSchemaTableName(null, tableName) + " " + sql); @@ -1933,7 +1933,7 @@ // stmt.execute("SELECT * INTO " + tableName + " FROM " + tempTable); stmt.execute("INSERT INTO " + tableName + " SELECT * FROM " + tempTable); } stmt.execute("DROP TABLE " + tempTable); stmt.execute("DROP TABLE " + tempTable + " CASCADE"); } finally { JDBCUtils.close(rs); JDBCUtils.close(stmt); xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/AbstractOracleToPostGISJobContext.java
@@ -29,6 +29,13 @@ import java.sql.*; import java.util.*; /* select 'drop view '||schemaname ||'.'|| viewname ||';' from pg_catalog.pg_views where schemaname NOT IN ('pg_catalog', 'information_schema') AND schemaname='public' and viewname like 'fsc%' order by schemaname, viewname; */ public abstract class AbstractOracleToPostGISJobContext extends AbstractOracleJobContext { private static Map<String, Class> GEOM_TYPE_MAP = new HashMap<String, Class>(); private static Map<String, Class> GEOM3D_TYPE_MAP = new HashMap<String, Class>(); @@ -185,7 +192,7 @@ sb.append("\".\""); sb.append(tableName); sb.append("\""); // sb.append(" CASCADE"); sb.append(" CASCADE"); try { stmt.execute(sb.toString()); } catch (SQLException e) { @@ -210,6 +217,9 @@ sb.append(geomField); sb.append("')"); //return true; //skip try { stmt.execute(sb.toString()); } catch (SQLException e) { @@ -221,6 +231,7 @@ conn.commit(); } return true; } protected String dropGeometryColumn(String dbSchema, String tableName, String geomField) { @@ -277,11 +288,12 @@ } GeometryDescriptor geomAttribute = (GeometryDescriptor) descriptor; sqlStr = dropGeometryColumn(getTargetSchema(), tableName, geomAttribute.getLocalName()); getLogger().info(sqlStr); //getLogger().info(sqlStr); //skip result.add(sqlStr); } // sqlStr = "DROP TABLE " + encodeSchemaTableName(tableName) + " CASCADE;"; sqlStr = "DROP TABLE " + encodeSchemaTableName(tableName) + " ;"; sqlStr = "DROP TABLE " + encodeSchemaTableName(tableName) + " CASCADE ;"; getLogger().info(sqlStr); result.add(sqlStr); } xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/OracleIncrementPostGISJobContext.java
@@ -1,22 +1,5 @@ package com.ximple.eofms.jobs.context.postgis; import java.io.File; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.sql.BatchUpdateException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.util.Assert; import com.ximple.eofms.filter.AbstractFLinkageDispatchableFilter; @@ -42,6 +25,17 @@ import org.postgresql.util.PSQLException; import org.quartz.JobExecutionContext; import org.xml.sax.SAXException; import java.io.File; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.sql.*; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; public class OracleIncrementPostGISJobContext extends AbstractOracleToPostGISJobContext implements CreateFeatureTypeEventListener { @@ -172,21 +166,46 @@ } } else if (context.transcationType == 3) { // Remove Whole Feature String deleteStmt = makePrepareDeleteSql(context); logger.trace("Execute SQL(3):" + deleteStmt); executeSQL(deleteStmt); // boolean bDeleteWholeFeature=checkPrepareDeleteWholeFeatureByComponentIdNegative(context) ; // if(bDeleteWholeFeature) { try { List<String> tableList = fetchExistTableSchema(getTargetSchema(), context); for (String targetTable : tableList) { String deleteStmt = makePrepareDeleteSql(context, targetTable); logger.trace("Execute SQL(3):" + deleteStmt); executeSQL(deleteStmt); } } catch (SQLException e) { logger.warn(e.getMessage(), e); } }/* else { String deleteStmt = makePrepareDeleteSql(context); logger.trace("Execute SQL(3):" + deleteStmt); executeSQL(deleteStmt); } */ } else if (context.transcationType == 4) { // Remove Feature Part try { List<String> tableList = fetchExistTableSchema(getTargetSchema(), context); for (String targetTable : tableList) { String deleteStmt = makePrepareDeleteSql(context, targetTable); logger.trace("Execute SQL(4):" + deleteStmt); executeSQL(deleteStmt); //boolean bDeleteWholeFeature=checkPrepareDeleteWholeFeatureByComponentIdNegative(context) ; //if(bDeleteWholeFeature) /*{ try { List<String> tableList = fetchExistTableSchema(getTargetSchema(), context); for (String targetTable : tableList) { String deleteStmt = makePrepareDeleteSql(context, targetTable); logger.trace("Execute SQL(4):" + deleteStmt); executeSQL(deleteStmt); } } catch (SQLException e) { logger.warn(e.getMessage(), e); } } catch (SQLException e) { logger.warn(e.getMessage(), e); } } else*/ //{ String deleteStmt = makePrepareDeleteSql(context); logger.trace("Execute SQL(4):" + deleteStmt); executeSQL(deleteStmt); //} } } @@ -545,7 +564,11 @@ String tableName = getFeatureTableName(context, false); return makePrepareDeleteSql(context, tableName); } public boolean checkPrepareDeleteWholeFeatureByComponentIdNegative(ElementTransactionContext context) { if(context==null) return false ; return context.compid<0; } private String makePrepareDeleteSql(ElementTransactionContext context, String targetTable) { StringBuilder stmtBuilder = new StringBuilder(); stmtBuilder.append("DELETE FROM "); xdgnjobs/ximple-spatialjob/src/main/resources/com/ximple/eofms/geoserver/config/xgeosdataconfig.xml
Diff too large xdgnjobs/ximple-spatialjob/src/main/resources/conf/DefaultConvertShpFilter.xml
@@ -39,7 +39,16 @@ </elementCriterion> <TextCreateStrategy/> </TypeCompFilter> <TypeCompFilter name="FSC-106.C-5"> <tid>106</tid> <cid>5</cid> <description>線路相序</description> <elementCriterion> <elementType>7</elementType> <elementType>17</elementType> </elementCriterion> <TextCreateStrategy/> </TypeCompFilter> <TypeCompFilter name="FSC-106.C-99"> <tid>106</tid> <cid>99</cid> @@ -212,7 +221,7 @@ <elementCriterion> <elementType>17</elementType> </elementCriterion> <TextCreateStrategy/> <SymbolCreateStrategy/> </TypeCompFilter> <TypeCompFilter name="FSC-417.C-3"> <tid>417</tid> @@ -248,7 +257,7 @@ <elementCriterion> <elementType>17</elementType> </elementCriterion> <TextCreateStrategy/> <SymbolCreateStrategy/> </TypeCompFilter> <TypeCompFilter name="FSC-420.C-0"> <tid>420</tid> @@ -972,7 +981,7 @@ <elementType>4</elementType> <elementType>12</elementType> </elementCriterion> <TextCreateStrategy/> <LineCreateStrategy/> </TypeCompFilter> <TypeCompFilter name="FSC-202.C-0"> <tid>202</tid> @@ -1324,7 +1333,7 @@ <elementCriterion> <elementType>17</elementType> </elementCriterion> <TextCreateStrategy/> <SymbolCreateStrategy/> </TypeCompFilter> <TypeCompFilter name="FSC-215.C-0"> @@ -1381,7 +1390,7 @@ <elementCriterion> <elementType>17</elementType> </elementCriterion> <TextCreateStrategy/> <SymbolCreateStrategy/> </TypeCompFilter> <TypeCompFilter name="FSC-218.C-1"> <tid>218</tid> @@ -1484,12 +1493,12 @@ </TypeCompFilter> <TypeCompFilter name="FSC-304.C-0"> <tid>304</tid> <cid>99</cid> <cid>0</cid> <description>導線交叉</description> <elementCriterion> <elementType>17</elementType> </elementCriterion> <TextCreateStrategy/> <SymbolCreateStrategy/> </TypeCompFilter> <TypeCompFilter name="FSC-999.C-0"> @@ -1595,6 +1604,7 @@ <elementType>12</elementType> <elementType>16</elementType> <elementType>4</elementType> <elementType>3</elementType> </elementCriterion> <LineCreateStrategy/> </TypeCompFilter> @@ -1757,7 +1767,7 @@ <elementCriterion> <elementType>17</elementType> </elementCriterion> <TextCreateStrategy/> <SymbolCreateStrategy/> </TypeCompFilter> <TypeCompFilter name="FSC-310.C-1"> <tid>310</tid>