From 0bd011e9dda3aabf6bbe3b9fad3f855a1ff2fae6 Mon Sep 17 00:00:00 2001 From: ?? ? <ulysseskao@ximple.com.tw> Date: Mon, 26 May 2008 14:06:48 +0800 Subject: [PATCH] update for EOFM-106 --- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertJobContext.java | 37 ++++++++++++++++++++++++++++++++----- 1 files changed, 32 insertions(+), 5 deletions(-) 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 1be632b..0ede50b 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 @@ -37,6 +37,7 @@ import com.ximple.eofms.filter.ElementDispatcher; import com.ximple.io.dgn7.Element; import com.ximple.io.dgn7.FrammeAttributeData; +import com.ximple.io.dgn7.ComplexElement; public class OracleConvertJobContext extends AbstractOracleJobContext @@ -74,6 +75,7 @@ private String _convertFile = null; private String currentSchema = null; private boolean schemaChanged = false; + private String _convertElementIn = null; public OracleConvertJobContext(String filterConfig) { @@ -133,14 +135,25 @@ Feature feature = elementDispatcher.execute(element); if (feature == null) { + boolean isEmptySize = false; FrammeAttributeData linkage = AbstractFLinkageDispatchableFilter.getFeatureLinkage(element); logger.warn("Unknown Element:" + element.getElementType().toString() + ":type=" + element.getType() + ":lv=" + element.getLevelIndex() + ":id=" + (linkage == null ? "NULL" : (linkage.getFsc() + "|" + linkage.getComponentID()))); - if (getElementLogging()) + if (element instanceof ComplexElement) + { + ComplexElement complex = (ComplexElement) element; + logger.warn("----Complex Element size=" + complex.size() + ":" + + (linkage == null ? "NULL" : (linkage.getUfid()))); + isEmptySize = true; + } + + if (getElementLogging() && (!isEmptySize)) + { getElementLogger().logElement(element, getCurrentSchema()); + } return; } @@ -208,10 +221,19 @@ ShapefileDataStore shapefileDataStore = new ShapefileDataStore(sfile.toURI().toURL(), true, Charset.forName("UTF-8")); */ - ShapefileDataStore 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 (!sfile.exists()) + { + ShapefileDataStore 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); + } else { + ShapefileDataStore shapefileDataStore = new IndexedShapefileDataStore(sfile.toURI().toURL(), + null, true, true, IndexedShapefileDataStore.TREE_QIX, Charset.forName("UTF-8")); + writer = shapefileDataStore.getFeatureWriterAppend(featureType.getTypeName(), + Transaction.AUTO_COMMIT); + } featuresWriterContext.put(featureType.getTypeName(), writer); } @@ -317,4 +339,9 @@ this.currentSchema = querySchema; this.schemaChanged = true; } + + public void setConvertElementIn(String convertElementIn) + { + _convertElementIn = convertElementIn; + } } -- Gitblit v0.0.0-SNAPSHOT