You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Fritz Pröbstle (JIRA)" <de...@tapestry.apache.org> on 2008/07/17 13:17:31 UTC

[jira] Issue Comment Edited: (TAPESTRY-2311) "Parents before Child" concept for Component Rendering does not allow different rendering in subclasses

    [ https://issues.apache.org/jira/browse/TAPESTRY-2311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12614298#action_12614298 ] 

fritz.pro edited comment on TAPESTRY-2311 at 7/17/08 4:15 AM:
-------------------------------------------------------------------

The *override* functionality works fine if all classes base and subclass(es) are in the same package.
The overriden function is called for  subclass only.

If base and subclasses are in different packages only the base class function is called. ( It seams as if tapestry did not "see" the overwritten one.

This really seams to be the problem, because if you 
specify the function to be "protected" (at least) tapestry can "see" it and calls the correct one.

This workaound can be done id source is available for the base class(es) and does not work if I want to subclass 
core-components.( And naturally this is doen in another package, so this error prevents my to use the new *Overridíng* feature)




      was (Author: fritz.pro):
    The *override* functionality works fine if all classes base and subclass(es) are in the same package.
The overriden function is called for  subclass only.

If base and subclasses are in different packages only the base class function is called. ( It seams as if tapestry did not "see" the overwritten one.

This really seams too be the problem, because if you 
specify the function to be "protected" (at least) tapestry can "see" it and calls the correct one.

This workaound can be done id source is available for the base class(es) and does not work if I want to subclass 
core-components.( And naturally this is doen in another package, so this error prevents my to use the new *Overridíng* feature)



  
> "Parents before Child" concept for Component Rendering does not allow different rendering in subclasses
> -------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2311
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2311
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.11
>            Reporter: Fritz Pröbstle
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.0.13
>
>
> I   subclassed  GridPager ( public class MyGridPager extends GridPager) to implement another pager visualisation.
> After creating a MyGrid (public class MyGrid extends Grid) which uses MyGridPager and copying Grid,tml to MyGrig.tml ist was ready to test.
> Start.tml:
>         <t:mygrid source="tl" row="treffer" rowsPerPage="5">
>                <t:parameter name="regnrcell">
>                  <t:pagelink page="marke2"  >	${treffer.regnr}</t:pagelink>
>             </t:parameter> 
>         </t:mygrid>
> It runs fine - but I got the "old" ,default Visualiation *AND* the   new one.  It is a result of the "Parents before Child" concept .
> First the Parent creates its visualisatrion the my Child createy its new visualisation.
> Subclasses can not decide of they want to call the implemetation of their parent or not.
> Why is this implemented like this?
> Why call parent implemtation at all, the child could do this explicit by calling super.XXX.( I know Annotations may make this more complex)
> Can you help ?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org