You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by gd...@apache.org on 2002/10/08 01:04:37 UTC
cvs commit: xml-axis/java/src/org/apache/axis/message SOAPHandler.java
gdaniels 2002/10/07 16:04:36
Modified: java/src/org/apache/axis/encoding Tag: interop4
DeserializationContext.java
DeserializationContextImpl.java
DeserializerImpl.java
java/src/org/apache/axis/message Tag: interop4
SOAPHandler.java
Log:
Keep track of when we're processing multirefs, and don't push the
MessageElement stack when doing so.
Revision Changes Path
No revision
No revision
1.50.2.1 +14 -0 xml-axis/java/src/org/apache/axis/encoding/DeserializationContext.java
Index: DeserializationContext.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/DeserializationContext.java,v
retrieving revision 1.50
retrieving revision 1.50.2.1
diff -u -r1.50 -r1.50.2.1
--- DeserializationContext.java 4 Sep 2002 21:48:15 -0000 1.50
+++ DeserializationContext.java 7 Oct 2002 23:04:35 -0000 1.50.2.1
@@ -282,6 +282,20 @@
* Return if done parsing document.
*/
public boolean isDoneParsing();
+
+ /**
+ * Indicate if we're in the midst of processing an href target, in which
+ * case we shouldn't be pushing the element stack.
+ * @param ref
+ */
+ void setProcessingRef(boolean ref);
+
+ /**
+ * Are we in the midst of processing an href target? If so, we shouldn't
+ * be pushing the element stack...
+ * @return
+ */
+ boolean isProcessingRef();
}
1.64.2.2 +8 -0 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.64.2.1
retrieving revision 1.64.2.2
diff -u -r1.64.2.1 -r1.64.2.2
--- DeserializationContextImpl.java 1 Oct 2002 20:38:51 -0000 1.64.2.1
+++ DeserializationContextImpl.java 7 Oct 2002 23:04:35 -0000 1.64.2.2
@@ -734,6 +734,14 @@
return result;
}
+ boolean processingRef = false;
+ public void setProcessingRef(boolean ref) {
+ processingRef = ref;
+ }
+ public boolean isProcessingRef() {
+ return processingRef;
+ }
+
/****************************************************************
* SAX event handlers
*/
1.30.2.8 +3 -0 xml-axis/java/src/org/apache/axis/encoding/DeserializerImpl.java
Index: DeserializerImpl.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/DeserializerImpl.java,v
retrieving revision 1.30.2.7
retrieving revision 1.30.2.8
diff -u -r1.30.2.7 -r1.30.2.8
--- DeserializerImpl.java 7 Oct 2002 20:52:19 -0000 1.30.2.7
+++ DeserializerImpl.java 7 Oct 2002 23:04:36 -0000 1.30.2.8
@@ -476,8 +476,11 @@
dser.moveValueTargets(this);
context.replaceElementHandler((SOAPHandler) dser);
// And don't forget to give it the start event...
+ boolean isRef = context.isProcessingRef();
+ context.setProcessingRef(true);
dser.startElement(namespace, localName, prefix,
attributes, context);
+ context.setProcessingRef(isRef);
} else {
throw new SAXException(
Messages.getMessage("noDeser00", "" + type));
No revision
No revision
1.9.4.1 +1 -1 xml-axis/java/src/org/apache/axis/message/SOAPHandler.java
Index: SOAPHandler.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/SOAPHandler.java,v
retrieving revision 1.9
retrieving revision 1.9.4.1
diff -u -r1.9 -r1.9.4.1
--- SOAPHandler.java 3 Aug 2002 21:25:25 -0000 1.9
+++ SOAPHandler.java 7 Oct 2002 23:04:36 -0000 1.9.4.1
@@ -74,7 +74,7 @@
throws SAXException
{
// By default, make a new element
- if (!context.isDoneParsing()) {
+ if (!context.isDoneParsing() && !context.isProcessingRef()) {
if (myElement == null) {
myElement = makeNewElement(namespace, localName, prefix,
attributes, context);