From 587ee8bce0b4f9a7eb16338d822f1d9f7c46da9d Mon Sep 17 00:00:00 2001
From: ?? ? <ulysseskao@ximple.com.tw>
Date: Mon, 05 May 2008 16:56:51 +0800
Subject: [PATCH] update for EOFM-71

---
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateTextStrategy.java |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

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 71f76c3..d25cf59 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
@@ -57,6 +57,7 @@
             typeBuilder.addType(AttributeTypeFactory.newAttributeType("CID", Integer.class));
             typeBuilder.addType(AttributeTypeFactory.newAttributeType("LID", Integer.class));
             typeBuilder.addType(AttributeTypeFactory.newAttributeType("LEVEL", Integer.class));
+            typeBuilder.addType(AttributeTypeFactory.newAttributeType("COLOR", String.class));
             typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMCOLOR", Integer.class));
             typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMWEIGHT", Integer.class));
             typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMSTYLE", Integer.class));
@@ -78,6 +79,9 @@
         if (element instanceof TextElement)
         {
             TextElement txtElement = (TextElement) element;
+            double angle = txtElement.getRotationAngle();
+            angle += 180.0;
+            angle = ((angle > 360.0)? (angle - 360.0) : (angle));
             convertDecordator.setConverter(txtElement);
             Feature feature = featureType.create(new Object[]{
                     convertDecordator.toGeometry(geometryFactory),
@@ -86,6 +90,7 @@
                     (int) fLinkage.getComponentID(),
                     0,
                     txtElement.getLevelIndex(),
+                    colorTable.getColorCode(txtElement.getColorIndex()),
                     colorTable.getColor(txtElement.getColorIndex()).getRGB(),
                     txtElement.getWeight(),
                     txtElement.getLineStyle(),
@@ -93,7 +98,7 @@
                     txtElement.getJustification(),
                     txtElement.getTextHeight(),
                     txtElement.getTextWidth(),
-                    txtElement.getRotationAngle(),
+                    angle,
                     txtElement.getText()
             });
             return feature;
@@ -110,6 +115,9 @@
                 sb.append(text);
             }
 
+            double angle = nodeElement.getRotationAngle();
+            angle += 180.0;
+            angle = ((angle > 360.0)? (angle - 360.0) : (angle));
             Feature feature = featureType.create(new Object[]{
                     convertDecordator.toGeometry(geometryFactory),
                     (int) fLinkage.getFsc(),
@@ -117,14 +125,15 @@
                     (int) fLinkage.getComponentID(),
                     0,
                     nodeElement.getLevelIndex(),
-                    nodeElement.getColorIndex(),
+                    colorTable.getColorCode(nodeElement.getColorIndex()),
+                    colorTable.getColor(nodeElement.getColorIndex()).getRGB(),
                     nodeElement.getWeight(),
                     nodeElement.getLineStyle(),
                     nodeElement.getFontIndex(),
                     nodeElement.getJustification(),
                     nodeElement.getTextNodeHeight(),
                     nodeElement.getTextNodeLength(),
-                    nodeElement.getRotationAngle(),
+                    angle,
                     sb.toString()
             });
             return feature;

--
Gitblit v0.0.0-SNAPSHOT