From d2dbe3d037fa5a294bcf4b107f276644da93685a Mon Sep 17 00:00:00 2001
From: ?? ? <ulysseskao@ximple.com.tw>
Date: Tue, 24 Jun 2008 18:10:20 +0800
Subject: [PATCH] update for EOFM-127

---
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java |   59 ++++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 38 insertions(+), 21 deletions(-)

diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java
index 6e62e7a..4777d94 100644
--- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java
+++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java
@@ -583,7 +583,11 @@
 
                 if ((!type.isComplexElement()) && (!element.isComponentElement()))
                 {
-                    lastComplex = null;
+					if (lastComplex != null)
+					{
+                    	processIndexElement(lastComplex, convertContext);
+                    	lastComplex = null;
+					}
 
                     processIndexElement(element, convertContext);
                 } else if (element.isComponentElement())
@@ -594,17 +598,19 @@
                     }
                 } else if (type.isComplexElement())
                 {
-                    if (lastComplex == null)
+                    if (lastComplex != null)
                     {
-                        lastComplex = element;
-                    } else
-                    {
-                        processIndexElement(element, convertContext);
-                        lastComplex = element;
+                        processIndexElement(lastComplex, convertContext);
                     }
+					lastComplex = element;
                 }
             }
             count++;
+        }
+
+        if (lastComplex != null)
+        {
+            processIndexElement(lastComplex, convertContext);
         }
 
         logger.debug("ElementRecord Count=" + count);
@@ -715,7 +721,11 @@
 
                 if ((!type.isComplexElement()) && (!element.isComponentElement()))
                 {
-                    lastComplex = null;
+					if (lastComplex != null)
+					{
+                    	processOtherElement(lastComplex, convertContext);
+                    	lastComplex = null;
+					}
 
                     processOtherElement(element, convertContext);
                 } else if (element.isComponentElement())
@@ -726,17 +736,19 @@
                     }
                 } else if (type.isComplexElement())
                 {
-                    if (lastComplex == null)
+                    if (lastComplex != null)
                     {
-                        lastComplex = element;
-                    } else
-                    {
-                        processOtherElement(element, convertContext);
-                        lastComplex = element;
+                        processOtherElement(lastComplex, convertContext);
                     }
+					lastComplex = element;
                 }
             }
             count++;
+        }
+
+        if (lastComplex != null)
+        {
+            processOtherElement(lastComplex, convertContext);
         }
 
         logger.debug("ElementRecord Count=" + count);
@@ -890,7 +902,11 @@
 
                 if ((!type.isComplexElement()) && (!element.isComponentElement()))
                 {
-                    lastComplex = null;
+					if (lastComplex != null)
+					{
+                    	processFeatureElement(lastComplex, convertContext);
+                    	lastComplex = null;
+					}
 
                     processFeatureElement(element, convertContext);
                 } else if (element.isComponentElement())
@@ -901,19 +917,20 @@
                     }
                 } else if (type.isComplexElement())
                 {
-                    if (lastComplex == null)
+                    if (lastComplex != null)
                     {
-                        lastComplex = element;
-                    } else
-                    {
-                        processFeatureElement(element, convertContext);
-                        lastComplex = element;
+                        processFeatureElement(lastComplex, convertContext);
                     }
+					lastComplex = element;
                 }
             }
             count++;
         }
 
+        if (lastComplex != null)
+        {
+            processFeatureElement(lastComplex, convertContext);
+        }
         logger.debug("ElementRecord Count=" + count);
     }
 

--
Gitblit v0.0.0-SNAPSHOT