gdaniels 2002/12/11 15:25:15
Modified: java/src/org/apache/axis/encoding
DeserializationContextImpl.java
Log:
Push a new NSStack frame when we see the first mapping, not on
startElement(). However if there are no mappings, push() on
startElement() so pop() on endElement() remains consistent.
Revision Changes Path
1.72 +7 -3
xml-axis/java/src/org/apache/axis/encoding/DeserializationContextImpl.java
Index: DeserializationContextImpl.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/encoding/DeserializationContextImpl.java,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -r1.71 -r1.72
--- DeserializationContextImpl.java 11 Dec 2002 22:38:13 -0000 1.71
+++ DeserializationContextImpl.java 11 Dec 2002 23:25:15 -0000 1.72
@@ -795,6 +795,7 @@
}
if (startOfMappingsPos == -1) {
+ namespaces.push();
startOfMappingsPos = getCurrentRecordPos();
}
@@ -929,9 +930,12 @@
}
}
- namespaces.push();
-
- startOfMappingsPos = -1;
+ if (startOfMappingsPos != -1) {
+ startOfMappingsPos = -1;
+ } else {
+ // Push an empty frame if there are no mappings
+ namespaces.push();
+ }
if (log.isDebugEnabled()) {
log.debug("Exit: DeserializationContextImpl::startElement()");