You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by Howard Lewis Ship <hl...@gmail.com> on 2011/04/01 20:49:52 UTC
Property Expressions Change: 5.2.4 to 5.2.5
I'm seeing what could be a serious problem in 5.2.5. Was anyone
working on the PropertyConduitSource code in 5.2.5?
There's been a subtle shift in how the code deals with implementation
of abstract methods.
public abstract class AbstractFoo
{
public abstract AbstractBar getBar();
}
public class Foo extends AbstractFoo
{
public Bar getBar();
}
In this circumstance, the PropertyConduitSource sees the type of
property "bar" of class Foo as AbstractBar, not Bar.
I'm going to check if this is a change from 5.2.4 to 5.2.5.
--
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
Re: Property Expressions Change: 5.2.4 to 5.2.5
Posted by Howard Lewis Ship <hl...@gmail.com>.
Curiouser and curiouser ... same problem in 5.2.4 as in 5.2.5 (so, no,
I don't think the code has changed between releases). I only started
seeing this problem in my client project after the upgrade to 5.2.5,
but perhaps there's some other recent change (to AbstractFoo, I
suppose) that explains its emergence as a problem.
But ... I think the PropertyConduitSource or PropertyAccess is broken
for this case; the type of property "bar" should be Bar not
AbstractBar. Could this be a JVM issue ... some difference in how the
JVM identifies covariant return types in subclasses?
On Fri, Apr 1, 2011 at 11:49 AM, Howard Lewis Ship <hl...@gmail.com> wrote:
> I'm seeing what could be a serious problem in 5.2.5. Was anyone
> working on the PropertyConduitSource code in 5.2.5?
>
> There's been a subtle shift in how the code deals with implementation
> of abstract methods.
>
> public abstract class AbstractFoo
> {
> public abstract AbstractBar getBar();
> }
>
> public class Foo extends AbstractFoo
> {
> public Bar getBar();
> }
>
>
> In this circumstance, the PropertyConduitSource sees the type of
> property "bar" of class Foo as AbstractBar, not Bar.
>
> I'm going to check if this is a change from 5.2.4 to 5.2.5.
>
> --
> 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
>
--
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