From 2dc52b4a4b6f2ca3defdeb3e10b8f34f1f38dea9 Mon Sep 17 00:00:00 2001
From: ?? ? <ulysseskao@ximple.com.tw>
Date: Tue, 06 May 2008 18:45:25 +0800
Subject: [PATCH] update for EOFM-75

---
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/IndexDgnConvertJobContext.java |   69 ++++++++++++++++------------------
 1 files changed, 33 insertions(+), 36 deletions(-)

diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/IndexDgnConvertJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/IndexDgnConvertJobContext.java
index bdb7c76..27b1a9d 100644
--- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/IndexDgnConvertJobContext.java
+++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/IndexDgnConvertJobContext.java
@@ -2,49 +2,47 @@
 
 import java.io.File;
 import java.io.IOException;
-import java.util.HashMap;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Iterator;
 import java.net.MalformedURLException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
 
-import org.geotools.feature.Feature;
-import org.geotools.feature.FeatureType;
-import org.geotools.feature.SchemaException;
-import org.geotools.feature.FeatureTypeBuilder;
-import org.geotools.feature.AttributeTypeFactory;
-import org.geotools.feature.FeatureTypeFactory;
-import org.geotools.feature.IllegalAttributeException;
-import org.geotools.feature.SimpleFeature;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.commons.transaction.memory.PessimisticMapWrapper;
+import org.apache.commons.transaction.util.CommonsLoggingLogger;
+import org.apache.commons.transaction.util.LoggerFacade;
 import org.geotools.data.FeatureWriter;
 import org.geotools.data.Transaction;
 import org.geotools.data.shapefile.ShapefileDataStore;
-import org.apache.commons.transaction.memory.PessimisticMapWrapper;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+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 org.geotools.feature.SimpleFeature;
 
+import com.vividsolutions.jts.geom.Coordinate;
 import com.vividsolutions.jts.geom.Envelope;
 import com.vividsolutions.jts.geom.Geometry;
 import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.Coordinate;
 
-import com.ximple.io.dgn7.Dgn7fileReader;
+import com.ximple.eofms.util.DefaultColorTable;
+import com.ximple.eofms.util.TPCLIDConverter;
+import com.ximple.eofms.util.TWDDatumConverter;
 import com.ximple.io.dgn7.Element;
 import com.ximple.io.dgn7.FrammeAttributeData;
 import com.ximple.io.dgn7.TextElement;
-import com.ximple.io.dgn7.ShapeElement;
-import com.ximple.io.dgn7.ComplexShapeElement;
 import com.ximple.io.dgn7.UserAttributeData;
-import com.ximple.eofms.filter.AbstractFLinkageDispatchableFilter;
-import com.ximple.eofms.util.TPCLIDConverter;
-import com.ximple.eofms.util.DefaultColorTable;
-import com.ximple.eofms.util.StringUtils;
 
 public class IndexDgnConvertJobContext extends AbstractDgnFileJobContext
 {
-    static Log logger = LogFactory.getLog(IndexDgnConvertJobContext.class);
-    static GeometryFactory geometryFactory = new GeometryFactory();
-    private final static String SHPOUTPATH = "shpout";
+    static final Log logger = LogFactory.getLog(IndexDgnConvertJobContext.class);
+    static final LoggerFacade sLogger = new CommonsLoggingLogger(logger);
+    static final GeometryFactory geometryFactory = new GeometryFactory();
+    static final String SHPOUTPATH = "shpout";
 
     private String dataOut = null;
 
@@ -58,6 +56,7 @@
     public IndexDgnConvertJobContext(String dataPath)
     {
         super(dataPath);
+        txFeaturesContext = new PessimisticMapWrapper(featuresContext, sLogger);
     }
 
     public void putFeatureCollection(Element element) throws IllegalAttributeException, SchemaException
@@ -125,7 +124,7 @@
                 File sfile = new File(getDataOutPath() + "\\" + featureType.getTypeName());
                 logger.debug("Begin Save shapefile:" + sfile.toURI());
 
-                FeatureWriter writer = null;
+                FeatureWriter writer;
                 if(featuresWriterContext.containsKey(featureType.getTypeName()))
                 {
                     writer = (FeatureWriter) featuresWriterContext.get(featureType.getTypeName()) ;
@@ -163,7 +162,6 @@
         {
             logger.error(e.getMessage(), e);
         }
-
     }
 
     public String getDataOutPath()
@@ -206,20 +204,19 @@
         DefaultColorTable colorTable = (DefaultColorTable) DefaultColorTable.getInstance();
         if (element instanceof TextElement)
         {
-            TextElement textElm = (TextElement) element;
-            String tpclid = textElm.getText();
+            TextElement textElement = (TextElement) element;
+            String tpclid = textElement.getText();
 
             Envelope extent = TPCLIDConverter.convertTpclIdToEnvelope(tpclid);
             Geometry geom = geometryFactory.createLinearRing(new Coordinate[]
             {
-                    new Coordinate(extent.getMinX(), extent.getMinY()),
-                    new Coordinate(extent.getMaxX(), extent.getMinY()),
-                    new Coordinate(extent.getMaxX(), extent.getMaxY()),
-                    new Coordinate(extent.getMinX(), extent.getMaxY()),
-                    new Coordinate(extent.getMinX(), extent.getMinY()),
+                    TWDDatumConverter.fromTM2ToTWD97(new Coordinate(extent.getMinX(), extent.getMinY())),
+                    TWDDatumConverter.fromTM2ToTWD97(new Coordinate(extent.getMaxX(), extent.getMinY())),
+                    TWDDatumConverter.fromTM2ToTWD97(new Coordinate(extent.getMaxX(), extent.getMaxY())),
+                    TWDDatumConverter.fromTM2ToTWD97(new Coordinate(extent.getMinX(), extent.getMaxY())),
+                    TWDDatumConverter.fromTM2ToTWD97(new Coordinate(extent.getMinX(), extent.getMinY())),
             });
 
-            TextElement textElement = (TextElement) element;
             Feature feature = featureType.create(new Object[]{
                     geom,
                     extent.getMinX(),

--
Gitblit v0.0.0-SNAPSHOT