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/03/28 13:12:24 UTC

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

"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


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


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

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship closed TAPESTRY-2311.
------------------------------------------

       Resolution: Fixed
    Fix Version/s: 5.0.13

> "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


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

Posted by "Fritz Pröbstle (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Fritz Pröbstle reopened TAPESTRY-2311:
--------------------------------------


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


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

Posted by "Fritz Pröbstle (JIRA)" <de...@tapestry.apache.org>.
    [ 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


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

Posted by "Fritz Pröbstle (JIRA)" <de...@tapestry.apache.org>.
    [ 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 5:52 AM:
-------------------------------------------------------------------

The *override* functionality works fine if all classes base and subclass(es) are in the same package-then
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 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)



  
> "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


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

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship updated TAPESTRY-2311:
-------------------------------------------

    Assignee:     (was: Howard M. Lewis Ship)

> "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
>             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


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

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12589180#action_12589180 ] 

Howard M. Lewis Ship commented on TAPESTRY-2311:
------------------------------------------------

There are complex issues at foot here, and there may not be any single solution that meets all needs in all cases.

The super approach is not valid: the super class methods may be private, or have different parameters or return types.

> "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
>
> 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


[jira] Closed: (TAP5-51) "Parents before Child" concept for Component Rendering does not allow different rendering in subclasses

Posted by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-51?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship closed TAP5-51.
------------------------------------

    Resolution: Invalid
      Assignee: Howard M. Lewis Ship

Still don't think there's a bug here, and your comment about different packages ... are you sure the overridden methods are protected or public?

> "Parents before Child" concept for Component Rendering does not allow different rendering in subclasses
> -------------------------------------------------------------------------------------------------------
>
>                 Key: TAP5-51
>                 URL: https://issues.apache.org/jira/browse/TAP5-51
>             Project: Tapestry 5
>          Issue Type: Bug
>            Reporter: Fritz Pröbstle
>            Assignee: Howard M. Lewis Ship
>
> 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


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

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship reassigned TAPESTRY-2311:
----------------------------------------------

    Assignee: Howard M. Lewis Ship

> "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
>
> 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


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

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12603237#action_12603237 ] 

Howard M. Lewis Ship commented on TAPESTRY-2311:
------------------------------------------------

My approach here will be that if the child class *overrides* a method of the parent, then the overridden method will be invoked only by the parent class, not the subclass. 

> "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
>
> 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