Bean Data Control issues when member variable’s name starts with a single lowercase letter followed by a uppercase letter – for e.g. “lValue”. I noticed this with Oracle MAF but this is likely a Bean Data Control issue and occurs in ADF as well.
This was triggered by a question in the Oracle MAF forums. A member was having issues refreshing the MAF UI. The code appeared correct on first look and used PropertyChangeSupport.
The issue occurs when the member variable’s name starts with a single lowercase letter followed by a uppercase letter – for e.g. “lValue”. Now the correct JavaBean property name is “lValue” and so the setter method auto-generates a firePropertyChange call that looks (as expected) like this
propertyChangeSupport.firePropertyChange("lValue", oldTValue, tValue);
However, the bean data control exposes this as “LValue” with an uppercase letter being the first letter (see screenshot below). This means that the page binding does not recognise the property change event being fired as it expects the event to be tagged with “LValue” as defined by the data control.
I think this is likely a bug in ADFm. In anycase, the simple fix is to change the firePropertyChange to match the property name exposed by the data control.