[ 
https://issues.apache.org/jira/browse/ARIES-1500?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15182796#comment-15182796
 ] 

Jean-Philippe CLEMENT commented on ARIES-1500:
----------------------------------------------

I don't catch why you say it's type erasure as during method search Aries 
checks the generics and fails because of it. But your're right, that would be 
great to have an option to disable extra generics checking and obtain a true 
type erasure, for instance: void myMethod(List<String>) to be considered as 
void myMethod(List) - what Java does at runtime.

As far as I remember this kind of construction does not work in Aries Blueprint:
public final class MyClass<T> {
 public MyClass(final MyObject<? extends T>> something) {
 ...
}

public final class MyObject<T> {
}

public final class Toto extends MyObject<String> {
}

Then:
<bean class="MyClass">
 <argument>
  <bean class="Toto"/>
 </argument>
</bean>

...Fails

PS: Blueprint generics spec would also be welcome :)

> Conversion fails with generics
> ------------------------------
>
>                 Key: ARIES-1500
>                 URL: https://issues.apache.org/jira/browse/ARIES-1500
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>    Affects Versions: blueprint-core-1.5.0
>         Environment: All
>            Reporter: Jean-Philippe CLEMENT
>
> Let's take a bean with the method setSomething(Something<T>) called via 
> blueprint with another bean implementing Something => exception saying that 
> bean conversion is not possible. But, if I change the method signature 
> without the generic type setSomething(Something), then it works as expected.
> Blueprint should not care for the generic type as Java is type erasure and do 
> not exceed the spec.
> There is no nice work around. Have to change all APIs used via Blueprint and 
> take note for all deviations. This is really heavy.



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

Reply via email to