You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Jesse Kuhnert (JIRA)" <de...@tapestry.apache.org> on 2007/06/17 00:59:26 UTC

[jira] Updated: (TAPESTRY-1545) Tapestry overrides page methods that implement a superclass's abstract method

     [ https://issues.apache.org/jira/browse/TAPESTRY-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jesse Kuhnert updated TAPESTRY-1545:
------------------------------------

    Fix Version/s: 4.1.3

> Tapestry overrides page methods that implement a superclass's abstract method
> -----------------------------------------------------------------------------
>
>                 Key: TAPESTRY-1545
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1545
>             Project: Tapestry
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: 4.1.1
>            Reporter: Robert J. Walker
>             Fix For: 4.1.3
>
>
> If you have an abstract accessor method in a page class, then implement the getter in the subclass, then call that method in an OGNL expression on the page, the implemented method never gets called. Instead, Tapestry overrides it when it enhances the page class with its own version. Tapestry should not override existing methods on page classes. An example follows. Bug is fixed when MySubclassPage displays "Fixed" instead of "Borken".
> _____
> MySuperclassPage.java
> public abstract class MySuperclassPage extends org.apache.tapestry.html.BasePage {
> 	public abstract boolean isMyBooleanProperty();
> }
> _____
> MySubclassPage.java
> public abstract class MySubclassPage extends MySuperclassPage {
> 	public boolean isMyBooleanProperty() {
> 		return true; // This never gets called
> 	}
> }
> _____
> MySubclassPage.html
> <span jwcid="@Insert" value="ognl:myBooleanProperty ? 'Fixed' : 'Borken'" />
> _____
> MySubclassPage.page
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE page-specification PUBLIC 
>   "-//Apache Software Foundation//Tapestry Specification 4.0//EN"
>   "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd">
> <page-specification class="mypackage.MySubclassPage">
> </page-specification>

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