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);