Jdbc4SqlXmlHandler returns null as documented (instead of throwing NPE)
Issue: SPR-13782
(cherry picked from commit 78dad4c)
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2015 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -51,37 +51,51 @@ public class Jdbc4SqlXmlHandler implements SqlXmlHandler {
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
public String getXmlAsString(ResultSet rs, String columnName) throws SQLException {
|
||||
return rs.getSQLXML(columnName).getString();
|
||||
SQLXML xmlObject = rs.getSQLXML(columnName);
|
||||
return (xmlObject != null ? xmlObject.getString() : null);
|
||||
}
|
||||
|
||||
public String getXmlAsString(ResultSet rs, int columnIndex) throws SQLException {
|
||||
return rs.getSQLXML(columnIndex).getString();
|
||||
SQLXML xmlObject = rs.getSQLXML(columnIndex);
|
||||
return (xmlObject != null ? xmlObject.getString() : null);
|
||||
}
|
||||
|
||||
public InputStream getXmlAsBinaryStream(ResultSet rs, String columnName) throws SQLException {
|
||||
return rs.getSQLXML(columnName).getBinaryStream();
|
||||
SQLXML xmlObject = rs.getSQLXML(columnName);
|
||||
return (xmlObject != null ? xmlObject.getBinaryStream() : null);
|
||||
}
|
||||
|
||||
public InputStream getXmlAsBinaryStream(ResultSet rs, int columnIndex) throws SQLException {
|
||||
return rs.getSQLXML(columnIndex).getBinaryStream();
|
||||
SQLXML xmlObject = rs.getSQLXML(columnIndex);
|
||||
return (xmlObject != null ? xmlObject.getBinaryStream() : null);
|
||||
}
|
||||
|
||||
public Reader getXmlAsCharacterStream(ResultSet rs, String columnName) throws SQLException {
|
||||
return rs.getSQLXML(columnName).getCharacterStream();
|
||||
SQLXML xmlObject = rs.getSQLXML(columnName);
|
||||
return (xmlObject != null ? xmlObject.getCharacterStream() : null);
|
||||
}
|
||||
|
||||
public Reader getXmlAsCharacterStream(ResultSet rs, int columnIndex) throws SQLException {
|
||||
return rs.getSQLXML(columnIndex).getCharacterStream();
|
||||
SQLXML xmlObject = rs.getSQLXML(columnIndex);
|
||||
return (xmlObject != null ? xmlObject.getCharacterStream() : null);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public Source getXmlAsSource(ResultSet rs, String columnName, Class sourceClass) throws SQLException {
|
||||
return rs.getSQLXML(columnName).getSource(sourceClass != null ? sourceClass : DOMSource.class);
|
||||
SQLXML xmlObject = rs.getSQLXML(columnName);
|
||||
if (xmlObject == null) {
|
||||
return null;
|
||||
}
|
||||
return xmlObject.getSource(sourceClass != null ? sourceClass : DOMSource.class);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public Source getXmlAsSource(ResultSet rs, int columnIndex, Class sourceClass) throws SQLException {
|
||||
return rs.getSQLXML(columnIndex).getSource(sourceClass != null ? sourceClass : DOMSource.class);
|
||||
SQLXML xmlObject = rs.getSQLXML(columnIndex);
|
||||
if (xmlObject == null) {
|
||||
return null;
|
||||
}
|
||||
return xmlObject.getSource(sourceClass != null ? sourceClass : DOMSource.class);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2015 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -20,7 +20,6 @@ import java.io.InputStream;
|
||||
import java.io.Reader;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import javax.xml.transform.Source;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
@@ -112,7 +111,7 @@ public interface SqlXmlHandler {
|
||||
* database and driver.
|
||||
* @param rs the ResultSet to retrieve the content from
|
||||
* @param columnName the column name to use
|
||||
* @return the content as character stream
|
||||
* @return the content as character stream, or {@code null} in case of SQL NULL
|
||||
* @throws SQLException if thrown by JDBC methods
|
||||
* @see java.sql.ResultSet#getSQLXML
|
||||
* @see java.sql.SQLXML#getCharacterStream
|
||||
@@ -126,7 +125,7 @@ public interface SqlXmlHandler {
|
||||
* database and driver.
|
||||
* @param rs the ResultSet to retrieve the content from
|
||||
* @param columnIndex the column index to use
|
||||
* @return the content as character stream
|
||||
* @return the content as character stream, or {@code null} in case of SQL NULL
|
||||
* @throws SQLException if thrown by JDBC methods
|
||||
* @see java.sql.ResultSet#getSQLXML
|
||||
* @see java.sql.SQLXML#getCharacterStream
|
||||
@@ -141,7 +140,7 @@ public interface SqlXmlHandler {
|
||||
* @param rs the ResultSet to retrieve the content from
|
||||
* @param columnName the column name to use
|
||||
* @param sourceClass the implementation class to be used
|
||||
* @return the content as character stream
|
||||
* @return the content as character stream, or {@code null} in case of SQL NULL
|
||||
* @throws SQLException if thrown by JDBC methods
|
||||
* @see java.sql.ResultSet#getSQLXML
|
||||
* @see java.sql.SQLXML#getSource
|
||||
@@ -156,7 +155,7 @@ public interface SqlXmlHandler {
|
||||
* @param rs the ResultSet to retrieve the content from
|
||||
* @param columnIndex the column index to use
|
||||
* @param sourceClass the implementation class to be used
|
||||
* @return the content as character stream
|
||||
* @return the content as character stream, or {@code null} in case of SQL NULL
|
||||
* @throws SQLException if thrown by JDBC methods
|
||||
* @see java.sql.ResultSet#getSQLXML
|
||||
* @see java.sql.SQLXML#getSource
|
||||
|
||||
Reference in New Issue
Block a user