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)