xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/DMMSNddUpdateJob.java
@@ -598,6 +598,15 @@ yy,mm,dd,t0,t1 ) , new String[]{}); String strSQLDeletePast="delete ndd.currdata where yy<>'%s' and mm<> '%s' and dd<> '%s' and tt<>'%s%s' where sr=2"; sqlExec(postsql, String.format(strSQLDeletePast, yy,mm,dd,t0,t1 ) , new String[]{}); logger.info(String.format("next xml")); } logger.info(String.format("done")); xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java
@@ -1,37 +1,21 @@ package com.ximple.eofms.jobs; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FilenameFilter; import java.io.IOException; import java.io.PushbackReader; import java.io.StringReader; import java.math.BigDecimal; import java.nio.BufferOverflowException; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.channels.FileChannel; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.sql.Types; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import java.util.TreeMap; import com.ximple.eofms.jobs.context.AbstractOracleJobContext; import com.ximple.eofms.jobs.context.postgis.FeatureDgnConvertPostGISJobContext; import com.ximple.eofms.jobs.context.postgis.GeneralDgnConvertPostGISJobContext; import com.ximple.eofms.jobs.context.postgis.IndexDgnConvertPostGISJobContext; import com.ximple.eofms.jobs.context.postgis.OracleConvertPostGISJobContext; import com.ximple.eofms.util.*; import com.ximple.io.dgn7.*; import com.ximple.util.PrintfFormat; import oracle.jdbc.OracleConnection; import oracle.jdbc.OracleResultSet; import oracle.sql.ARRAY; import oracle.sql.BLOB; 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; @@ -48,24 +32,15 @@ import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import oracle.jdbc.OracleConnection; import oracle.jdbc.OracleResultSet; import oracle.sql.ARRAY; import oracle.sql.BLOB; import com.ximple.eofms.jobs.context.AbstractOracleJobContext; import com.ximple.eofms.jobs.context.postgis.FeatureDgnConvertPostGISJobContext; import com.ximple.eofms.jobs.context.postgis.GeneralDgnConvertPostGISJobContext; import com.ximple.eofms.jobs.context.postgis.IndexDgnConvertPostGISJobContext; import com.ximple.eofms.jobs.context.postgis.OracleConvertPostGISJobContext; import com.ximple.io.dgn7.ComplexElement; import com.ximple.io.dgn7.Dgn7fileException; import com.ximple.io.dgn7.Dgn7fileReader; import com.ximple.io.dgn7.Element; import com.ximple.io.dgn7.ElementType; import com.ximple.io.dgn7.IElementHandler; import com.ximple.io.dgn7.Lock; import com.ximple.util.PrintfFormat; import java.io.*; import java.math.BigDecimal; import java.nio.BufferOverflowException; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.channels.FileChannel; import java.sql.*; import java.util.*; import java.util.Date; public class OracleConvertDgn2PostGISJob extends AbstractOracleDatabaseJob { final static Log logger = LogFactory.getLog(OracleConvertDgn2PostGISJob.class); @@ -379,7 +354,12 @@ logger.warn(ex.getMessage(), ex); throw new JobExecutionException("IO error. " + ex.getMessage(), ex); } finally { try{ disconnect(); }catch(Exception doubleEx) { } } logger.warn(jobName + " end at " + new Date()); } @@ -1238,10 +1218,15 @@ } protected void disconnect() { try{ super.disconnect(); if (targetDataStore != null) { targetDataStore.dispose(); targetDataStore = null; } }catch (Exception ex) { logger.warn(ex.getMessage()); } } @@ -1308,7 +1293,13 @@ } finally { JDBCUtils.close(rs); JDBCUtils.close(stmt); try{ JDBCUtils.close(connection, Transaction.AUTO_COMMIT, null); }catch(Exception doubleException) { } } return targetSchema; } xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/AbstractOracleToPostGISJobContext.java
@@ -1,17 +1,9 @@ package com.ximple.eofms.jobs.context.postgis; import java.io.IOException; import java.math.BigDecimal; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.*; import com.vividsolutions.jts.geom.LinearRing; import com.vividsolutions.jts.geom.*; import com.ximple.eofms.jobs.context.AbstractOracleJobContext; import com.ximple.eofms.util.FeatureTypeBuilderUtil; import com.ximple.eofms.util.postjts.JtsBinaryWriter; import org.geotools.data.DataSourceException; import org.geotools.data.DataStore; import org.geotools.data.SchemaNotFoundException; @@ -32,19 +24,10 @@ import org.opengis.filter.expression.Literal; import org.opengis.referencing.crs.CoordinateReferenceSystem; import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.GeometryCollection; import com.vividsolutions.jts.geom.LineString; import com.vividsolutions.jts.geom.MultiLineString; import com.vividsolutions.jts.geom.MultiPoint; import com.vividsolutions.jts.geom.MultiPolygon; import com.vividsolutions.jts.geom.Point; import com.vividsolutions.jts.geom.Polygon; import com.vividsolutions.jts.io.WKBWriter; import com.vividsolutions.jts.io.WKTWriter; import com.ximple.eofms.jobs.context.AbstractOracleJobContext; import com.ximple.eofms.util.postjts.JtsBinaryWriter; import java.io.IOException; import java.math.BigDecimal; import java.sql.*; import java.util.*; public abstract class AbstractOracleToPostGISJobContext extends AbstractOracleJobContext { private static Map<String, Class> GEOM_TYPE_MAP = new HashMap<String, Class>(); @@ -172,10 +155,11 @@ } catch (SchemaNotFoundException e) { return false; } catch (IOException e) { /* if (e.getMessage().indexOf("Schema") != -1) getLogger().info(e.getMessage(), e); else getLogger().info(e.getMessage()); getLogger().info(e.getMessage()); */ return false; } } xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/OracleConvertPostGISJobContext.java
@@ -339,13 +339,21 @@ protected void createOrClearFeatureDataTable(SimpleFeatureType featureType) throws SchemaException { String featureName = featureType.getTypeName(); Connection conn = null; boolean bAutocommit=false; if (isExistFeature(featureType)) { try { conn = getConnection(); if (dropTableMode) { bAutocommit=conn.getAutoCommit(); conn.setAutoCommit(false); try{ dropGeometryColumn(conn, getTargetSchema(), featureName, (featureType).getGeometryDescriptor().getName().getLocalPart()); }catch(Exception ex){}//no column try{// autocommit is enabled...@_@ dropTable(conn, getTargetSchema(), featureName); }catch (Exception ex) {} ArrayList<String> schemaTexts = createNewSchemaTexts(conn, featureType); for (String stmtText : schemaTexts) { @@ -353,6 +361,7 @@ stmt.execute(stmtText); JDBCUtils.close(stmt); } conn.setAutoCommit(bAutocommit); } else { deleteTable(conn, getTargetSchema(), featureName); }