package railo.runtime.query.caster; import java.io.IOException; import java.sql.ResultSet; import java.sql.SQLException; import oracle.sql.OPAQUE; public class _OracleOpaqueCast { public static Object toCFType(ResultSet rst, int columnIndex) throws SQLException, IOException { validateClasses(); Object o = rst.getObject(columnIndex); if(o==null) return null; OPAQUE opaque = ((oracle.sql.OPAQUE)o); if(opaque.getSQLTypeName().equals("SYS.XMLTYPE")){ return oracle.xdb.XMLType.createXML(opaque).getStringVal(); } return o; } private static void validateClasses() throws IOException { try { if(oracle.xdb.XMLType.class==null); if(oracle.xml.parser.v2.XMLParseException.class==null); } catch(Throwable t) { throw new IOException("the xdb.jar/xmlparserv2.jar is missing, please download at " + "http://www.oracle.com/technology/tech/xml/xdk/xdk_java.html and copy it into the railo lib directory"); } } }