Hi,

we had the same problem with Cobertura. And configured it not to weave our 
Decorators which, of course, resulted in a lost of test-coverage information of 
our Decorators. Gurkan, how can the SPI module be used to circumvent the 
problem?

I wonder, if the @Typed-Annotation could be used on Decorators to circumvent 
the problem or if one could write an extension that listens to the 
ProcessAnnotatedType event and remove the specific interface from the result of 
getTypeClosure(). Does OWB use this information or is reflection done to 
determine the implemented interfaces? I'll have a look at the code...

Regards,
Arne

--

Arne Limburg - Enterprise Developer
open knowledge GmbH, Oldenburg
Bismarckstraße 13, 26122 Oldenburg
Mobil: +49 (0) 151 108 22 942
Tel: +49 (0) 441 - 4082-0
Fax: +49 (0) 441 - 4082-111
[email protected]
http://www.openknowledge.de

Registergericht: Amtsgericht Oldenburg, HRB 4670
Geschäftsführer: Lars Röwekamp, Jens Schumann
________________________________________
Von: Gurkan Erdogdu [[email protected]]
Gesendet: Freitag, 3. Juni 2011 09:37
An: [email protected]; [email protected]
Betreff: Re: Yet another proxy/weaving problem

>>>another day another problem....
Integration is always hard thing :)

>>>but this is going to involve making the list of ignored interfaces 
>>>configurable
>>>and may not be acceptable to OWB.
David, this is an acceptable. Explains why SPI module is there.


--Gurkan


________________________________
From: David Jencks <[email protected]>
To: [email protected]
Cc: [email protected]; Geronimo Dev List (JIRA)
<[email protected]>
Sent: Fri, June 3, 2011 9:53:20 AM
Subject: Yet another proxy/weaving problem

another day another problem....

org.apache.webbeans.exception.WebBeansConfigurationException: Decorator :
Name:null, WebBeans Type:DECORATOR, API
Types:[org.jboss.jsr299.tck.tests.context.dependent.InteriorDecorator,org.apache.aries.proxy.weaving.WovenProxy,org.jboss.jsr299.tck.tests.context.dependent.Interior,java.lang.Object],
 Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]
delegate attribute must implement all of the decorator decorated types, but
decorator type interface org.apache.aries.proxy.weaving.WovenProxy is not
assignable from delegate type of interface
org.jboss.jsr299.tck.tests.context.dependent.Interior


I believe the story here is that decorator classes must not implement interfaces
that the delegate doesn't implement, but aries is adding the
org.apache.aries.proxy.weaving.WovenProxy to the decorator class.

OWB is already excluding Serializable and I can modify the code to also exclude
org.apache.aries.proxy.weaving.WovenProxy and the jcdi tests pass but this is
going to involve making the list of ignored interfaces configurable and may not
be acceptable to OWB.

Is there any way to make the weaving/proxying code not add this interface?  I
don't think the jdk proxying code needs to add interfaces....

thanks
david jencks

Reply via email to