From a979cd1d60acbaacea1e7bdaba453596563cce6a Mon Sep 17 00:00:00 2001
From: ?? ? <ulysseskao@ximple.com.tw>
Date: Wed, 07 May 2008 15:24:24 +0800
Subject: [PATCH] update for EOFM-76

---
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateShapeStrategy.java          |    3 +
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateSymbolStrategy.java         |   53 ++++++--------------------
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineStringStrategy.java     |    3 +
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/ElementTypeCriterion.java         |   14 +++---
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateTextStrategy.java           |   10 +++--
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeCompIdDispatchableFilter.java |    1 
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineTextStrategy.java       |    5 ++
 7 files changed, 35 insertions(+), 54 deletions(-)

diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineStringStrategy.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineStringStrategy.java
index 769c62d..e20fced 100644
--- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineStringStrategy.java
+++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineStringStrategy.java
@@ -2,6 +2,8 @@
 
 import java.util.List;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.geotools.feature.AttributeTypeFactory;
 import org.geotools.feature.Feature;
 import org.geotools.feature.FeatureType;
@@ -23,6 +25,7 @@
 
 public class CreateLineStringStrategy implements CreateFeatureTypeStrategy
 {
+    static final Log logger = LogFactory.getLog(CreateLineStringStrategy.class);
     GeometryFactory geometryFactory = new GeometryFactory();
     FeatureTypeBuilder typeBuilder = null;
     TWD97GeometryConverterDecorator convertDecorator = new TWD97GeometryConverterDecorator();
diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineTextStrategy.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineTextStrategy.java
index 4c7dce0..9129460 100644
--- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineTextStrategy.java
+++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateLineTextStrategy.java
@@ -2,6 +2,8 @@
 
 import java.util.List;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.geotools.feature.AttributeTypeFactory;
 import org.geotools.feature.Feature;
 import org.geotools.feature.FeatureType;
@@ -25,8 +27,9 @@
 import com.ximple.io.dgn7.TextElement;
 import com.ximple.io.dgn7.UserAttributeData;
 
-public class CreateLineTextStrategy  implements CreateFeatureTypeStrategy
+public class CreateLineTextStrategy implements CreateFeatureTypeStrategy
 {
+    static final Log logger = LogFactory.getLog(CreateLineTextStrategy.class);
     GeometryFactory geometryFactory = new GeometryFactory();
     FeatureTypeBuilder typeBuilder = null;
     TWD97GeometryConverterDecorator convertDecorator = new TWD97GeometryConverterDecorator();
diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateShapeStrategy.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateShapeStrategy.java
index a6da3c7..427442b 100644
--- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateShapeStrategy.java
+++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateShapeStrategy.java
@@ -2,6 +2,8 @@
 
 import java.util.List;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.geotools.feature.AttributeTypeFactory;
 import org.geotools.feature.Feature;
 import org.geotools.feature.FeatureType;
@@ -22,6 +24,7 @@
 
 public class CreateShapeStrategy implements CreateFeatureTypeStrategy
 {
+    static final Log logger = LogFactory.getLog(CreateShapeStrategy.class);
     GeometryFactory geometryFactory = new GeometryFactory();
     FeatureTypeBuilder typeBuilder = null;
     TWD97GeometryConverterDecorator convertDecorator = new TWD97GeometryConverterDecorator();
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 4dd3977..a20542d 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
@@ -2,26 +2,28 @@
 
 import java.util.List;
 
-import org.geotools.feature.FeatureTypeBuilder;
-import org.geotools.feature.FeatureType;
-import org.geotools.feature.SchemaException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.geotools.feature.AttributeTypeFactory;
 import org.geotools.feature.Feature;
+import org.geotools.feature.FeatureType;
+import org.geotools.feature.FeatureTypeBuilder;
 import org.geotools.feature.IllegalAttributeException;
+import org.geotools.feature.SchemaException;
 
-import com.vividsolutions.jts.geom.GeometryFactory;
 import com.vividsolutions.jts.geom.Geometry;
+import com.vividsolutions.jts.geom.GeometryFactory;
 
 import com.ximple.eofms.jobs.TWD97GeometryConverterDecorator;
 import com.ximple.eofms.util.DefaultColorTable;
-import com.ximple.io.dgn7.FrammeAttributeData;
 import com.ximple.io.dgn7.Element;
-import com.ximple.io.dgn7.UserAttributeData;
+import com.ximple.io.dgn7.FrammeAttributeData;
 import com.ximple.io.dgn7.TextElement;
-import com.ximple.io.dgn7.TextNodeElement;
+import com.ximple.io.dgn7.UserAttributeData;
 
 public class CreateSymbolStrategy implements CreateFeatureTypeStrategy
 {
+    static final Log logger = LogFactory.getLog(CreateSymbolStrategy.class);
     GeometryFactory geometryFactory = new GeometryFactory();
     FeatureTypeBuilder typeBuilder = null;
     TWD97GeometryConverterDecorator convertDecorator = new TWD97GeometryConverterDecorator();
@@ -79,7 +81,7 @@
             TextElement txtElement = (TextElement) element;
             double angle = txtElement.getRotationAngle();
             angle += 180.0;
-            angle = ((angle > 360.0)? (angle - 360.0) : (angle));
+            angle = ((angle > 360.0) ? (angle - 360.0) : (angle));
 
             StringBuilder sb = new StringBuilder();
             sb.append(txtElement.getFontIndex());
@@ -105,40 +107,9 @@
                     sb.toString()
             });
             return feature;
-        } else if (element instanceof TextNodeElement)
+        } else
         {
-            TextNodeElement nodeElement = (TextNodeElement) element;
-            convertDecorator.setConverter(nodeElement);
-            String[] texts = nodeElement.getTextArray();
-            StringBuffer sb = new StringBuffer();
-            for (String text : texts)
-            {
-                if (sb.length() != 0)
-                sb.append("\n");
-                sb.append(text);
-            }
-
-            double angle = nodeElement.getRotationAngle();
-            angle += 180.0;
-            angle = ((angle > 360.0)? (angle - 360.0) : (angle));
-            Feature feature = featureType.create(new Object[]{
-                    convertDecorator.toGeometry(geometryFactory),
-                    (int) fLinkage.getFsc(),
-                    (long) fLinkage.getUfid(),
-                    (int) fLinkage.getComponentID(),
-                    0,
-                    nodeElement.getLevelIndex(),
-                    colorTable.getColorCode(nodeElement.getColorIndex()),
-                    nodeElement.getWeight(),
-                    nodeElement.getLineStyle(),
-                    nodeElement.getFontIndex(),
-                    nodeElement.getJustification(),
-                    nodeElement.getTextNodeHeight(),
-                    nodeElement.getTextNodeLength(),
-                    angle,
-                    sb.toString()
-            });
-            return feature;
+            logger.info("CreateSymbolStrategy cannot conver " + element.toString() + "to Feature");
         }
         return null;
     }
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 584b95c..db9916a 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
@@ -2,6 +2,8 @@
 
 import java.util.List;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.geotools.feature.AttributeTypeFactory;
 import org.geotools.feature.Feature;
 import org.geotools.feature.FeatureType;
@@ -22,6 +24,7 @@
 
 public class CreateTextStrategy implements CreateFeatureTypeStrategy
 {
+    static final Log logger = LogFactory.getLog(CreateTextStrategy.class);
     GeometryFactory geometryFactory = new GeometryFactory();
     FeatureTypeBuilder typeBuilder = null;
     TWD97GeometryConverterDecorator convertDecorator = new TWD97GeometryConverterDecorator();
@@ -79,7 +82,7 @@
             TextElement txtElement = (TextElement) element;
             double angle = txtElement.getRotationAngle();
             angle += 180.0;
-            angle = ((angle > 360.0)? (angle - 360.0) : (angle));
+            angle = ((angle > 360.0) ? (angle - 360.0) : (angle));
             convertDecorator.setConverter(txtElement);
             Feature feature = featureType.create(new Object[]{
                     convertDecorator.toGeometry(geometryFactory),
@@ -107,13 +110,13 @@
             for (String text : texts)
             {
                 if (sb.length() != 0)
-                sb.append("\n");
+                    sb.append("\n");
                 sb.append(text);
             }
 
             double angle = nodeElement.getRotationAngle();
             angle += 180.0;
-            angle = ((angle > 360.0)? (angle - 360.0) : (angle));
+            angle = ((angle > 360.0) ? (angle - 360.0) : (angle));
             Feature feature = featureType.create(new Object[]{
                     convertDecorator.toGeometry(geometryFactory),
                     (int) fLinkage.getFsc(),
@@ -124,7 +127,6 @@
                     colorTable.getColorCode(nodeElement.getColorIndex()),
                     nodeElement.getWeight(),
                     nodeElement.getLineStyle(),
-                    nodeElement.getFontIndex(),
                     nodeElement.getJustification(),
                     nodeElement.getTextNodeHeight(),
                     nodeElement.getTextNodeLength(),
diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/ElementTypeCriterion.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/ElementTypeCriterion.java
index f5fc9e6..7d79918 100644
--- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/ElementTypeCriterion.java
+++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/ElementTypeCriterion.java
@@ -7,11 +7,11 @@
 public class ElementTypeCriterion implements Comparable
 {
     private int elementType;
-    private ArrayList<Integer> elementTypeArray  ;
+    private ArrayList<Integer> elementTypeArray;
 
     public ElementTypeCriterion()
     {
-            elementTypeArray = new ArrayList<Integer>();
+        elementTypeArray = new ArrayList<Integer>();
     }
 
     public int compareTo(Object o)
@@ -20,10 +20,10 @@
         {
             Element elm = (Element) o;
 
-            for(Integer etype : getElementTypeArray())
+            for (Integer etype : getElementTypeArray())
             {
-             if (elm.getElementType().id == etype.intValue())
-                return 0;
+                if (elm.getElementType().id == etype.intValue())
+                    return 0;
             }
 
         }
@@ -35,14 +35,14 @@
         return elementType;
     }
 
-     public ArrayList<Integer> getElementTypeArray()
+    public ArrayList<Integer> getElementTypeArray()
     {
         return elementTypeArray;
     }
 
     public void setElementType(int itype)
     {
-        this.elementType =  itype ;
+        this.elementType = itype;
         this.elementTypeArray.add(itype);
     }
 }
diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeCompIdDispatchableFilter.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeCompIdDispatchableFilter.java
index 7484323..2ce53bf 100644
--- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeCompIdDispatchableFilter.java
+++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/TypeCompIdDispatchableFilter.java
@@ -59,7 +59,6 @@
     }
 
 
-
     //�P�_�O�_�ũM����
     public boolean isDispatchable(Element element)
     {

--
Gitblit v0.0.0-SNAPSHOT