You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by mi...@apache.org on 2004/01/15 17:09:33 UTC

cvs commit: xml-xalan/java/src/org/apache/xalan/templates ElemLiteralResult.java ElemTextLiteral.java

minchau     2004/01/15 08:09:33

  Modified:    java/src/org/apache/xalan/templates ElemLiteralResult.java
                        ElemTextLiteral.java
  Log:
  PR: 26169
  Submitted by:	Brian Minchau
  Flushed serialier before emitting trace event in ElemeTextLiteral and
  ElemLiteralResult.
  
  Revision  Changes    Path
  1.41      +31 -23    xml-xalan/java/src/org/apache/xalan/templates/ElemLiteralResult.java
  
  Index: ElemLiteralResult.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemLiteralResult.java,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- ElemLiteralResult.java	25 Nov 2003 00:03:12 -0000	1.40
  +++ ElemLiteralResult.java	15 Jan 2004 16:09:32 -0000	1.41
  @@ -242,9 +242,9 @@
     public boolean containsExcludeResultPrefix(String prefix, String uri)
     {
       if (uri == null ||
  -				(null == m_excludeResultPrefixes &&
  -				 null == m_ExtensionElementURIs)
  -				)
  +                (null == m_excludeResultPrefixes &&
  +                 null == m_ExtensionElementURIs)
  +                )
         return super.containsExcludeResultPrefix(prefix, uri);
   
       if (prefix.length() == 0)
  @@ -252,18 +252,18 @@
   
       // This loop is ok here because this code only runs during
       // stylesheet compile time.    
  -		if(m_excludeResultPrefixes!=null)
  -			for (int i =0; i< m_excludeResultPrefixes.size(); i++)
  -			{
  -				if (uri.equals(getNamespaceForPrefix(m_excludeResultPrefixes.elementAt(i))))
  -					return true;
  -			}    
  -		
  -		// JJK Bugzilla 1133: Also check locally-scoped extensions
  +        if(m_excludeResultPrefixes!=null)
  +            for (int i =0; i< m_excludeResultPrefixes.size(); i++)
  +            {
  +                if (uri.equals(getNamespaceForPrefix(m_excludeResultPrefixes.elementAt(i))))
  +                    return true;
  +            }    
  +        
  +        // JJK Bugzilla 1133: Also check locally-scoped extensions
       if(m_ExtensionElementURIs!=null && m_ExtensionElementURIs.contains(uri))
          return true;
   
  -		return super.containsExcludeResultPrefix(prefix, uri);
  +        return super.containsExcludeResultPrefix(prefix, uri);
     }
   
     /**
  @@ -343,8 +343,8 @@
     boolean needToCheckExclude()
     {
       if (null == m_excludeResultPrefixes && null == m_prefixTable
  -				&& m_ExtensionElementURIs==null   	// JJK Bugzilla 1133
  -				)
  +                && m_ExtensionElementURIs==null     // JJK Bugzilla 1133
  +                )
         return false;
       else
       {
  @@ -451,7 +451,7 @@
     {
       return m_rawName;
     }
  -	
  +    
    /**
      * Get the prefix part of the raw name of the Literal Result Element.
      *
  @@ -459,10 +459,10 @@
      */
     public String getPrefix()
     {
  -		int len=m_rawName.length()-m_localName.length()-1;
  +        int len=m_rawName.length()-m_localName.length()-1;
       return (len>0)
  -			? m_rawName.substring(0,len)
  -			: "";
  +            ? m_rawName.substring(0,len)
  +            : "";
     }
   
   
  @@ -644,13 +644,17 @@
       public void execute(TransformerImpl transformer)
           throws TransformerException
       {
  -
  -        if (TransformerImpl.S_DEBUG)
  -            transformer.getTraceManager().fireTraceEvent(this);
           SerializationHandler rhandler = transformer.getSerializationHandler();
   
           try
           {
  +            if (TransformerImpl.S_DEBUG) {
  +                // flush any buffered pending processing before
  +                // the trace event.
  +                rhandler.flushPending();
  +                transformer.getTraceManager().fireTraceEvent(this);
  +            }
  +
               // JJK Bugzilla 3464, test namespace85 -- make sure LRE's
               // namespace is asserted even if default, since xsl:element
               // may have changed the context.
  @@ -731,9 +735,13 @@
                * successful startElement() call even if 
                * there was an exception in the middle.
                * Otherwise an exception in the middle could cause a system to hang.
  -             */   
  -            if (TransformerImpl.S_DEBUG)
  +             */
  +            if (TransformerImpl.S_DEBUG) {
  +                // flush any buffered pending processing before
  +                // the trace event.
  +                //rhandler.flushPending();
                   transformer.getTraceManager().fireTraceEndEvent(this);
  +            }
               rhandler.endElement(getNamespace(), getLocalName(), getRawName());
           }
           catch (SAXException se)
  
  
  
  1.15      +18 -4     xml-xalan/java/src/org/apache/xalan/templates/ElemTextLiteral.java
  
  Index: ElemTextLiteral.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemTextLiteral.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- ElemTextLiteral.java	17 Oct 2003 20:59:20 -0000	1.14
  +++ ElemTextLiteral.java	15 Jan 2004 16:09:32 -0000	1.15
  @@ -238,11 +238,15 @@
             TransformerImpl transformer)
               throws TransformerException
     {
  -    if (TransformerImpl.S_DEBUG)
  -      transformer.getTraceManager().fireTraceEvent(this);
       try
       {
         SerializationHandler rth = transformer.getResultTreeHandler();
  +      if (TransformerImpl.S_DEBUG) {
  +        // flush any pending cached processing before the trace event.
  +        rth.flushPending();
  +        transformer.getTraceManager().fireTraceEvent(this);
  +      }
  +
         if (m_disableOutputEscaping)
         {
           rth.processingInstruction(javax.xml.transform.Result.PI_DISABLE_OUTPUT_ESCAPING, "");
  @@ -261,8 +265,18 @@
       }
       finally
       {
  -      if (TransformerImpl.S_DEBUG)
  -        transformer.getTraceManager().fireTraceEndEvent(this);
  +      if (TransformerImpl.S_DEBUG) {
  +        try
  +        {
  +            // flush any pending cached processing before sending the trace event
  +            transformer.getResultTreeHandler().flushPending();
  +            transformer.getTraceManager().fireTraceEndEvent(this);
  +        }
  +        catch (SAXException se)
  +        {
  +            throw new TransformerException(se);
  +        } 
  +      }
       }
     }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org