}
oObj = (XInterface) oInterface;
log.println( " creating a new environment for object" );
TestEnvironment tEnv = new TestEnvironment( oObj );
// Adding relations for disposing object
tEnv.addObjRelation("ORowSet.Connection", connection) ;
this.conn = (XConnection) tEnv.getObjRelation("ORowSet.Connection");
// Adding obj relation for XRowSetApproveBroadcaster test
{
final XResultSet xResSet = (XResultSet)
UnoRuntime.queryInterface(XResultSet.class, oObj) ;
final XResultSetUpdate xResSetUpdate = (XResultSetUpdate)
UnoRuntime.queryInterface(XResultSetUpdate.class, oObj) ;
final XRowSet xRowSet = (XRowSet) UnoRuntime.queryInterface
(XRowSet.class, oObj) ;
final XRowUpdate xRowUpdate = (XRowUpdate)
UnoRuntime.queryInterface(XRowUpdate.class, oObj) ;
final PrintWriter logF = log ;
tEnv.addObjRelation("XRowSetApproveBroadcaster.ApproveChecker",
new ifc.sdb._XRowSetApproveBroadcaster.RowSetApproveChecker() {
public void moveCursor() {
try {
xResSet.beforeFirst() ;
xResSet.afterLast() ;
xResSet.first() ;
} catch (com.sun.star.sdbc.SQLException e) {
logF.println("### _XRowSetApproveBroadcaster." +
"RowSetApproveChecker.moveCursor() :") ;
e.printStackTrace(logF) ;
}
}
public RowChangeEvent changeRow() {
try {
xResSet.first() ;
xRowUpdate.updateString(1, "ORowSetTest2") ;
xResSetUpdate.updateRow() ;
} catch (com.sun.star.sdbc.SQLException e) {
logF.println("### _XRowSetApproveBroadcaster." +
"RowSetApproveChecker.changeRow() :") ;
e.printStackTrace(logF) ;
}
RowChangeEvent ev = new RowChangeEvent() ;
ev.Action = com.sun.star.sdb.RowChangeAction.UPDATE ;
ev.Rows = 1 ;
return ev ;
}
public void changeRowSet() {
try {
xRowSet.execute() ;
xResSet.first() ;
} catch (com.sun.star.sdbc.SQLException e) {
logF.println("### _XRowSetApproveBroadcaster."+
"RowSetApproveChecker.changeRowSet() :") ;
e.printStackTrace(logF) ;
}
}
}) ;
}
// Adding relations for XRow as a Vector with all data
// of current row of RowSet.
Vector rowData = new Vector() ;
for (int i = 0; i < DBTools.TST_TABLE_VALUES[0].length; i++) {
rowData.add(DBTools.TST_TABLE_VALUES[0][i]) ;
}
// here XRef must be added
// here XBlob must be added
// here XClob must be added
// here XArray must be added
tEnv.addObjRelation("CurrentRowData", rowData) ;
// Adding relation for XColumnLocate ifc test
tEnv.addObjRelation("XColumnLocate.ColumnName",
DBTools.TST_STRING_F) ;
// Adding relation for XCompletedExecution
tEnv.addObjRelation("InteractionHandlerChecker", new InteractionHandlerImpl());
XPropertySet xProp = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, oObj) ;
try {
xProp.setPropertyValue("DataSourceName", dbSourceName) ;
if(isMySQLDB) {
xProp.setPropertyValue("Command", "SELECT Column0 FROM soffice_test_table WHERE ( ( Column0 = :param1 ) )");
}
else {
xProp.setPropertyValue("Command", "SELECT \"_TEXT\" FROM \"ORowSet_tmp" + uniqueSuffix + "\" WHERE ( ( \"_TEXT\" = :param1 ) )");
}
xProp.setPropertyValue("CommandType", new Integer(CommandType.COMMAND)) ;
}
catch(Exception e) {
}
// Adding relation for XParameters ifc test
Vector params = new Vector() ;
tEnv.addObjRelation("XParameters.ParamValues", params) ;
// Adding relation for XRowUpdate
XRow row = (XRow) UnoRuntime.queryInterface (XRow.class, oObj) ;
tEnv.addObjRelation("XRowUpdate.XRow", row) ;
// Adding relation for XResultSetUpdate
{
final XResultSet xResSet = (XResultSet)
UnoRuntime.queryInterface(XResultSet.class, oObj) ;
final XRowUpdate xRowUpdate = (XRowUpdate)
UnoRuntime.queryInterface(XRowUpdate.class, oObj) ;
final XRow xRow = (XRow) UnoRuntime.queryInterface
(XRow.class, oObj) ;
tEnv.addObjRelation("XResultSetUpdate.UpdateTester",
new ifc.sdbc._XResultSetUpdate.UpdateTester() {
String lastUpdate = null ;
public int rowCount() throws SQLException {
int prevPos = xResSet.getRow() ;