[ https://issues.apache.org/jira/browse/TAP5-1679?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Igor Drobiazko closed TAP5-1679. -------------------------------- Resolution: Invalid It's not a bug; it's expected behavior. You are overriding a method without calling the super method and wondering that the later is not called. Either invoke the super method from the sub-class's method or use @BeginRender annotation. Also beware of the ordering. > Bug in InternalClassTransformationImpl > -------------------------------------- > > Key: TAP5-1679 > URL: https://issues.apache.org/jira/browse/TAP5-1679 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-core > Affects Versions: 5.2.6 > Reporter: Alex Lumpov > Priority: Minor > > For example, consider a two components: > public class Parent { > void beginRender(MarkupWriter writer) { > write("A"); > } > } > public class Child extends Parent { > void beginRender(MarkupWriter writer) { > write("B"); > } > } > Judging by the documentation > (http://tapestry.apache.org/component-rendering.html) > component Child should display "AB", > but in reality it displays "A". > The fact that RenderPhaseMethodWorker does not process the method > B.beginRender, > because it believes that it override A.beginRender. > In the process of the transformation of the Child, > InternalClassTransformationImpl.TransformMethodImpl.isOverride() > looking for a method with the same signature in the Parent and it finds it. > All would be right, if the method beginRender was protected or public. > I think > To fix this bug method isOverride() > should take into account the modifiers in the method signature. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira