@Override @Nullable public String getXmlAsString(ResultSet rs, String columnName) throws SQLException { SQLXML xmlObject = rs.getSQLXML(columnName); return (xmlObject != null ? xmlObject.getString() : null); }
@Override @Nullable public String getXmlAsString(ResultSet rs, int columnIndex) throws SQLException { SQLXML xmlObject = rs.getSQLXML(columnIndex); return (xmlObject != null ? xmlObject.getString() : null); }
public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException { checkClosed(); String stringValue = xmlObject == null ? null : xmlObject.getString(); if (stringValue == null) { setNull(parameterIndex, Types.SQLXML); } else { setString(parameterIndex, stringValue, Oid.XML); } }
/** * Converts a value object for an expected JDBC type of {@link Types#CHAR}, {@link Types#VARCHAR}, * {@link Types#LONGVARCHAR}, {@link Types#CLOB}, {@link Types#NCHAR}, {@link Types#NVARCHAR}, {@link Types#LONGNVARCHAR}, * {@link Types#NCLOB}, {@link Types#DATALINK}, and {@link Types#SQLXML}. * * @param column the column definition describing the {@code data} value; never null * @param fieldDefn the field definition; never null * @param data the data object to be converted into a {@link Date Kafka Connect date} type; never null * @return the converted value, or null if the conversion could not be made and the column allows nulls * @throws IllegalArgumentException if the value could not be converted but the column does not allow nulls */ protected Object convertString(Column column, Field fieldDefn, Object data) { return convertValue(column, fieldDefn, data, "", (r) -> { if (data instanceof SQLXML) { try { r.deliver(((SQLXML)data).getString()); } catch (SQLException e) { throw new RuntimeException("Error processing data from " + column.jdbcType() + " and column " + column + ": class=" + data.getClass(), e); } } else { r.deliver(data.toString()); } }); }
case SQLXML: if (value != null) { rowValues.add(StringEscapeUtils.escapeCsv(((java.sql.SQLXML) value).getString())); } else { rowValues.add("");
case SQLXML: if (value != null) { rowValues.add(StringEscapeUtils.escapeCsv(((java.sql.SQLXML) value).getString())); } else { rowValues.add("");
rec.put(i - 1, value); } else if (value instanceof java.sql.SQLXML) { rec.put(i - 1, ((java.sql.SQLXML) value).getString()); } else {
rec.put(i - 1, value); } else if (value instanceof java.sql.SQLXML) { rec.put(i - 1, ((java.sql.SQLXML) value).getString()); } else {
rec.put(i - 1, ((SQLXML) value).getString()); } else {
protected String sqlxmlToString(SQLXML sqlxml) throws SQLException { if (sqlxml == null) { return null; } try { return sqlxml.getString(); } finally { sqlxml.free(); } }
@Override public String call() throws SQLException { return sqlXML.getString(); } });
/** * INTERNAL: * Casts the passed object to SQLXML and calls getString and free methods */ public static String getStringAndFreeSQLXML(Object sqlXml) throws SQLException { String str = ((SQLXML)sqlXml).getString(); ((SQLXML)sqlXml).free(); return str; }
@Override public String getValue(ResultSet rs, int startIndex) throws SQLException { SQLXML value = rs.getSQLXML(startIndex); return value != null ? value.getString() : null; }
@Override public String getValue(ResultSet rs, int startIndex) throws SQLException { SQLXML value = rs.getSQLXML(startIndex); return value != null ? value.getString() : null; }
/** * Casts the passed object to SQLXML and calls getString and free methods */ public String getStringAndFreeSQLXML(Object sqlXml) throws SQLException { String str = ((SQLXML)sqlXml).getString(); ((SQLXML)sqlXml).free(); return str; } }
@Test public void testGoodXML() throws Exception { String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><customer>\n" + //$NON-NLS-1$ "<name>ABC</name>" + //$NON-NLS-1$ "<age>32</age>" + //$NON-NLS-1$ "</customer>"; //$NON-NLS-1$ StringToSQLXMLTransform transform = new StringToSQLXMLTransform(); SQLXML xmlValue = (SQLXML)transform.transformDirect(xml); assertEquals(xml.replaceAll("[\r]", ""), xmlValue.getString().replaceAll("[\r]", "")); }
private void helpTestJson(String json, String rootName, String expected) throws SQLException, TeiidComponentException, TeiidProcessingException, SerialException, IOException { CommandContext cc = new CommandContext(); cc.setBufferManager(BufferManagerFactory.getStandaloneBufferManager()); SQLXML xml = XMLSystemFunctions.jsonToXml(cc, rootName, new SerialClob(json.toCharArray())); assertEquals(expected, xml.getString()); xml = XMLSystemFunctions.jsonToXml(cc, rootName, new SerialBlob(json.getBytes(Charset.forName("UTF-8")))); assertEquals(expected, xml.getString()); xml = XMLSystemFunctions.jsonToXml(cc, rootName, new SerialBlob(json.getBytes(Charset.forName("UTF-32BE")))); assertEquals(expected, xml.getString()); }