You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sb...@apache.org on 2001/02/20 04:06:58 UTC
cvs commit: xml-xalan/java/src/org/apache/xalan/lib/sql ColumnHeader.java RowSet.java XStatement.java
sboag 01/02/19 19:06:58
Modified: java/src/org/apache/xalan/lib/sql ColumnHeader.java
RowSet.java XStatement.java
Log:
Use null nodetest to mean the same as "node()". This fixes a bug reported
by "Voytenko, Dimitry" <DV...@SECTORBASE.COM>
where <xsl:copy-of select="sql:query(...)"/>
crashes with NullPointerException, i.e.
there are cases where we really don't want
to set the NodeTest.
Revision Changes Path
1.5 +7 -2 xml-xalan/java/src/org/apache/xalan/lib/sql/ColumnHeader.java
Index: ColumnHeader.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/lib/sql/ColumnHeader.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ColumnHeader.java 2000/12/14 19:06:06 1.4
+++ ColumnHeader.java 2001/02/20 03:06:57 1.5
@@ -141,9 +141,10 @@
// try
{
- if (this.getNodeTest().getNamespace() == null)
+ org.apache.xpath.patterns.NodeTest nt = this.getNodeTest();
+ if ((null == nt) || nt.getNamespace() == null)
{
- if (this.getNodeTest().getLocalName().equals(
+ if ((null == nt) || nt.getLocalName().equals(
XStatement.S_COLUMNHEADERNAME))
{
int nextIndex = m_columnIndex + 1;
@@ -156,6 +157,10 @@
m_metaData);
return m_parent.m_columnHeaders[nextIndex];
+ }
+ else if(nt == null)
+ {
+ return new Row(getXStatement(), m_parent);
}
else
return null;
1.5 +5 -3 xml-xalan/java/src/org/apache/xalan/lib/sql/RowSet.java
Index: RowSet.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/lib/sql/RowSet.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- RowSet.java 2000/12/14 19:06:07 1.4
+++ RowSet.java 2001/02/20 03:06:58 1.5
@@ -116,9 +116,10 @@
try
{
- if (this.getNodeTest().getNamespace() == null)
+ org.apache.xpath.patterns.NodeTest nt = this.getNodeTest();
+ if ((null == nt) || nt.getNamespace() == null)
{
- if (this.getNodeTest().getLocalName().equals(
+ if ((null == nt) || nt.getLocalName().equals(
XStatement.S_COLUMNHEADERNAME))
{
if (null == m_columnHeaders)
@@ -141,7 +142,7 @@
else
return m_columnHeaders[0];
}
- else if (this.getNodeTest().getLocalName().equals(
+ else if (nt.getLocalName().equals(
XStatement.S_ROWNAME))
{
if (null == m_firstrow)
@@ -164,6 +165,7 @@
return null;
}
}
+
/**
* getNextSibling - This always returns null.
1.9 +3 -2 xml-xalan/java/src/org/apache/xalan/lib/sql/XStatement.java
Index: XStatement.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/lib/sql/XStatement.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- XStatement.java 2001/01/04 17:10:46 1.8
+++ XStatement.java 2001/02/20 03:06:58 1.9
@@ -385,8 +385,9 @@
try
{
- if ((this.getNodeTest().getNamespace() == null)
- && (this.getNodeTest().getLocalName().equals(S_DOCELEMENTNAME)))
+ org.apache.xpath.patterns.NodeTest nt = this.getNodeTest();
+ if ((nt == null) || ((nt.getNamespace() == null)
+ && (nt.getLocalName().equals(S_DOCELEMENTNAME))))
return m_rowset;
else
return null;