From 5f10bce7d517a2131efd37938f60a75c82623a75 Mon Sep 17 00:00:00 2001 From: ?? ? <ulysseskao@ximple.com.tw> Date: Fri, 06 Jun 2008 19:44:04 +0800 Subject: [PATCH] update for EOFM-115 --- xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml | 4 +- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/DummyFeatureConvertShpJobContext.java | 2 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleDatabaseJob.java | 10 +++++ xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/AbstractDgnFileJobContext.java | 2 - .gitattributes | 1 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/GeneralDgnConvertShpJobContext.java | 2 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/IndexDgnConvertShpJobContext.java | 2 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/GeneralDgnConvertPostGISJobContext.java | 44 +++------------------- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java | 17 ++++++++ xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/IndexDgnConvertPostGISJobContext.java | 12 ++++-- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/AbstractDgnToShapefileJobContext.java | 13 ++++++ xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/FeatureDgnConvertShpJobContext.java | 2 12 files changed, 60 insertions(+), 51 deletions(-) diff --git a/.gitattributes b/.gitattributes index d3076e9..fdf2150 100644 --- a/.gitattributes +++ b/.gitattributes @@ -84,6 +84,7 @@ xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/GeneralDgnConvertPostGISJobContext.java svneol=native#text/plain xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/IndexDgnConvertPostGISJobContext.java svneol=native#text/plain xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/OracleConvertPostGISJobContext.java svneol=native#text/plain +xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/AbstractDgnToShapefileJobContext.java svneol=native#text/plain xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/DummyFeatureConvertShpJobContext.java svneol=native#text/plain xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/FeatureDgnConvertShpJobContext.java svneol=native#text/plain xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/GeneralDgnConvertShpJobContext.java svneol=native#text/plain diff --git a/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml b/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml index 3c5b075..105329e 100644 --- a/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml +++ b/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml @@ -88,7 +88,7 @@ </entry> <entry> <key>CREATEDUMMY</key> - <value>true</value> + <value>false</value> </entry> <entry> <key>ELEMLOG</key> @@ -100,7 +100,7 @@ </entry> <entry> <key>TESTMODE</key> - <value>false</value> + <value>true</value> </entry> <entry> <key>TESTCOUNT</key> diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleDatabaseJob.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleDatabaseJob.java index 532d267..2b1ea1e 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleDatabaseJob.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleDatabaseJob.java @@ -15,6 +15,7 @@ import org.apache.commons.logging.Log; import org.geotools.data.DataStore; +import org.geotools.data.postgis.PostgisDataStoreFactory; import org.geotools.data.jdbc.ConnectionPoolManager; import org.geotools.data.oracle.OracleDataStore; import org.geotools.data.oracle.OracleDataStoreFactory; @@ -369,6 +370,15 @@ map.put("dbtype", "oracle"); map.put("alias", _oracleInstance); map.put("namespace", null); + if (!map.containsKey(OracleDataStoreFactory.MAXCONN.key)) + { + map.put(OracleDataStoreFactory.MAXCONN.key, "2"); + } + if (!map.containsKey(OracleDataStoreFactory.MINCONN.key)) + { + map.put(OracleDataStoreFactory.MINCONN.key, "1"); + } + if (!dataStoreFactory.canProcess(map)) { getLogger().warn("cannot process properties-"); 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 058a7b8..05f5b4f 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 @@ -97,7 +97,7 @@ protected String _pgPassword; protected String _pgUseWKB; - protected Map pgProperties; + protected Map<String, String> pgProperties; protected PostgisDataStore targetDataStore; /* @@ -1087,6 +1087,21 @@ } */ + if (!pgProperties.containsKey(PostgisDataStoreFactory.MAXCONN.key)) + { + pgProperties.put(PostgisDataStoreFactory.MAXCONN.key, "2"); + } + + if (!pgProperties.containsKey(PostgisDataStoreFactory.MINCONN.key)) + { + pgProperties.put(PostgisDataStoreFactory.MINCONN.key, "1"); + } + + if (!pgProperties.containsKey(PostgisDataStoreFactory.WKBENABLED.key)) + { + pgProperties.put(PostgisDataStoreFactory.WKBENABLED.key, "true"); + } + if (!dataStoreFactory.canProcess(pgProperties)) { getLogger().warn("cannot process properties-"); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/AbstractDgnFileJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/AbstractDgnFileJobContext.java index 0cb5325..0a28ca6 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/AbstractDgnFileJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/AbstractDgnFileJobContext.java @@ -49,8 +49,6 @@ public abstract void rollbackTransaction(); - public abstract String getDataOutPath(); - public Dgn7fileReader getReader() { return this.reader; diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/GeneralDgnConvertPostGISJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/GeneralDgnConvertPostGISJobContext.java index 49fcf69..cf2e377 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/GeneralDgnConvertPostGISJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/GeneralDgnConvertPostGISJobContext.java @@ -53,7 +53,6 @@ static final Log logger = LogFactory.getLog(GeneralDgnConvertPostGISJobContext.class); static final LoggerFacade sLogger = new CommonsLoggingLogger(logger); static final GeometryFactory geometryFactory = new GeometryFactory(); - public static final String SHPOUTPATH = "shpout"; private String dataOut = null; @@ -153,8 +152,7 @@ while (it.hasNext()) { FeatureType featureType = (FeatureType) it.next(); - File sfile = new File(getDataOutPath() + File.separator + featureType.getTypeName()); - logger.debug("Begin Save shapefile:" + sfile.toURI()); + logger.debug("Begin Save into PostGIS:" + featureType.getTypeName()); FeatureWriter writer; if (featuresWriterContext.containsKey(featureType.getTypeName())) @@ -162,27 +160,14 @@ writer = featuresWriterContext.get(featureType.getTypeName()); } else { - ShapefileDataStore shapefileDataStore = null; - boolean existFile = sfile.exists(); - - if (!withIndex) + if (targetDataStore.getSchema(featureType.getTypeName()) != null) { - shapefileDataStore = new ShapefileDataStore(sfile.toURI().toURL(), - true, Charset.forName("UTF-8")); - } else - { - shapefileDataStore = new IndexedShapefileDataStore(sfile.toURI().toURL(), - null, true, true, IndexedShapefileDataStore.TREE_QIX, Charset.forName("UTF-8")); - } - - if (!existFile) - { - shapefileDataStore.createSchema(featureType); - writer = shapefileDataStore.getFeatureWriter(featureType.getTypeName(), + targetDataStore.createSchema(featureType); + writer = targetDataStore.getFeatureWriter(featureType.getTypeName(), Transaction.AUTO_COMMIT); } else { - writer = shapefileDataStore.getFeatureWriterAppend(featureType.getTypeName(), + writer = targetDataStore.getFeatureWriterAppend(featureType.getTypeName(), Transaction.AUTO_COMMIT); } featuresWriterContext.put(featureType.getTypeName(), writer); @@ -196,7 +181,7 @@ ((SimpleFeature) writer.next()).setAttributes(feature.getAttributes(null)); } //writer.close(); - logger.debug("End Save shapefile:" + sfile.toURI()); + logger.debug("End Save into PostGIS:" + featureType.getTypeName()); } featuresContext.clear(); } catch (MalformedURLException e) @@ -209,23 +194,6 @@ { logger.error(e.getMessage(), e); } - } - - public String getDataOutPath() - { - if (dataOut == null) - { - File outPath = new File(getDataPath(), SHPOUTPATH); - if (!outPath.exists()) - { - outPath.mkdir(); - } else if (!outPath.isDirectory()) - { - outPath.mkdir(); - } - dataOut = outPath.toString(); - } - return dataOut; } public void closeFeatureWriter() throws IOException diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/IndexDgnConvertPostGISJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/IndexDgnConvertPostGISJobContext.java index 15b5245..af12c88 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/IndexDgnConvertPostGISJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/postgis/IndexDgnConvertPostGISJobContext.java @@ -20,6 +20,7 @@ import org.geotools.data.FeatureWriter; import org.geotools.data.Transaction; import org.geotools.data.DataStore; +import org.geotools.data.postgis.PostgisDataStore; import org.geotools.data.shapefile.ShapefileDataStore; import org.geotools.data.shapefile.indexed.IndexedShapefileDataStore; import org.geotools.feature.AttributeTypeFactory; @@ -159,11 +160,14 @@ /* ShapefileDataStore shapefileDataStore = new ShapefileDataStore(sfile.toURI().toURL(), true, Charset.forName("UTF-8")); - */ - ShapefileDataStore shapefileDataStore = new IndexedShapefileDataStore(sfile.toURI().toURL(), + PostgisDataStore shapefileDataStore = new IndexedShapefileDataStore(sfile.toURI().toURL(), null, true, true, IndexedShapefileDataStore.TREE_QIX, Charset.forName("UTF-8")); - shapefileDataStore.createSchema(featureType); - writer = shapefileDataStore.getFeatureWriter(featureType.getTypeName(), Transaction.AUTO_COMMIT); + */ + if (targetDataStore.getSchema(featureType.getTypeName()) != null) + { + targetDataStore.createSchema(featureType); + } + writer = targetDataStore.getFeatureWriter(featureType.getTypeName(), Transaction.AUTO_COMMIT); featuresWriterContext.put(featureType.getTypeName(), writer); } diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/AbstractDgnToShapefileJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/AbstractDgnToShapefileJobContext.java new file mode 100644 index 0000000..395adc2 --- /dev/null +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/AbstractDgnToShapefileJobContext.java @@ -0,0 +1,13 @@ +package com.ximple.eofms.jobs.context.shapefile; + +import com.ximple.eofms.jobs.context.AbstractDgnFileJobContext; + +public abstract class AbstractDgnToShapefileJobContext extends AbstractDgnFileJobContext +{ + public AbstractDgnToShapefileJobContext(String dataPath) + { + super(dataPath); + } + + public abstract String getDataOutPath(); +} diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/DummyFeatureConvertShpJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/DummyFeatureConvertShpJobContext.java index bb4983c..6e93a5e 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/DummyFeatureConvertShpJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/DummyFeatureConvertShpJobContext.java @@ -43,7 +43,7 @@ import com.ximple.io.dgn7.FrammeAttributeData; import com.ximple.io.dgn7.UserAttributeData; -public class DummyFeatureConvertShpJobContext extends AbstractDgnFileJobContext +public class DummyFeatureConvertShpJobContext extends AbstractDgnToShapefileJobContext { static final Log logger = LogFactory.getLog(DummyFeatureConvertShpJobContext.class); static final LoggerFacade sLogger = new CommonsLoggingLogger(logger); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/FeatureDgnConvertShpJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/FeatureDgnConvertShpJobContext.java index 4dbd691..57039ae 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/FeatureDgnConvertShpJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/FeatureDgnConvertShpJobContext.java @@ -39,7 +39,7 @@ import com.ximple.io.dgn7.FrammeAttributeData; import com.ximple.io.dgn7.UserAttributeData; -public class FeatureDgnConvertShpJobContext extends AbstractDgnFileJobContext +public class FeatureDgnConvertShpJobContext extends AbstractDgnToShapefileJobContext { static final Log logger = LogFactory.getLog(FeatureDgnConvertShpJobContext.class); static final LoggerFacade sLogger = new CommonsLoggingLogger(logger); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/GeneralDgnConvertShpJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/GeneralDgnConvertShpJobContext.java index 546fa00..de4486b 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/GeneralDgnConvertShpJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/GeneralDgnConvertShpJobContext.java @@ -47,7 +47,7 @@ import com.ximple.io.dgn7.TextNodeElement; import com.ximple.io.dgn7.UserAttributeData; -public class GeneralDgnConvertShpJobContext extends AbstractDgnFileJobContext +public class GeneralDgnConvertShpJobContext extends AbstractDgnToShapefileJobContext { static final Log logger = LogFactory.getLog(GeneralDgnConvertShpJobContext.class); static final LoggerFacade sLogger = new CommonsLoggingLogger(logger); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/IndexDgnConvertShpJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/IndexDgnConvertShpJobContext.java index e602224..cc890d2 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/IndexDgnConvertShpJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/context/shapefile/IndexDgnConvertShpJobContext.java @@ -44,7 +44,7 @@ import com.ximple.io.dgn7.TextElement; import com.ximple.io.dgn7.UserAttributeData; -public class IndexDgnConvertShpJobContext extends AbstractDgnFileJobContext +public class IndexDgnConvertShpJobContext extends AbstractDgnToShapefileJobContext { static final Log logger = LogFactory.getLog(IndexDgnConvertShpJobContext.class); static final LoggerFacade sLogger = new CommonsLoggingLogger(logger); -- Gitblit v0.0.0-SNAPSHOT