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