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
