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/OracleConvertDgn2PostGISJob.java |   57 ++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 36 insertions(+), 21 deletions(-)

diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java
index 8d64a62..47e8f13 100644
--- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java
+++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java
@@ -689,7 +689,11 @@
 
                 if ((!type.isComplexElement()) && (!element.isComponentElement()))
                 {
-                    lastComplex = null;
+					if (lastComplex != null)
+					{
+                    	processIndexElement(lastComplex, convertContext);
+                    	lastComplex = null;
+					}
 
                     processIndexElement(element, convertContext);
                 } else if (element.isComponentElement())
@@ -700,19 +704,20 @@
                     }
                 } 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);
     }
 
@@ -823,7 +828,11 @@
 
                 if ((!type.isComplexElement()) && (!element.isComponentElement()))
                 {
-                    lastComplex = null;
+					if (lastComplex != null)
+					{
+                    	processOtherElement(lastComplex, convertContext);
+                    	lastComplex = null;
+					}
 
                     processOtherElement(element, convertContext);
                 } else if (element.isComponentElement())
@@ -834,19 +843,20 @@
                     }
                 } 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);
     }
 
@@ -1001,7 +1011,11 @@
 
                 if ((!type.isComplexElement()) && (!element.isComponentElement()))
                 {
-                    lastComplex = null;
+					if (lastComplex != null)
+					{
+                    	processFeatureElement(lastComplex, convertContext);
+                    	lastComplex = null;
+					}
 
                     processFeatureElement(element, convertContext);
                 } else if (element.isComponentElement())
@@ -1012,19 +1026,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