/*************************************************************************** * * **************************************************************************/ private Object doSetterInEDT (final Object object, final Object[] methodParameters, final Method method) throws InvocationTargetException, IllegalArgumentException, IllegalAccessException { final String propertyName = getPropertyName(method); final Property property = BeanProperty.create(Introspector.decapitalize(propertyName)); final Object oldValue = property.getValue(object); Object returnValue = method.invoke(bean, methodParameters); // FIXME: or proxy.invokeSuper()? if (returnValue == bean) { returnValue = object; } log.trace(">>>> {} - {} changed : {} -> {}", new Object[] { object, propertyName, oldValue, methodParameters[0] } ); propertyChangeSupport.firePropertyChange(propertyName, oldValue, methodParameters[0]); return returnValue; }
/*************************************************************************** * * **************************************************************************/ private Object doSetterInEDT (final Object object, final Object[] methodParameters, final Method method) throws InvocationTargetException, IllegalArgumentException, IllegalAccessException { final String propertyName = getPropertyName(method); final Property property = BeanProperty.create(Introspector.decapitalize(propertyName)); final Object oldValue = property.getValue(object); Object returnValue = method.invoke(bean, methodParameters); // FIXME: or proxy.invokeSuper()? if (returnValue == bean) { returnValue = object; } logger.finest(String.format(">>>> %s - %s changed : %s -> %s", object, propertyName, oldValue, methodParameters[0])); propertyChangeSupport.firePropertyChange(propertyName, oldValue, methodParameters[0]); return returnValue; }