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]