From da578baa1895dd4ef168904c84c0e08275bb8c53 Mon Sep 17 00:00:00 2001
From: ?? ? <ulysseskao@ximple.com.tw>
Date: Mon, 01 Sep 2008 12:26:07 +0800
Subject: [PATCH] update for EOFM-159, EOFM-160

---
 xdgnjobs/ximple-elmparser/src/main/java/com/ximple/eofms/XElementParser.java |   62 +++++++++++++++++--------------
 1 files changed, 34 insertions(+), 28 deletions(-)

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 85c406f..d616bd8 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
@@ -1,43 +1,45 @@
 package com.ximple.eofms;
 
-import java.util.HashMap;
-import java.util.ArrayList;
-import java.util.List;
 import java.io.File;
-import java.io.FilenameFilter;
 import java.io.FileInputStream;
-import java.io.IOException;
 import java.io.FileNotFoundException;
+import java.io.FilenameFilter;
+import java.io.IOException;
 import java.io.UnsupportedEncodingException;
-import java.nio.channels.FileChannel;
-import java.net.URL;
 import java.net.MalformedURLException;
+import java.net.URL;
+import java.nio.channels.FileChannel;
+import java.util.HashMap;
+import java.util.List;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.apache.commons.collections.map.MultiValueMap;
 import org.apache.commons.digester.Digester;
 import org.apache.commons.digester.xmlrules.DigesterLoader;
-import org.apache.commons.collections.map.MultiValueMap;
-import org.xml.sax.SAXException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.geotools.feature.Feature;
+import org.xml.sax.SAXException;
 
 import com.vividsolutions.jts.geom.GeometryFactory;
 
-import com.ximple.io.dgn7.Dgn7fileReader;
-import com.ximple.io.dgn7.Lock;
+import com.ximple.eofms.filter.AbstractFLinkageDispatchableFilter;
+import com.ximple.eofms.filter.ElementDispatcher;
+import com.ximple.eofms.jobs.context.postgis.FeatureDgnConvertPostGISJobContext;
+import com.ximple.io.dgn7.ComplexChainElement;
+import com.ximple.io.dgn7.ComplexElement;
 import com.ximple.io.dgn7.Dgn7fileException;
+import com.ximple.io.dgn7.Dgn7fileReader;
 import com.ximple.io.dgn7.Element;
 import com.ximple.io.dgn7.ElementType;
-import com.ximple.io.dgn7.ComplexElement;
 import com.ximple.io.dgn7.FrammeAttributeData;
-import com.ximple.eofms.filter.ElementDispatcher;
-import com.ximple.eofms.filter.AbstractFLinkageDispatchableFilter;
-import com.ximple.eofms.jobs.context.postgis.FeatureDgnConvertPostGISJobContext;
+import com.ximple.io.dgn7.Lock;
 
 public class XElementParser implements Runnable
 {
     static Log logger = LogFactory.getLog(XElementParser.class);
     static final GeometryFactory geometryFactory = new GeometryFactory();
+
+    static final boolean isCompactMode = true;
 
     private HashMap<String, String> dataConfig;
     private ElementDispatcher elementDispatcher;
@@ -188,7 +190,7 @@
         {
             FrammeAttributeData linkage =
                     AbstractFLinkageDispatchableFilter.getFeatureLinkage(element);
-            if (linkage != null)
+            if ((isCompactMode) && (linkage != null))
             {
                 logger.warn("Unknown Element:" + element.getElementType().toString() +
                         ":type=" + element.getType() + ":lv=" + element.getLevelIndex() + ":id=" +
@@ -198,19 +200,19 @@
                     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())));
+                manualElementProcess(element);
+            } else if (!isCompactMode) {
+                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());
+                if (element instanceof ComplexElement)
+                {
+                    ComplexElement complex = (ComplexElement) element;
+                    logger.warn("----Complex Element size=" + complex.size());
+                }
             }
-            */
 
             return;
         }
@@ -218,6 +220,10 @@
         featuresContext.put(feature.getFeatureType(), feature);
     }
 
+    private void manualElementProcess(Element element)
+    {
+    }
+
     private void postProcessFeatureContext()
     {
         if (featuresContext.size() == 0) return;

--
Gitblit v0.0.0-SNAPSHOT