Author: veithen
Date: Mon Jun 27 20:05:37 2011
New Revision: 1140294

URL: http://svn.apache.org/viewvc?rev=1140294&view=rev
Log:
Merged r1085927 to the 1.6 branch to make Axis2 1.6.1 compatible with Axiom 
1.2.12.

Modified:
    axis/axis2/java/core/branches/1_6/   (props changed)
    
axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java
    
axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/reader/WrappingXMLStreamReader.java

Propchange: axis/axis2/java/core/branches/1_6/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jun 27 20:05:37 2011
@@ -1 +1 @@
-/axis/axis2/java/core/trunk:1070439,1072077,1072271,1072499,1072510,1078242,1081563,1081587,1081590,1082316,1082322,1082600,1082702,1082726,1082738,1083180,1083192,1083379,1083381,1083425,1083433,1083446,1084753,1085514,1087073,1088239,1088248-1088249,1088251,1088268,1091178,1091191,1099385,1099389,1100628,1101037,1103013,1103606,1103760,1128580,1128584,1128618,1128645,1130590,1131425,1134438,1134616,1136156,1136159,1137153,1137159,1138144,1138203,1139448
+/axis/axis2/java/core/trunk:1070439,1072077,1072271,1072499,1072510,1078242,1081563,1081587,1081590,1082316,1082322,1082600,1082702,1082726,1082738,1083180,1083192,1083379,1083381,1083425,1083433,1083446,1084753,1085514,1085927,1087073,1088239,1088248-1088249,1088251,1088268,1091178,1091191,1099385,1099389,1100628,1101037,1103013,1103606,1103760,1128580,1128584,1128618,1128645,1130590,1131425,1134438,1134616,1136156,1136159,1137153,1137159,1138144,1138203,1139448

Modified: 
axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java?rev=1140294&r1=1140293&r2=1140294&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java
 (original)
+++ 
axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/reader/ADBXMLStreamReaderImpl.java
 Mon Jun 27 20:05:37 2011
@@ -962,9 +962,8 @@ public class ADBXMLStreamReaderImpl impl
                     }
                 }
 
-                ADBXMLStreamReader reader = new 
ADBXMLStreamReaderImpl(propertyQName,
+                childReader = new ADBXMLStreamReaderImpl(propertyQName,
                         objects.toArray(), new ArrayList().toArray(), 
typeTable, qualified);
-                childReader = new WrappingXMLStreamReader(reader);
             }
         } else if (propertyValue instanceof ADBBean) {
             //ADBbean has it's own method to get a reader
@@ -991,9 +990,9 @@ public class ADBXMLStreamReaderImpl impl
         } else {
             //all special possiblilities has been tried! Let's treat
             //the thing as a bean and try generating events from it
-            childReader = new WrappingXMLStreamReader
-                    (BeanUtil.getPullParser(propertyValue,
-                                            propertyQName, typeTable, 
qualified, false));
+            childReader = (ADBXMLStreamReader)
+                    BeanUtil.getPullParser(propertyValue,
+                                            propertyQName, typeTable, 
qualified, false);
             //we cannot register the namespace context here
         }
 

Modified: 
axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/reader/WrappingXMLStreamReader.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/reader/WrappingXMLStreamReader.java?rev=1140294&r1=1140293&r2=1140294&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/reader/WrappingXMLStreamReader.java
 (original)
+++ 
axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/reader/WrappingXMLStreamReader.java
 Mon Jun 27 20:05:37 2011
@@ -28,17 +28,15 @@ import javax.xml.stream.XMLStreamReader;
 public class WrappingXMLStreamReader implements ADBXMLStreamReader {
 
     private XMLStreamReader reader;
+    private int depth;
+    private boolean done;
 
     public WrappingXMLStreamReader(XMLStreamReader reader) {
         this.reader = reader;
     }
 
     public boolean isDone() {
-        try {
-            return !hasNext();
-        } catch (XMLStreamException e) {
-            throw new RuntimeException(e);
-        }
+        return done;
     }
 
     public Object getProperty(String string) throws IllegalArgumentException {
@@ -46,7 +44,16 @@ public class WrappingXMLStreamReader imp
     }
 
     public int next() throws XMLStreamException {
-        return reader.next();
+        int event = reader.next();
+        if (event == START_ELEMENT) {
+            depth++;
+        } else if (event == END_ELEMENT) {
+            depth--;
+            if (depth == 0) {
+                done = true;
+            }
+        }
+        return event;
     }
 
     public void require(int i, String string, String string1) throws 
XMLStreamException {


Reply via email to