Re: Proxying default methods does not work with 5.5.0-beta-2

"Thiago H. de Paula Figueiredo" <[email protected]> Fri, 21 Jun 2019 22:43:36 -0300
Newsgroups gmane.comp.java.tapestry.user
Message-ID <CAE_88GZQSKiB29aPqaq9X-SyPDXqQXx4cHxK7UOvySFSoFoGMw@mail.gmail.com>
--000000000000d2bb5c058bdfb577
Content-Type: text/plain; charset="UTF-8"

I've just committed a fix for this issue.

On Mon, May 6, 2019 at 2:35 PM Oliver Kaiser <[email protected]>
wrote:

> Hi everyone,
>
> given something like this:
>
> public interface Blub {
>    public default String foo() {
>      return "Default";
>    }
> }
> public class BlubImpl implements Blub {
>    @Override
>    public String foo() {
>      return "Impl";
>    }
> }
>
> when calling "registry.getService(Blub.class).foo()" using beta-1 this
> works as expected (BlubImpl is called); when using beta-2 only the
> default method is called.
>
> the log output of PlasticProxyFactory shows that the method is skipped
> in the generated class
>
> seems to be related to this commit
>
> https://github.com/apache/tapestry-5/commit/709d282bfc626ce55cde07cbf909c0b86c2b4bcb#diff-89a017b694cffee07e15608bc316d0d7
>
> now "proxyInterface(Class, PlasticMethod)" only
> calls "introduceInterface(Class, PasticMethod)" (which skips the method
> as "isDefaultMethod(m)" returns true); earlier versions had an
> additional for-loop which handled this case (at least from stepping
> though in a debugger it looks that way)
>
>
> that's a regression, right?
>
>
> btw: thanks to everyone who worked on the 5.4->5.5 transition; updating
> was very smooth!
>
>
> Regards,
> Oliver
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

-- 
Thiago

--000000000000d2bb5c058bdfb577--