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

Claus Ibsen resolved CAMEL-10600.
---------------------------------
    Resolution: Won't Fix

Lets keep current behavior which works fine

> IntrospectionSupport no longer does type conversion on references
> -----------------------------------------------------------------
>
>                 Key: CAMEL-10600
>                 URL: https://issues.apache.org/jira/browse/CAMEL-10600
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>    Affects Versions: 2.18.1
>            Reporter: Greg Vanore
>            Priority: Minor
>
> I had noticed that {{IntrospectionSupport}} uses the type converter system, 
> so was hoping to inject my application config POJOs and then have them 
> converted to the appropriate type for certain properties where the 
> configuration is on a per-object basis.
> My test setup was...
> # ... create a route, 
> {{from("file://tmp/test?noop=true&idempotentRepository=#foo")}}.
> # ... add a bean to my test registry, {{Runnable}} with name {{foo}}.
> # ... register a converter that took a {{Runnable}} and just hardcoded a 
> {{MemoryIdempotentRepository}} as the result. I know this is strange but I 
> just wanted to prove the conversion took place.
> Conversion didn't take place, so I set a breakpoint and took a look at 
> {{IntrospectionSupport}}. (2.18.1) On lines 531-534, a little bit of logic 
> makes sure that the reference is the exact type of the setter, or the setter 
> is skipped. This effectively aborts type conversions for references.
> I did a casual check through history, looks like this was introduced around 
> 2.13.0.
> The most obvious workaround for this is for us to use a {{CompositeRegistry}} 
> and use an established nomenclature (e.g. 
> {{accountName/idempotentRepository}} for us to do the fetch and conversion in 
> one spot.
> If you deem this a non-feature, it would be nice to at least pass the 
> parameter type to the {{CamelContextHelper#lookup}} utility. That way, when 
> we write our custom registry, the lookups will supply a type hint (e.g. 
> {{lookupByNameAndType}} instead of just {{lookupByName}}. Then we won't be 
> forced to come up with a nomenclature that we have to parse, or we could 
> choose to make a generic {{TypeConverterRegistry}} that does a lookup by name 
> and then a mandatory conversion.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to