grchiu      2003/05/13 10:42:30

  Modified:    java/src/org/apache/xalan/processor
                        ProcessorTemplateElem.java
               java/src/org/apache/xalan/templates ElemAttributeSet.java
                        ElemElement.java ElemLiteralResult.java
                        ElemTemplateElement.java ElemUse.java
  Log:
  Some Trace-related fixes: Two trace events were being fired for ElemCopy,
  and for templates elements derived from ElemUse the trace end event was
  being fired before child templates were executed. Also saved locator
  information for the end tag of stylesheet elements.
  
  Revision  Changes    Path
  1.13      +1 -1      
xml-xalan/java/src/org/apache/xalan/processor/ProcessorTemplateElem.java
  
  Index: ProcessorTemplateElem.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/processor/ProcessorTemplateElem.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ProcessorTemplateElem.java        30 Jan 2003 18:45:45 -0000      1.12
  +++ ProcessorTemplateElem.java        13 May 2003 17:42:29 -0000      1.13
  @@ -161,6 +161,6 @@
               throws org.xml.sax.SAXException
     {
       super.endElement(handler, uri, localName, rawName);
  -    handler.popElemTemplateElement();
  +    handler.popElemTemplateElement().setEndLocaterInfo(handler.getLocator());
     }
   }
  
  
  
  1.12      +7 -0      
xml-xalan/java/src/org/apache/xalan/templates/ElemAttributeSet.java
  
  Index: ElemAttributeSet.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemAttributeSet.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- ElemAttributeSet.java     30 Jan 2003 18:45:50 -0000      1.11
  +++ ElemAttributeSet.java     13 May 2003 17:42:30 -0000      1.12
  @@ -141,6 +141,9 @@
               throws TransformerException
     {
   
  +     if (TransformerImpl.S_DEBUG)
  +       transformer.getTraceManager().fireTraceEvent(this);
  +
       if (transformer.isRecursiveAttrSet(this))
       {
         throw new TransformerException(
  @@ -162,6 +165,10 @@
       }
   
       transformer.popElemAttributeSet();
  +   
  +     if (TransformerImpl.S_DEBUG)
  +       transformer.getTraceManager().fireTraceEndEvent(this);
  +
     }
   
     /**
  
  
  
  1.32      +4 -8      
xml-xalan/java/src/org/apache/xalan/templates/ElemElement.java
  
  Index: ElemElement.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemElement.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- ElemElement.java  24 Apr 2003 19:54:15 -0000      1.31
  +++ ElemElement.java  13 May 2003 17:42:30 -0000      1.32
  @@ -275,10 +275,8 @@
               throws TransformerException
     {
   
  -//    This was causing a duplicate trace event because the parent class, 
ElemUse
  -//    is also firing this.
  -//       if (TransformerImpl.S_DEBUG)
  -//         transformer.getTraceManager().fireTraceEvent(this);
  +       if (TransformerImpl.S_DEBUG)
  +         transformer.getTraceManager().fireTraceEvent(this);
   
        SerializationHandler rhandler = transformer.getSerializationHandler();
       XPathContext xctxt = transformer.getXPathContext();
  @@ -364,10 +362,8 @@
   
       constructNode(nodeName, prefix, nodeNamespace, transformer);
   
  -//  This was causing a duplicate trace event because the parent class, 
ElemUse
  -//  is also firing this.
  -//    if (TransformerImpl.S_DEBUG)
  -//      transformer.getTraceManager().fireTraceEndEvent(this);
  +    if (TransformerImpl.S_DEBUG)
  +      transformer.getTraceManager().fireTraceEndEvent(this);
     }
     
     /**
  
  
  
  1.36      +7 -0      
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.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- ElemLiteralResult.java    1 Apr 2003 20:16:27 -0000       1.35
  +++ ElemLiteralResult.java    13 May 2003 17:42:30 -0000      1.36
  @@ -645,6 +645,9 @@
               throws TransformerException
     {
   
  +     if (TransformerImpl.S_DEBUG)
  +       transformer.getTraceManager().fireTraceEvent(this);
  +
       try
       {
         SerializationHandler rhandler = transformer.getSerializationHandler();
  @@ -710,6 +713,10 @@
       {
         throw new TransformerException(se);
       }
  +
  +     if (TransformerImpl.S_DEBUG)
  +       transformer.getTraceManager().fireTraceEndEvent(this);
  +
     }
   
     /**
  
  
  
  1.60      +44 -0     
xml-xalan/java/src/org/apache/xalan/templates/ElemTemplateElement.java
  
  Index: ElemTemplateElement.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemTemplateElement.java,v
  retrieving revision 1.59
  retrieving revision 1.60
  diff -u -r1.59 -r1.60
  --- ElemTemplateElement.java  1 Apr 2003 20:16:27 -0000       1.59
  +++ ElemTemplateElement.java  13 May 2003 17:42:30 -0000      1.60
  @@ -711,6 +711,22 @@
      *  @serial         */
     private int m_lineNumber;
   
  +  /** line number where the current document event ends.
  +   *  @serial         */
  +  private int m_endLineNumber;
  +
  +  /**
  +   * Return the line number where the current document event ends.
  +   * Note that this is the line position of the first character
  +   * after the text associated with the document event.
  +   * @return The line number, or -1 if none is available.
  +   * @see #getColumnNumber
  +   */
  +  public int getEndLineNumber()
  +  {
  +     return m_endLineNumber;
  +  }
  +
     /**
      * Return the line number where the current document event ends.
      * Note that this is the line position of the first character
  @@ -727,6 +743,23 @@
      *  @serial        */
     private int m_columnNumber;
   
  +  /** the column number where the current document event ends.
  +   *  @serial        */
  +  private int m_endColumnNumber;
  +
  +  /**
  +   * Return the column number where the current document event ends.
  +   * Note that this is the column number of the first
  +   * character after the text associated with the document
  +   * event.  The first column in a line is position 1.
  +   * @return The column number, or -1 if none is available.
  +   * @see #getLineNumber
  +   */
  +  public int getEndColumnNumber()
  +  {
  +     return m_endColumnNumber;
  +  }
  +
     /**
      * Return the column number where the current document event ends.
      * Note that this is the column number of the first
  @@ -778,6 +811,17 @@
       m_lineNumber = locator.getLineNumber();
       m_columnNumber = locator.getColumnNumber();
     }
  +  
  +  /**
  +   * Set the end location information for this element.
  +   *
  +   * @param locator Source Locator with location information for this element
  +   */
  +  public void setEndLocaterInfo(SourceLocator locator)
  +  {
  +     m_endLineNumber = locator.getLineNumber();
  +     m_endColumnNumber = locator.getColumnNumber();
  +  } 
   
     /**
      * Tell if this element has the default space handling
  
  
  
  1.16      +1 -5      
xml-xalan/java/src/org/apache/xalan/templates/ElemUse.java
  
  Index: ElemUse.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemUse.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- ElemUse.java      30 Jan 2003 18:45:51 -0000      1.15
  +++ ElemUse.java      13 May 2003 17:42:30 -0000      1.16
  @@ -228,16 +228,12 @@
             TransformerImpl transformer)
               throws TransformerException
     {
  -    if (TransformerImpl.S_DEBUG)
  -      transformer.getTraceManager().fireTraceEvent(this);
   
       if (null != m_attributeSetsNames)
       {
         applyAttrSets(transformer, getStylesheetRoot(),
                       m_attributeSetsNames);
       }
  -    
  -    if (TransformerImpl.S_DEBUG)
  -       transformer.getTraceManager().fireTraceEndEvent(this); 
  + 
     }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to