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 {