From 3027b8a4438d105c275385356d5b90d264fb828c Mon Sep 17 00:00:00 2001 From: ?? ? <ulysseskao@ximple.com.tw> Date: Mon, 05 May 2008 12:07:16 +0800 Subject: [PATCH] update for EOFM-72 --- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleDatabaseJob.java | 12 +++ xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateShapeStrategy.java | 18 ++--- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertJobContext.java | 4 - xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java | 31 +++++---- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeIdDispatchableFilter.java | 2 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/DefaultColorTable.java | 1 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/TWD97GeometryConverterDecorator.java | 8 +- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineStringStrategy.java | 9 ++ xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/ElementTypeCriterion.java | 4 xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml | 12 +-- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/LangUtil.java | 6 +- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateTextStrategy.java | 8 +- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeCompIdDispatchableFilter.java | 2 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/GeomUtil.java | 2 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineTextStrategy.java | 19 +++--- 15 files changed, 70 insertions(+), 68 deletions(-) diff --git a/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml b/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml index 9d80084..b0de3b8 100644 --- a/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml +++ b/xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml @@ -10,19 +10,15 @@ <job-detail> <name>ConvertDgn2ShpIntoDirectory</name> <group>DEFAULT</group> - <description> - A job that convert dgn to shapefiles - </description> - <job-class> - com.ximple.eofms.jobs.OracleConvertDgn2ShpJob - </job-class> + <description>A job that convert dgn to shapefiles</description> + <job-class>com.ximple.eofms.jobs.OracleConvertDgn2ShpJob</job-class> <volatility>false</volatility> <durability>false</durability> <recover>false</recover> <job-data-map allows-transient-data="true"> <entry> <key>SHPDATA_DIR</key> - <value>c:\temp\data</value> + <value>g:\temp\data</value> </entry> <entry> <key>ORAHOST</key> @@ -46,7 +42,7 @@ </entry> <entry> <key>ORGSCHEMA</key> - <value>SPATIALDB</value> + <value>SPATIALDB, CMMS_SPATIALDB</value> </entry> <entry> <key>TESTMODE</key> diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineStringStrategy.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineStringStrategy.java index 48b560b..06209ef 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineStringStrategy.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineStringStrategy.java @@ -9,12 +9,17 @@ import org.geotools.feature.IllegalAttributeException; import org.geotools.feature.SchemaException; -import com.vividsolutions.jts.geom.GeometryFactory; import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.GeometryFactory; -import com.ximple.io.dgn7.*; import com.ximple.eofms.jobs.TWD97GeometryConverterDecorator; import com.ximple.eofms.util.DefaultColorTable; +import com.ximple.io.dgn7.ComplexChainElement; +import com.ximple.io.dgn7.Element; +import com.ximple.io.dgn7.FrammeAttributeData; +import com.ximple.io.dgn7.LineElement; +import com.ximple.io.dgn7.LineStringElement; +import com.ximple.io.dgn7.UserAttributeData; public class CreateLineStringStrategy implements CreateFeatureTypeStrategy { diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineTextStrategy.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineTextStrategy.java index b4afa4e..5416a5f 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineTextStrategy.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineTextStrategy.java @@ -2,28 +2,27 @@ import java.util.List; -import org.geotools.feature.FeatureTypeBuilder; -import org.geotools.feature.FeatureType; -import org.geotools.feature.SchemaException; import org.geotools.feature.AttributeTypeFactory; import org.geotools.feature.Feature; +import org.geotools.feature.FeatureType; +import org.geotools.feature.FeatureTypeBuilder; import org.geotools.feature.IllegalAttributeException; +import org.geotools.feature.SchemaException; -import com.vividsolutions.jts.geom.GeometryFactory; -import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.GeometryFactory; import com.vividsolutions.jts.geom.LineString; import com.ximple.eofms.jobs.TWD97GeometryConverterDecorator; import com.ximple.eofms.util.DefaultColorTable; import com.ximple.eofms.util.TWDDatumConverter; -import com.ximple.io.dgn7.FrammeAttributeData; import com.ximple.io.dgn7.Element; -import com.ximple.io.dgn7.UserAttributeData; -import com.ximple.io.dgn7.LineStringElement; -import com.ximple.io.dgn7.ComplexChainElement; -import com.ximple.io.dgn7.TextElement; +import com.ximple.io.dgn7.FrammeAttributeData; import com.ximple.io.dgn7.LineElement; +import com.ximple.io.dgn7.LineStringElement; +import com.ximple.io.dgn7.TextElement; +import com.ximple.io.dgn7.UserAttributeData; public class CreateLineTextStrategy implements CreateFeatureTypeStrategy { diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateShapeStrategy.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateShapeStrategy.java index a408877..40cbc6b 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateShapeStrategy.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateShapeStrategy.java @@ -2,25 +2,23 @@ import java.util.List; -import org.geotools.feature.FeatureTypeBuilder; -import org.geotools.feature.FeatureType; -import org.geotools.feature.SchemaException; import org.geotools.feature.AttributeTypeFactory; import org.geotools.feature.Feature; +import org.geotools.feature.FeatureType; +import org.geotools.feature.FeatureTypeBuilder; import org.geotools.feature.IllegalAttributeException; +import org.geotools.feature.SchemaException; -import com.vividsolutions.jts.geom.GeometryFactory; import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.GeometryFactory; import com.ximple.eofms.jobs.TWD97GeometryConverterDecorator; import com.ximple.eofms.util.DefaultColorTable; -import com.ximple.io.dgn7.FrammeAttributeData; -import com.ximple.io.dgn7.Element; -import com.ximple.io.dgn7.UserAttributeData; -import com.ximple.io.dgn7.LineStringElement; -import com.ximple.io.dgn7.ComplexChainElement; -import com.ximple.io.dgn7.ShapeElement; import com.ximple.io.dgn7.ComplexShapeElement; +import com.ximple.io.dgn7.Element; +import com.ximple.io.dgn7.FrammeAttributeData; +import com.ximple.io.dgn7.ShapeElement; +import com.ximple.io.dgn7.UserAttributeData; public class CreateShapeStrategy implements CreateFeatureTypeStrategy { diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateTextStrategy.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateTextStrategy.java index 7cb5f26..71f76c3 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateTextStrategy.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateTextStrategy.java @@ -9,16 +9,16 @@ import org.geotools.feature.IllegalAttributeException; import org.geotools.feature.SchemaException; -import com.vividsolutions.jts.geom.GeometryFactory; import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.GeometryFactory; +import com.ximple.eofms.jobs.TWD97GeometryConverterDecorator; +import com.ximple.eofms.util.DefaultColorTable; import com.ximple.io.dgn7.Element; import com.ximple.io.dgn7.FrammeAttributeData; import com.ximple.io.dgn7.TextElement; -import com.ximple.io.dgn7.UserAttributeData; import com.ximple.io.dgn7.TextNodeElement; -import com.ximple.eofms.jobs.TWD97GeometryConverterDecorator; -import com.ximple.eofms.util.DefaultColorTable; +import com.ximple.io.dgn7.UserAttributeData; public class CreateTextStrategy implements CreateFeatureTypeStrategy { diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/ElementTypeCriterion.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/ElementTypeCriterion.java index 4c51245..f5fc9e6 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/ElementTypeCriterion.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/ElementTypeCriterion.java @@ -1,9 +1,9 @@ package com.ximple.eofms.filter; -import com.ximple.io.dgn7.Element; - import java.util.ArrayList; +import com.ximple.io.dgn7.Element; + public class ElementTypeCriterion implements Comparable { private int elementType; diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeCompIdDispatchableFilter.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeCompIdDispatchableFilter.java index e5e80b6..a8fde34 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeCompIdDispatchableFilter.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeCompIdDispatchableFilter.java @@ -8,8 +8,6 @@ import com.ximple.io.dgn7.Element; import com.ximple.io.dgn7.FrammeAttributeData; -import java.util.ArrayList; - public class TypeCompIdDispatchableFilter extends AbstractFLinkageDispatchableFilter { private int tid; diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeIdDispatchableFilter.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeIdDispatchableFilter.java index c45b547..591f465 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeIdDispatchableFilter.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeIdDispatchableFilter.java @@ -8,8 +8,6 @@ import com.ximple.io.dgn7.Element; import com.ximple.io.dgn7.FrammeAttributeData; -import java.util.ArrayList; - public class TypeIdDispatchableFilter extends AbstractFLinkageDispatchableFilter { private int tid; 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 00057d2..3e0aaea 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 @@ -5,6 +5,8 @@ import java.io.InputStream; import java.nio.ByteBuffer; import java.sql.SQLException; +import java.util.ArrayList; +import java.util.StringTokenizer; import org.apache.commons.logging.Log; import org.quartz.Job; @@ -37,7 +39,7 @@ protected String _oraclePort; protected String _username; protected String _password; - protected String _orgSchema; + protected ArrayList<String> _orgSchema = new ArrayList<String>(); protected boolean _testMode = false; protected int _testCount = -1; @@ -56,7 +58,13 @@ _oraclePort = dataMap.getString(ORAPORT); _username = dataMap.getString(ORAUSER); _password = dataMap.getString(ORAPASS); - _orgSchema = dataMap.getString(SPATAILSCHEMA); + String strSchema = dataMap.getString(SPATAILSCHEMA); + StringTokenizer st = new StringTokenizer(strSchema, ","); + while (st.hasMoreTokens()) + { + String aSchema = st.nextToken(); + _orgSchema.add(aSchema); + } _testMode = dataMap.getBooleanFromString(TESTMODE); _testCount = dataMap.getIntFromString(TESTCOUNT); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java index 73ad22e..eb57abf 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java @@ -1,5 +1,6 @@ package com.ximple.eofms.jobs; +import java.io.IOException; import java.math.BigDecimal; import java.nio.ByteBuffer; import java.nio.ByteOrder; @@ -8,7 +9,6 @@ import java.sql.Statement; import java.sql.Types; import java.util.Date; -import java.io.IOException; import org.apache.commons.collections.OrderedMap; import org.apache.commons.collections.OrderedMapIterator; @@ -87,32 +87,35 @@ jobContext.setLogin(_username, _password); jobContext.setShapeData(_dataPath); jobContext.setExecutionContext(context); - + try { copyConnectivity(jobContext); - exetcuteConvert(jobContext, _orgSchema, _dataPath); - //exetcuteConvert(jobContext, "CMMS_SPATIALDB", _dataPath); + for (String orgSchema : _orgSchema) + { + exetcuteConvert(jobContext, orgSchema, _dataPath); - //close all open filewriter instance - jobContext.closeFeatureWrite(); + //close all open filewriter instance + jobContext.closeFeatureWrite(); + } } catch (SQLException e) { logger.warn(e.getMessage(), e); throw new JobExecutionException("Database error.", e); - } catch (IOException ex) { + } catch (IOException ex) + { ex.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } } //Connectivity�ƻs�@�Ӫ����A�b�d�߹q�y��V�ɥΨӤ��OMS��Ʈw���q���s����(Connectivity) - private void copyConnectivity(OracleConvertJobContext jobContext) throws SQLException + private void copyConnectivity(OracleConvertJobContext jobContext) throws SQLException { - OracleConnection connection = jobContext.getOracleConnection() ; - Statement stmt = connection.createStatement(); - stmt.execute(OracleConvertJobContext.TRUNCATE_CONNECTIVITY_WEBCHECK); - stmt.execute(OracleConvertJobContext.COPY_CONNECTIVITY_TO_WEBCHECK); + OracleConnection connection = jobContext.getOracleConnection(); + Statement stmt = connection.createStatement(); + stmt.execute(OracleConvertJobContext.TRUNCATE_CONNECTIVITY_WEBCHECK); + stmt.execute(OracleConvertJobContext.COPY_CONNECTIVITY_TO_WEBCHECK); } private void exetcuteConvert(OracleConvertJobContext jobContext, @@ -127,7 +130,7 @@ int total = map.size(); //spacenodes count int step = total / 100; int current = 0; - + //jobContext.startTransaction(); jobContext.getExecutionContext().put("ConvertDgn2ShpJobProgress", 0); for (OrderedMapIterator it = map.orderedMapIterator(); it.hasNext();) @@ -262,7 +265,7 @@ String fetchSrcStmt = spf.sprintf(new Object[]{srcschema, srctable}); Statement stmtSrc = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); - stmtSrc.setFetchSize(FETCHSIZE); + stmtSrc.setFetchSize(FETCHSIZE); ResultSet rsSrc = stmtSrc.executeQuery(fetchSrcStmt); diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertJobContext.java index 749cb89..4cc09f5 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertJobContext.java @@ -1,12 +1,10 @@ package com.ximple.eofms.jobs; import java.io.File; -import java.io.FileNotFoundException; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; -import java.net.URLDecoder; import java.sql.DriverManager; import java.sql.SQLException; import java.util.ArrayList; @@ -28,8 +26,8 @@ import org.geotools.feature.FeatureType; import org.geotools.feature.IllegalAttributeException; import org.geotools.feature.SimpleFeature; -import org.xml.sax.SAXException; import org.quartz.JobExecutionContext; +import org.xml.sax.SAXException; import com.vividsolutions.jts.util.Assert; diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/TWD97GeometryConverterDecorator.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/TWD97GeometryConverterDecorator.java index 0d71def..e45d248 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/TWD97GeometryConverterDecorator.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/TWD97GeometryConverterDecorator.java @@ -1,14 +1,14 @@ package com.ximple.eofms.jobs; +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.CoordinateSequence; +import com.vividsolutions.jts.geom.CoordinateSequenceFilter; import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.GeometryFactory; -import com.vividsolutions.jts.geom.CoordinateSequenceFilter; -import com.vividsolutions.jts.geom.CoordinateSequence; -import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.util.Assert; -import com.ximple.io.dgn7.GeometryConverter; import com.ximple.eofms.util.TWDDatumConverter; +import com.ximple.io.dgn7.GeometryConverter; public class TWD97GeometryConverterDecorator implements GeometryConverter { diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/DefaultColorTable.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/DefaultColorTable.java index f3bdfdb..787b15a 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/DefaultColorTable.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/DefaultColorTable.java @@ -3,7 +3,6 @@ import java.awt.Color; import java.util.ArrayList; import java.util.List; -import java.util.Iterator; public class DefaultColorTable implements ColorTableMapping { diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/GeomUtil.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/GeomUtil.java index 023ee69..ebdf0d2 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/GeomUtil.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/GeomUtil.java @@ -1,7 +1,7 @@ package com.ximple.eofms.util; -import com.vividsolutions.jts.geom.Envelope; import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.Envelope; /** * Created by IntelliJ IDEA. diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/LangUtil.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/LangUtil.java index 794c27b..c8c933d 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/LangUtil.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/LangUtil.java @@ -1,11 +1,11 @@ package com.ximple.eofms.util; -import java.util.Collection; -import java.util.Arrays; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; import java.util.Iterator; import java.util.Map; -import java.util.HashMap; import com.vividsolutions.jts.util.Assert; -- Gitblit v0.0.0-SNAPSHOT