You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Igor Drobiazko (Closed) (JIRA)" <ji...@apache.org> on 2011/10/02 18:00:34 UTC
[jira] [Closed] (TAP5-1679) Bug in InternalClassTransformationImpl
[ 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
Re: [jira] [Closed] (TAP5-1679) Bug in InternalClassTransformationImpl
Posted by Howard Lewis Ship <hl...@gmail.com>.
Thank you! Basic Java.
On Sun, Oct 2, 2011 at 9:00 AM, Igor Drobiazko (Closed) (JIRA)
<ji...@apache.org> wrote:
>
> [ 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
>
>
>
--
Howard M. Lewis Ship
Creator of Apache Tapestry
The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!
(971) 678-5210
http://howardlewisship.com
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org