From 741f15ae46171a6df532f7e3727b0fc55acd7d39 Mon Sep 17 00:00:00 2001
From: ?? ? <ulysseskao@ximple.com.tw>
Date: Mon, 01 Sep 2008 11:28:39 +0800
Subject: [PATCH] update for EOFM-156

---
 xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ShapeElement.java     |   25 ++++++++++++
 xdgnjobs/ximple-elmparser/src/main/java/com/ximple/eofms/XElementParser.java |   17 ++++++++
 .gitattributes                                                               |    1 
 xdgnjobs/ximple-elmparser/pom.xml                                            |   15 +------
 xdgnjobs/ximple-elmparser/src/main/resources/log4j.properties                |   28 ++++++++++++++
 5 files changed, 73 insertions(+), 13 deletions(-)

diff --git a/.gitattributes b/.gitattributes
index 76a0fa1..b9c16d8 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -43,6 +43,7 @@
 xdgnjobs/ximple-dgnio/src/test/resources/com/ximple/io/dgn7/test-data/testHV.dgn -text
 xdgnjobs/ximple-elmparser/pom.xml svneol=native#text/xml
 xdgnjobs/ximple-elmparser/src/main/java/com/ximple/eofms/XElementParser.java svneol=native#text/plain
+xdgnjobs/ximple-elmparser/src/main/resources/log4j.properties svneol=native#text/plain
 xdgnjobs/ximple-jobcarrier/pom.xml svneol=native#text/xml
 xdgnjobs/ximple-jobcarrier/src/main/java/com/ximple/eofms/XQuartzJobCarrier.java svneol=native#text/plain
 xdgnjobs/ximple-jobcarrier/src/main/java/com/ximple/eofms/XQuartzJobWizard.java svneol=native#text/plain
diff --git a/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ShapeElement.java b/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ShapeElement.java
index 945d11e..c43458e 100644
--- a/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ShapeElement.java
+++ b/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ShapeElement.java
@@ -5,6 +5,7 @@
 import com.vividsolutions.jts.geom.Geometry;
 import com.vividsolutions.jts.geom.GeometryFactory;
 import com.vividsolutions.jts.geom.LinearRing;
+import com.vividsolutions.jts.geom.Coordinate;
 
 /**
  * ShapeElement
@@ -22,6 +23,30 @@
         super(raw);
     }
 
+    public Coordinate[] getVertices()
+    {
+        Coordinate[] result = super.getVertices();
+        if ((result != null) && (result.length > 2))
+        {
+            boolean isClosed = result[0].equals2D(result[result.length - 1]);
+            if (!isClosed)
+            {
+                double distance = result[0].distance(result[result.length - 1]);
+                if (distance < 0.00210)
+                {
+                    result[result.length - 1] = new Coordinate(result[0]);
+                } else
+                {
+                    logger.info("Shape is not closed. distance=" + distance);
+                    logger.debug("result[0]=" + result[0].toString());
+                    logger.debug("result[length - 1]=" + result[result.length - 1]);
+                }
+            }
+        }
+
+        return result;
+    }
+
     public Geometry toGeometry(GeometryFactory factory)
     {
         try
diff --git a/xdgnjobs/ximple-elmparser/pom.xml b/xdgnjobs/ximple-elmparser/pom.xml
index b3bd6c1..d65c20d 100644
--- a/xdgnjobs/ximple-elmparser/pom.xml
+++ b/xdgnjobs/ximple-elmparser/pom.xml
@@ -193,7 +193,7 @@
         <configuration>
           <archive>
             <manifest>
-              <mainClass>com.ximple.eofms.XQuartzJobCarrier</mainClass>
+              <mainClass>com.ximple.eofms.XElementParser</mainClass>
               <addClasspath>true</addClasspath>
             </manifest>
           </archive>
@@ -205,7 +205,7 @@
       <plugin>
         <!--
            Use maven from the command line:
-             mvn exec:java -Dexec.mainClass="com.ximple.eofms.XQuartzJobCarrier"
+             mvn exec:java -Dexec.mainClass="com.ximple.eofms.XElementParser"
         -->
         <artifactId>exec-maven-plugin</artifactId>
         <groupId>org.codehaus.mojo</groupId>
@@ -220,7 +220,7 @@
         </executions>
         -->
         <configuration>
-          <mainClass>com.ximple.eofms.XQuartzJobCarrier</mainClass>
+          <mainClass>com.ximple.eofms.XElementParser</mainClass>
           <!--
           <commandlineArgs>-wizard</commandlineArgs>
           -->
@@ -282,16 +282,7 @@
         <directory>src/main/resources</directory>
         <includes>
           <include>log4j.properties</include>
-          <include>quartz.properties</include>
-          <include>quartz_jobs.xml</include>
         </includes>
-        <!--
-        <excludes>
-          <exclude>XQuartzJobWizard*.properties</exclude>
-          <exclude>quartz_jobs.xml</exclude>
-          <exclude>quartz_jobs_shapefiles.xml</exclude>
-        </excludes>
-        -->
         <filtering>false</filtering>
       </resource>
     </resources>
diff --git a/xdgnjobs/ximple-elmparser/src/main/java/com/ximple/eofms/XElementParser.java b/xdgnjobs/ximple-elmparser/src/main/java/com/ximple/eofms/XElementParser.java
index 722497f..85c406f 100644
--- a/xdgnjobs/ximple-elmparser/src/main/java/com/ximple/eofms/XElementParser.java
+++ b/xdgnjobs/ximple-elmparser/src/main/java/com/ximple/eofms/XElementParser.java
@@ -57,7 +57,7 @@
     private void initializeDataConfig()
     {
         dataConfig = new HashMap<String, String>();
-        dataConfig.put("DATAPATH", "G:\\Temp\\JobData\\nstpc\\elmout");
+        dataConfig.put("DATAPATH", "G:\\Temp\\JobData\\tctpc\\elmout");
         
         elementDispatcher = createElementDispatcher();
     }
@@ -188,14 +188,29 @@
         {
             FrammeAttributeData linkage =
                     AbstractFLinkageDispatchableFilter.getFeatureLinkage(element);
+            if (linkage != null)
+            {
+                logger.warn("Unknown Element:" + element.getElementType().toString() +
+                        ":type=" + element.getType() + ":lv=" + element.getLevelIndex() + ":id=" +
+                        (linkage.getFsc() + "|" + linkage.getComponentID()));
+                if (element instanceof ComplexElement)
+                {
+                    ComplexElement complex = (ComplexElement) element;
+                    logger.warn("----Complex Element size=" + complex.size());
+                }
+            }
+
+            /*
             logger.warn("Unknown Element:" + element.getElementType().toString() +
                     ":type=" + element.getType() + ":lv=" + element.getLevelIndex() + ":id=" +
                     (linkage == null ? "NULL" : (linkage.getFsc() + "|" + linkage.getComponentID())));
+
             if (element instanceof ComplexElement)
             {
                 ComplexElement complex = (ComplexElement) element;
                 logger.warn("----Complex Element size=" + complex.size());
             }
+            */
 
             return;
         }
diff --git a/xdgnjobs/ximple-elmparser/src/main/resources/log4j.properties b/xdgnjobs/ximple-elmparser/src/main/resources/log4j.properties
new file mode 100644
index 0000000..2340551
--- /dev/null
+++ b/xdgnjobs/ximple-elmparser/src/main/resources/log4j.properties
@@ -0,0 +1,28 @@
+# Create stdout appender
+log4j.rootLogger=error, logfile, stdout
+
+# Configure the stdout appender to go to the Console
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+
+# Configure stdout appender to use the PatternLayout
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+
+# Pattern output the caller's filename and line #
+log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
+#log4j.appender.stdout.encoding=UTF-8
+
+log4j.appender.logfile=org.apache.log4j.FileAppender
+log4j.appender.logfile.file=xelmparser.log
+log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
+log4j.appender.logfile.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
+#log4j.appender.logfile.encoding=UTF-8
+
+log4j.appender.remoteout=com.holub.log4j.RemoteAppender
+log4j.appender.remoteout.Port=8011
+log4j.appender.remoteout.layout=org.apache.log4j.PatternLayout
+log4j.appender.remoteout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
+#log4j.appender.remoteout.encoding=UTF-8
+
+# Print messages of level INFO or above for examples
+log4j.logger.org.cavaness.quartzbook=INFO
+log4j.logger.com.ximple.eofms=INFO
\ No newline at end of file

--
Gitblit v0.0.0-SNAPSHOT