From 1e25c2c090a837ce475ab5a66f99da2ecbecec95 Mon Sep 17 00:00:00 2001 From: ?? ? <ulysseskao@ximple.com.tw> Date: Wed, 07 May 2008 18:48:45 +0800 Subject: [PATCH] update for EOFM-75 --- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/IndexDgnConvertJobContext.java | 30 +++++++++++++++++------------- 1 files changed, 17 insertions(+), 13 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 77e3c23..44caa32 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 @@ -46,8 +46,8 @@ private String dataOut = null; - private HashMap featuresContext = new HashMap(); - private HashMap featuresWriterContext = new HashMap(); + private HashMap<String, ArrayList<Feature> > featuresContext = new HashMap<String, ArrayList<Feature> >(); + private HashMap<String, FeatureWriter> featuresWriterContext = new HashMap<String, FeatureWriter>(); private PessimisticMapWrapper txFeaturesContext; private FeatureTypeBuilder typeBuilder = null; @@ -127,25 +127,20 @@ FeatureWriter writer; if(featuresWriterContext.containsKey(featureType.getTypeName())) { - writer = (FeatureWriter) featuresWriterContext.get(featureType.getTypeName()) ; + writer = featuresWriterContext.get(featureType.getTypeName()) ; } else { ShapefileDataStore shapefileDataStore = new ShapefileDataStore(sfile.toURI().toURL()); shapefileDataStore.createSchema(featureType); writer = shapefileDataStore.getFeatureWriter(featureType.getTypeName(), Transaction.AUTO_COMMIT); - if(this.featuresWriterContext == null) - { - this.featuresWriterContext = new HashMap(); - } featuresWriterContext.put(featureType.getTypeName() , writer); } - ArrayList features = (ArrayList) featuresContext.get(featureType); - Iterator itFeature = features.iterator(); - while (itFeature.hasNext()) + ArrayList<Feature> features = featuresContext.get(featureType); + for (Feature feature1 : features) { - Feature feature = (Feature) itFeature.next(); + Feature feature = feature1; ((SimpleFeature) writer.next()).setAttributes(feature.getAttributes(null)); } //writer.close(); @@ -179,6 +174,16 @@ dataOut = outPath.toString(); } return dataOut; + } + + public void closeFeatureWriter() throws IOException { + + for (FeatureWriter featureWriter : this.featuresWriterContext.values()) + { + featureWriter.close(); + } + + this.featuresWriterContext.clear(); } public FeatureType createFeatureElement(String featureName) throws SchemaException @@ -217,7 +222,7 @@ TWDDatumConverter.fromTM2ToTWD97(new Coordinate(extent.getMinX(), extent.getMinY())), }); - Feature feature = featureType.create(new Object[]{ + return featureType.create(new Object[]{ geom, extent.getMinX(), extent.getMinY(), @@ -228,7 +233,6 @@ textElement.getWeight(), textElement.getLineStyle() }); - return feature; } return null; } -- Gitblit v0.0.0-SNAPSHOT