*
*/
public void testArbitraryConverter() throws Exception {
//Create and initialize command to read customers
Command read = Command.FACTORY.createCommand("select * from CUSTOMER where ID = 1", getConfig("CustomerConfigWithConverter.xml"));
read.setConnection(getConnection());
String[] columns = { "ID", "LASTNAME", "ADDRESS" };
String[] tables = { "CUSTOMER", "CUSTOMER", "CUSTOMER" };
Type[] types = { SDODataTypes.INTEGEROBJECT, SDODataTypes.DATE, SDODataTypes.STRING };
ResultSetShape shape = new ResultSetShape(tables, columns, types);
read.setResultSetShape(shape);
//Read
DataObject root = read.executeQuery();
//Verify
assertEquals(kbday, root.getDate("CUSTOMER[1]/LASTNAME"));
//Modify
root.setDate("CUSTOMER[1]/LASTNAME", tbday);
ApplyChangesCommand write = Command.FACTORY.createApplyChangesCommand(getConfig("CustomerConfigWithConverter.xml"));
write.setConnection(getConnection());
write.execute(root);
//Read
root = read.executeQuery();
//Verify
assertEquals(tbday, root.getDate("CUSTOMER[1]/LASTNAME"));
}