d.stop();
}
public void testSpatialInsertUndoRedo() throws Exception {
SpatialDataSource d = (SpatialDataSource)
ds.getDataSource("spatialobjectpersona",
DataSourceFactory.UNDOABLE);
d.beginTrans();
long rc = d.getRowCount();
int fieldIndex = d.getFieldIndexByName("id");
d.getFieldValue(1, fieldIndex);
d.insertEmptyRow();
d.undo();
assertTrue(rc == d.getRowCount());
d.redo();
assertTrue(rc == d.getRowCount() - 1);
d.rollBackTrans();
d.beginTrans();
d.buildIndex();
d.getFieldValue(1, fieldIndex);
d.insertEmptyRow();
d.undo();
assertTrue(rc == d.getRowCount() - 1);
d.redo();
assertTrue(rc == d.getRowCount() - 2);
d.rollBackTrans();
d.beginTrans();
d.buildIndex();
d.getFieldValue(1, fieldIndex);
d.insertEmptyRow();
rc = d.getRowCount();
d.undo();
d.redo();
assertTrue(d.getRowCount() == rc+1);
assertTrue(((DoubleValue)d.getFieldValue(0, 1)).getValue() == 1);
assertTrue(((DoubleValue)d.getFieldValue(1, 1)).getValue() == 2);
assertTrue(((DoubleValue)d.getFieldValue(2, 1)).getValue() == 3);
assertTrue(d.getFieldValue(3, 1) instanceof NullValue);
assertTrue(d.getFieldValue(4, 1) instanceof NullValue);
d.commitTrans();
d.start();
assertTrue(d.getRowCount() == rc);
assertTrue(((DoubleValue)d.getFieldValue(0, 1)).getValue() == 1);
assertTrue(((DoubleValue)d.getFieldValue(1, 1)).getValue() == 2);
assertTrue(((DoubleValue)d.getFieldValue(2, 1)).getValue() == 3);
assertTrue(d.getFieldValue(3, 1) instanceof NullValue);
d.stop();
}