From 3fabb511df6db394522efd684c90700aa4a4b12a Mon Sep 17 00:00:00 2001 From: ?? ? <ulysseskao@ximple.com.tw> Date: Tue, 20 May 2008 15:36:02 +0800 Subject: [PATCH] update for EOFM-95 --- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/IndexDgnConvertJobContext.java | 12 +++++++++++- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeneralDgnConvertJobContext.java | 4 ++++ xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateSymbolStrategy.java | 12 +++--------- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateTextStrategy.java | 4 ++++ 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateSymbolStrategy.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateSymbolStrategy.java index 44cae9d..e55d078 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateSymbolStrategy.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateSymbolStrategy.java @@ -1,6 +1,8 @@ package com.ximple.eofms.filter; import java.util.List; +import java.math.BigDecimal; +import java.math.RoundingMode; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -80,15 +82,7 @@ { TextElement txtElement = (TextElement) element; double angle = txtElement.getRotationAngle(); - /* - if (angle != 0.0) - { - angle -= 270.0; - angle = -angle; - angle = ((angle < 0.0) ? (angle + 360.0) : angle); - angle = ((angle > 360.0) ? (angle - 360.0) : (angle)); - } - */ + angle = BigDecimal.valueOf(angle).setScale(3, RoundingMode.HALF_UP).doubleValue(); if (txtElement.getText().length() == 0) { logger.info("CreateSymbolStrategy cannot conver " + element.toString() + 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 ccc097b..c3dce45 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 @@ -1,6 +1,8 @@ package com.ximple.eofms.filter; import java.util.List; +import java.math.BigDecimal; +import java.math.RoundingMode; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -81,6 +83,7 @@ { TextElement txtElement = (TextElement) element; double angle = txtElement.getRotationAngle(); + angle = BigDecimal.valueOf(angle).setScale(3, RoundingMode.HALF_UP).doubleValue(); convertDecorator.setConverter(txtElement); Feature feature = featureType.create(new Object[]{ convertDecorator.toGeometry(geometryFactory), @@ -112,6 +115,7 @@ } double angle = nodeElement.getRotationAngle(); + angle = BigDecimal.valueOf(angle).setScale(3, RoundingMode.HALF_UP).doubleValue(); convertDecorator.setConverter(nodeElement); Feature feature = featureType.create(new Object[]{ convertDecorator.toGeometry(geometryFactory), diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeneralDgnConvertJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeneralDgnConvertJobContext.java index 83cb074..6ecda50 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeneralDgnConvertJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeneralDgnConvertJobContext.java @@ -8,6 +8,8 @@ import java.util.Iterator; import java.util.List; import java.util.TreeMap; +import java.math.BigDecimal; +import java.math.RoundingMode; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -278,6 +280,7 @@ Geometry geom = convertDecorator.toGeometry(geometryFactory); double angle = textElement.getRotationAngle(); + angle = BigDecimal.valueOf(angle).setScale(3, RoundingMode.HALF_UP).doubleValue(); if (geom != null) { return featureType.create(new Object[]{ @@ -302,6 +305,7 @@ Geometry geom = convertDecorator.toGeometry(geometryFactory); double angle = textNodeElement.getRotationAngle(); + angle = BigDecimal.valueOf(angle).setScale(3, RoundingMode.HALF_UP).doubleValue(); String[] texts = textNodeElement.getTextArray(); StringBuffer sb = new StringBuffer(); for (String text : texts) 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 98a9d45..5710bc2 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 @@ -7,6 +7,8 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.math.BigDecimal; +import java.math.RoundingMode; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -77,6 +79,13 @@ return; } + if (!txFeaturesContext.containsKey(feature.getFeatureType())) + { + txFeaturesContext.put(feature.getFeatureType(), new ArrayList()); + } + ArrayList arrayList = (ArrayList) txFeaturesContext.get(feature.getFeatureType()); + arrayList.add(feature); + feature = createFeature2((TextElement) element); if (feature == null) { @@ -89,7 +98,7 @@ { txFeaturesContext.put(feature.getFeatureType(), new ArrayList()); } - ArrayList arrayList = (ArrayList) txFeaturesContext.get(feature.getFeatureType()); + arrayList = (ArrayList) txFeaturesContext.get(feature.getFeatureType()); arrayList.add(feature); } @@ -272,6 +281,7 @@ { TextElement txtElement = (TextElement) element; double angle = txtElement.getRotationAngle(); + angle = BigDecimal.valueOf(angle).setScale(3, RoundingMode.HALF_UP).doubleValue(); convertDecorator.setConverter(txtElement); Feature feature = featureType.create(new Object[]{ convertDecorator.toGeometry(geometryFactory), -- Gitblit v0.0.0-SNAPSHOT