Jdbc4SqlXmlHandler returns null as documented (instead of throwing NPE)
Issue: SPR-13782
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2002-2013 the original author or authors.
|
* Copyright 2002-2015 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -53,43 +53,55 @@ public class Jdbc4SqlXmlHandler implements SqlXmlHandler {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getXmlAsString(ResultSet rs, String columnName) throws SQLException {
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getXmlAsString(ResultSet rs, int columnIndex) throws SQLException {
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InputStream getXmlAsBinaryStream(ResultSet rs, String columnName) throws SQLException {
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InputStream getXmlAsBinaryStream(ResultSet rs, int columnIndex) throws SQLException {
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Reader getXmlAsCharacterStream(ResultSet rs, String columnName) throws SQLException {
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Reader getXmlAsCharacterStream(ResultSet rs, int columnIndex) throws SQLException {
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Source getXmlAsSource(ResultSet rs, String columnName, Class<? extends Source> sourceClass) throws SQLException {
|
public Source getXmlAsSource(ResultSet rs, String columnName, Class<? extends Source> sourceClass) throws SQLException {
|
||||||
SQLXML xmlObject = rs.getSQLXML(columnName);
|
SQLXML xmlObject = rs.getSQLXML(columnName);
|
||||||
|
if (xmlObject == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return (sourceClass != null ? xmlObject.getSource(sourceClass) : xmlObject.getSource(DOMSource.class));
|
return (sourceClass != null ? xmlObject.getSource(sourceClass) : xmlObject.getSource(DOMSource.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Source getXmlAsSource(ResultSet rs, int columnIndex, Class<? extends Source> sourceClass) throws SQLException {
|
public Source getXmlAsSource(ResultSet rs, int columnIndex, Class<? extends Source> sourceClass) throws SQLException {
|
||||||
SQLXML xmlObject = rs.getSQLXML(columnIndex);
|
SQLXML xmlObject = rs.getSQLXML(columnIndex);
|
||||||
|
if (xmlObject == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return (sourceClass != null ? xmlObject.getSource(sourceClass) : xmlObject.getSource(DOMSource.class));
|
return (sourceClass != null ? xmlObject.getSource(sourceClass) : xmlObject.getSource(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");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -112,7 +112,7 @@ public interface SqlXmlHandler {
|
|||||||
* database and driver.
|
* database and driver.
|
||||||
* @param rs the ResultSet to retrieve the content from
|
* @param rs the ResultSet to retrieve the content from
|
||||||
* @param columnName the column name to use
|
* @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
|
* @throws SQLException if thrown by JDBC methods
|
||||||
* @see java.sql.ResultSet#getSQLXML
|
* @see java.sql.ResultSet#getSQLXML
|
||||||
* @see java.sql.SQLXML#getCharacterStream
|
* @see java.sql.SQLXML#getCharacterStream
|
||||||
@@ -126,7 +126,7 @@ public interface SqlXmlHandler {
|
|||||||
* database and driver.
|
* database and driver.
|
||||||
* @param rs the ResultSet to retrieve the content from
|
* @param rs the ResultSet to retrieve the content from
|
||||||
* @param columnIndex the column index to use
|
* @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
|
* @throws SQLException if thrown by JDBC methods
|
||||||
* @see java.sql.ResultSet#getSQLXML
|
* @see java.sql.ResultSet#getSQLXML
|
||||||
* @see java.sql.SQLXML#getCharacterStream
|
* @see java.sql.SQLXML#getCharacterStream
|
||||||
@@ -141,7 +141,7 @@ public interface SqlXmlHandler {
|
|||||||
* @param rs the ResultSet to retrieve the content from
|
* @param rs the ResultSet to retrieve the content from
|
||||||
* @param columnName the column name to use
|
* @param columnName the column name to use
|
||||||
* @param sourceClass the implementation class to be used
|
* @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
|
* @throws SQLException if thrown by JDBC methods
|
||||||
* @see java.sql.ResultSet#getSQLXML
|
* @see java.sql.ResultSet#getSQLXML
|
||||||
* @see java.sql.SQLXML#getSource
|
* @see java.sql.SQLXML#getSource
|
||||||
@@ -156,7 +156,7 @@ public interface SqlXmlHandler {
|
|||||||
* @param rs the ResultSet to retrieve the content from
|
* @param rs the ResultSet to retrieve the content from
|
||||||
* @param columnIndex the column index to use
|
* @param columnIndex the column index to use
|
||||||
* @param sourceClass the implementation class to be used
|
* @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
|
* @throws SQLException if thrown by JDBC methods
|
||||||
* @see java.sql.ResultSet#getSQLXML
|
* @see java.sql.ResultSet#getSQLXML
|
||||||
* @see java.sql.SQLXML#getSource
|
* @see java.sql.SQLXML#getSource
|
||||||
|
|||||||
Reference in New Issue
Block a user