minchau     2004/08/13 14:09:20

  Modified:    java/src/org/apache/xalan/trace TraceManager.java
  Log:
  PR: 30301
  Submitted by: Brian Minchau
  Reviewed by:  Morris Kwan
  
  Revision  Changes    Path
  1.17      +15 -9     
xml-xalan/java/src/org/apache/xalan/trace/TraceManager.java
  
  Index: TraceManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/trace/TraceManager.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- TraceManager.java 16 Feb 2004 23:00:27 -0000      1.16
  +++ TraceManager.java 13 Aug 2004 21:09:20 -0000      1.17
  @@ -134,8 +134,7 @@
       if (hasTraceListeners())
       {
         int sourceNode = m_transformer.getXPathContext().getCurrentNode();
  -      Node source = m_transformer.getXPathContext().getDTM(
  -        sourceNode).getNode(sourceNode);
  +      Node source = getDOMNodeFromDTM(sourceNode);
   
         fireTraceEvent(new TracerEvent(m_transformer, source, 
                        m_transformer.getMode(),  /*sourceNode, mode,*/
  @@ -157,8 +156,7 @@
       if (hasTraceListeners())
       {
         int sourceNode = m_transformer.getXPathContext().getCurrentNode();
  -      Node source = m_transformer.getXPathContext().getDTM(
  -        sourceNode).getNode(sourceNode);
  +      Node source = getDOMNodeFromDTM(sourceNode);
   
         fireTraceEndEvent(new TracerEvent(m_transformer, source,
                        m_transformer.getMode(),  /*sourceNode, mode,*/
  @@ -231,8 +229,7 @@
   
       if (hasTraceListeners())
       {
  -      Node source = m_transformer.getXPathContext().getDTM(
  -        sourceNode).getNode(sourceNode);
  +      Node source = getDOMNodeFromDTM(sourceNode);
           
         fireSelectedEvent(new SelectionEvent(m_transformer, source, styleNode,
                                              attributeName, xpath, selection));
  @@ -258,8 +255,7 @@
   
       if (hasTraceListeners())
       {
  -      Node source = m_transformer.getXPathContext().getDTM(
  -        sourceNode).getNode(sourceNode);
  +      Node source = getDOMNodeFromDTM(sourceNode);
           
         fireSelectedEndEvent(new EndSelectionEvent(m_transformer, source, 
styleNode,
                                              attributeName, xpath, selection));
  @@ -419,5 +415,15 @@
           }
         }
       }
  +  }
  +  
  +  /**
  +   * Get the DOM Node of the current XPath context, which is possibly null.
  +   * @param sourceNode the handle on the node used by a DTM.
  +   */
  +  private Node getDOMNodeFromDTM(int sourceNode) {
  +    org.apache.xml.dtm.DTM dtm = 
m_transformer.getXPathContext().getDTM(sourceNode);
  +    final Node source = (dtm == null) ? null : dtm.getNode(sourceNode);
  +    return source;
     }
   }
  
  
  

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

Reply via email to