public void checkXFastPropertySet()
{
log.println("---- Testing the XFastPropertySet interface ----");
// creating instances
XFastPropertySet xFPS = (XFastPropertySet)
UnoRuntime.queryInterface(XFastPropertySet.class, oObj);
String name = null;
// do for all properties
for (int i = 0; i < props.length; i++) {
try {
Property property = props[i];
name = property.Name;
int handle = property.Handle;
// get property name and initial value
log.println("Test property with name: " + name);
String val = (String)xFPS.getFastPropertyValue(handle);
log.println("Property has initial value: '" + val + "'");
// set to a new correct value
String newVal = changeToCorrectValue(val);
log.println("Try to change to correct value '" + newVal + "'");
xFPS.setFastPropertyValue(handle, newVal);
// check the change
String checkVal = (String)xFPS.getFastPropertyValue(handle);
assure("Did not change value on property " + name + ".", checkVal.equals(newVal));
newVal = changeToIncorrectValue(val);
log.println("Try to change to incorrect value '" + newVal + "'");
try {
xFPS.setFastPropertyValue(handle, newVal);
}
catch(com.sun.star.lang.IllegalArgumentException e) {
log.println("Correctly thrown Exception caught.");
}
// check if changed
checkVal = (String)xFPS.getFastPropertyValue(handle);
assure("Value did change on property " + name + " though it should not have.",
!checkVal.equals(newVal));
// set back to initial setting
xFPS.setFastPropertyValue(handle, val);
// check if changed
checkVal = (String)xFPS.getFastPropertyValue(handle);
assure("Did not change value back to original on property "
+ name, checkVal.equals(val));
log.println("Test of property " + name + " finished\n");
}
catch(com.sun.star.uno.Exception e) {