From d2dbe3d037fa5a294bcf4b107f276644da93685a Mon Sep 17 00:00:00 2001 From: ?? ? <ulysseskao@ximple.com.tw> Date: Tue, 24 Jun 2008 18:10:20 +0800 Subject: [PATCH] update for EOFM-127 --- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2OraSDOJob.java | 57 +++++++---- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java | 59 +++++++---- xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/Element.java | 15 +++ xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2MySQLJob.java | 57 +++++++---- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java | 57 +++++++---- 5 files changed, 161 insertions(+), 84 deletions(-) diff --git a/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/Element.java b/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/Element.java index 678816a..f1788ac 100644 --- a/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/Element.java +++ b/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/Element.java @@ -7,6 +7,7 @@ import java.nio.ByteOrder; import java.util.ArrayList; import java.util.List; +import java.util.Arrays; import com.vividsolutions.jts.geom.Envelope; @@ -194,6 +195,20 @@ { } + + public ByteBuffer getRawBuffer() + { + return rawBuffer.asReadOnlyBuffer(); + } + + public short[] getRawArray() + { + if (raw == null) return null; + short[] result = new short[raw.length]; + System.arraycopy(raw, 0, result, 0, raw.length); + return result; + } + public static class Exception extends java.lang.Exception { public Exception() diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2MySQLJob.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2MySQLJob.java index 439d264..8fb69d3 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2MySQLJob.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2MySQLJob.java @@ -680,7 +680,11 @@ if ((!type.isComplexElement()) && (!element.isComponentElement())) { - lastComplex = null; + if (lastComplex != null) + { + processIndexElement(lastComplex, convertContext); + lastComplex = null; + } processIndexElement(element, convertContext); } else if (element.isComponentElement()) @@ -691,19 +695,20 @@ } } else if (type.isComplexElement()) { - if (lastComplex == null) + if (lastComplex != null) { - lastComplex = element; - } else - { - processIndexElement(element, convertContext); - lastComplex = element; + processIndexElement(lastComplex, convertContext); } + lastComplex = element; } } count++; } + if (lastComplex != null) + { + processIndexElement(lastComplex, convertContext); + } logger.debug("ElementRecord Count=" + count); } @@ -814,7 +819,11 @@ if ((!type.isComplexElement()) && (!element.isComponentElement())) { - lastComplex = null; + if (lastComplex != null) + { + processOtherElement(lastComplex, convertContext); + lastComplex = null; + } processOtherElement(element, convertContext); } else if (element.isComponentElement()) @@ -825,19 +834,20 @@ } } else if (type.isComplexElement()) { - if (lastComplex == null) + if (lastComplex != null) { - lastComplex = element; - } else - { - processOtherElement(element, convertContext); - lastComplex = element; + processOtherElement(lastComplex, convertContext); } + lastComplex = element; } } count++; } + if (lastComplex != null) + { + processOtherElement(lastComplex, convertContext); + } logger.debug("ElementRecord Count=" + count); } @@ -992,7 +1002,11 @@ if ((!type.isComplexElement()) && (!element.isComponentElement())) { - lastComplex = null; + if (lastComplex != null) + { + processFeatureElement(lastComplex, convertContext); + lastComplex = null; + } processFeatureElement(element, convertContext); } else if (element.isComponentElement()) @@ -1003,19 +1017,20 @@ } } else if (type.isComplexElement()) { - if (lastComplex == null) + if (lastComplex != null) { - lastComplex = element; - } else - { - processFeatureElement(element, convertContext); - lastComplex = element; + processFeatureElement(lastComplex, convertContext); } + lastComplex = element; } } count++; } + if (lastComplex != null) + { + processFeatureElement(lastComplex, convertContext); + } logger.debug("ElementRecord Count=" + count); } diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2OraSDOJob.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2OraSDOJob.java index 3de3389..f13c971 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2OraSDOJob.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2OraSDOJob.java @@ -679,7 +679,11 @@ if ((!type.isComplexElement()) && (!element.isComponentElement())) { - lastComplex = null; + if (lastComplex != null) + { + processIndexElement(lastComplex, convertContext); + lastComplex = null; + } processIndexElement(element, convertContext); } else if (element.isComponentElement()) @@ -690,19 +694,20 @@ } } else if (type.isComplexElement()) { - if (lastComplex == null) + if (lastComplex != null) { - lastComplex = element; - } else - { - processIndexElement(element, convertContext); - lastComplex = element; + processIndexElement(lastComplex, convertContext); } + lastComplex = element; } } count++; } + if (lastComplex != null) + { + processIndexElement(lastComplex, convertContext); + } logger.debug("ElementRecord Count=" + count); } @@ -813,7 +818,11 @@ if ((!type.isComplexElement()) && (!element.isComponentElement())) { - lastComplex = null; + if (lastComplex != null) + { + processOtherElement(lastComplex, convertContext); + lastComplex = null; + } processOtherElement(element, convertContext); } else if (element.isComponentElement()) @@ -824,19 +833,20 @@ } } else if (type.isComplexElement()) { - if (lastComplex == null) + if (lastComplex != null) { - lastComplex = element; - } else - { - processOtherElement(element, convertContext); - lastComplex = element; + processOtherElement(lastComplex, convertContext); } + lastComplex = element; } } count++; } + if (lastComplex != null) + { + processOtherElement(lastComplex, convertContext); + } logger.debug("ElementRecord Count=" + count); } @@ -991,7 +1001,11 @@ if ((!type.isComplexElement()) && (!element.isComponentElement())) { - lastComplex = null; + if (lastComplex != null) + { + processFeatureElement(lastComplex, convertContext); + lastComplex = null; + } processFeatureElement(element, convertContext); } else if (element.isComponentElement()) @@ -1002,19 +1016,20 @@ } } else if (type.isComplexElement()) { - if (lastComplex == null) + if (lastComplex != null) { - lastComplex = element; - } else - { - processFeatureElement(element, convertContext); - lastComplex = element; + processFeatureElement(lastComplex, convertContext); } + lastComplex = element; } } count++; } + if (lastComplex != null) + { + processFeatureElement(lastComplex, convertContext); + } logger.debug("ElementRecord Count=" + count); } 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 8d64a62..47e8f13 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 @@ -689,7 +689,11 @@ if ((!type.isComplexElement()) && (!element.isComponentElement())) { - lastComplex = null; + if (lastComplex != null) + { + processIndexElement(lastComplex, convertContext); + lastComplex = null; + } processIndexElement(element, convertContext); } else if (element.isComponentElement()) @@ -700,19 +704,20 @@ } } else if (type.isComplexElement()) { - if (lastComplex == null) + if (lastComplex != null) { - lastComplex = element; - } else - { - processIndexElement(element, convertContext); - lastComplex = element; + processIndexElement(lastComplex, convertContext); } + lastComplex = element; } } count++; } + if (lastComplex != null) + { + processIndexElement(lastComplex, convertContext); + } logger.debug("ElementRecord Count=" + count); } @@ -823,7 +828,11 @@ if ((!type.isComplexElement()) && (!element.isComponentElement())) { - lastComplex = null; + if (lastComplex != null) + { + processOtherElement(lastComplex, convertContext); + lastComplex = null; + } processOtherElement(element, convertContext); } else if (element.isComponentElement()) @@ -834,19 +843,20 @@ } } else if (type.isComplexElement()) { - if (lastComplex == null) + if (lastComplex != null) { - lastComplex = element; - } else - { - processOtherElement(element, convertContext); - lastComplex = element; + processOtherElement(lastComplex, convertContext); } + lastComplex = element; } } count++; } + if (lastComplex != null) + { + processOtherElement(lastComplex, convertContext); + } logger.debug("ElementRecord Count=" + count); } @@ -1001,7 +1011,11 @@ if ((!type.isComplexElement()) && (!element.isComponentElement())) { - lastComplex = null; + if (lastComplex != null) + { + processFeatureElement(lastComplex, convertContext); + lastComplex = null; + } processFeatureElement(element, convertContext); } else if (element.isComponentElement()) @@ -1012,19 +1026,20 @@ } } else if (type.isComplexElement()) { - if (lastComplex == null) + if (lastComplex != null) { - lastComplex = element; - } else - { - processFeatureElement(element, convertContext); - lastComplex = element; + processFeatureElement(lastComplex, convertContext); } + lastComplex = element; } } count++; } + if (lastComplex != null) + { + processFeatureElement(lastComplex, convertContext); + } logger.debug("ElementRecord Count=" + count); } 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 6e62e7a..4777d94 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 @@ -583,7 +583,11 @@ if ((!type.isComplexElement()) && (!element.isComponentElement())) { - lastComplex = null; + if (lastComplex != null) + { + processIndexElement(lastComplex, convertContext); + lastComplex = null; + } processIndexElement(element, convertContext); } else if (element.isComponentElement()) @@ -594,17 +598,19 @@ } } else if (type.isComplexElement()) { - if (lastComplex == null) + if (lastComplex != null) { - lastComplex = element; - } else - { - processIndexElement(element, convertContext); - lastComplex = element; + processIndexElement(lastComplex, convertContext); } + lastComplex = element; } } count++; + } + + if (lastComplex != null) + { + processIndexElement(lastComplex, convertContext); } logger.debug("ElementRecord Count=" + count); @@ -715,7 +721,11 @@ if ((!type.isComplexElement()) && (!element.isComponentElement())) { - lastComplex = null; + if (lastComplex != null) + { + processOtherElement(lastComplex, convertContext); + lastComplex = null; + } processOtherElement(element, convertContext); } else if (element.isComponentElement()) @@ -726,17 +736,19 @@ } } else if (type.isComplexElement()) { - if (lastComplex == null) + if (lastComplex != null) { - lastComplex = element; - } else - { - processOtherElement(element, convertContext); - lastComplex = element; + processOtherElement(lastComplex, convertContext); } + lastComplex = element; } } count++; + } + + if (lastComplex != null) + { + processOtherElement(lastComplex, convertContext); } logger.debug("ElementRecord Count=" + count); @@ -890,7 +902,11 @@ if ((!type.isComplexElement()) && (!element.isComponentElement())) { - lastComplex = null; + if (lastComplex != null) + { + processFeatureElement(lastComplex, convertContext); + lastComplex = null; + } processFeatureElement(element, convertContext); } else if (element.isComponentElement()) @@ -901,19 +917,20 @@ } } else if (type.isComplexElement()) { - if (lastComplex == null) + if (lastComplex != null) { - lastComplex = element; - } else - { - processFeatureElement(element, convertContext); - lastComplex = element; + processFeatureElement(lastComplex, convertContext); } + lastComplex = element; } } count++; } + if (lastComplex != null) + { + processFeatureElement(lastComplex, convertContext); + } logger.debug("ElementRecord Count=" + count); } -- Gitblit v0.0.0-SNAPSHOT