Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
5.3
-
None
Description
As of Tapestry 5.3.0 overridden base class methods are causing a second submit, behaviour not present in Tapestry 5.1:
public abstract class BaseClass {
public abstract Object onSuccessFromStep1();
}
public class SubClass extends BaseClass{
@Override
public Object onSuccessFromStep1()
onSuccessFromStep1() is invoked twice in this example... the simple workaround is to return true, but this will not suffice when handling objects.
Comment from Howard:
I suspect Tapestry is not recognizing that
SubClass.onSuccessFromStep1() is an override of
BaseClass.onSuccessFromStep1() (perhaps the abstract flag is throwing
it).
So, Tapestry builds code for BaseClass, and implements
dispatchComponentEvent() to invoke onSuccessFromStep1().
It then builds code for SubClass, sees onSuccessFromStep1(), doesn't
think it's an override of the base class method (for whatever reason),
and implements dispatchComponentEvent() to (a) invoke
super.dispatchComponentEvent(), and (b) invoke onSuccessFromStep1().
Thus two invocations.
Attachments
Issue Links
- is related to
-
TAP5-2508 Page activation method not always called since t54-beta33
- Closed