You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Babur Duisenov (JIRA)" <ji...@apache.org> on 2016/10/10 13:21:21 UTC

[jira] [Updated] (CAMEL-10376) BeanInfo#introspect does not work correctly with bridge methods

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

Babur Duisenov updated CAMEL-10376:
-----------------------------------
    Description: 
Instead of selecting implementation method, {{bridge method}} is used. We faced an issue with conversion of parameter when {{bean}} implements generic interface.
For example having {{bean}} implementation like this:
{code}
    public interface Service<R> {

        int process(R request);
    }

    public static class MyService implements Service<Request> {

        public int process(Request request) {
            return request.x + 1;
        }
    }
{code}
would lead to {{beanInfo}} containing {{Method}} with signature 
{code}
public abstract int process(Object request)
{code}
in {{methodMap}}

This is not correct as conversion of parameter is not possible in this case.

I could find an issue with the same problem that was previously fixed (CAMEL-8940), but later on it was broken with CAMEL-9656 (commit 5639b78).


  was:
Instead of selecting implementation method, {{bridge method}} is used. We faced an issue with conversion of parameter when {{bean}} implements generic interface.
For example having {{bean}} implementation like this:
{code}
    public interface Service<R> {

        int process(R request);
    }

    public static class MyService implements Service<Request> {

        public int process(Request request) {
            return request.x + 1;
        }
    }
{code}
would lead to {{beanInfo}} containing {{Method}} with signature 
{code}
public int process(Object request)
{code}
in {{methodMap}}

This is not correct as conversion of parameter is not possible in this case.

I could find an issue with the same problem that was previously fixed (CAMEL-8940), but later on it was broken with CAMEL-9656 (commit 5639b78).



> BeanInfo#introspect does not work correctly with bridge methods
> ---------------------------------------------------------------
>
>                 Key: CAMEL-10376
>                 URL: https://issues.apache.org/jira/browse/CAMEL-10376
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.17.3, 2.18.0
>            Reporter: Babur Duisenov
>
> Instead of selecting implementation method, {{bridge method}} is used. We faced an issue with conversion of parameter when {{bean}} implements generic interface.
> For example having {{bean}} implementation like this:
> {code}
>     public interface Service<R> {
>         int process(R request);
>     }
>     public static class MyService implements Service<Request> {
>         public int process(Request request) {
>             return request.x + 1;
>         }
>     }
> {code}
> would lead to {{beanInfo}} containing {{Method}} with signature 
> {code}
> public abstract int process(Object request)
> {code}
> in {{methodMap}}
> This is not correct as conversion of parameter is not possible in this case.
> I could find an issue with the same problem that was previously fixed (CAMEL-8940), but later on it was broken with CAMEL-9656 (commit 5639b78).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)