[ 
https://issues.jboss.org/browse/WELD-1021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12648047#comment-12648047
 ] 

Martin Kouba commented on WELD-1021:
------------------------------------

Following gist contains extracted code (decorated type, decorator and decorated 
bean): https://gist.github.com/1433570. Problematic method is 
ChargeDecorator#deposit(int amount);.
                
> Implicit implementation of abstract decorator method with at least one 
> parameter is missing
> -------------------------------------------------------------------------------------------
>
>                 Key: WELD-1021
>                 URL: https://issues.jboss.org/browse/WELD-1021
>             Project: Weld
>          Issue Type: Bug
>            Reporter: Martin Kouba
>            Assignee: Ales Justin
>
> If an abstract decorator declares abstract method and this method is also 
> declared on decorated type, the container should provide an implicit 
> implementation of this method that calls the method on the delegate. However 
> if the method has at least one parameter implementation is missing.
> TCK test (CDI TCK 1.1): 
> *org.jboss.jsr299.tck.tests.decorators.definition.DecoratorDefinitionTest.testAbstractDecoratorNotImplementingMethodOfDecoratedType(BankAccount)*
> {code}
> java.lang.NoSuchMethodException: 
> org.jboss.interceptor.util.proxy.TargetInstanceProxy.getTargetClass(int)
>       at java.lang.Class.getDeclaredMethod(Class.java:1954)
>       at 
> org.jboss.jsr299.tck.tests.decorators.definition.1941262783$Proxy$_$$_WeldDecoratorProxy.deposit(1941262783$Proxy$_$$_WeldDecoratorProxy.java)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:616)
>       at 
> org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:264)
>       at 
> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)
>       at 
> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)
>       at 
> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:260)
>       at 
> org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:170)
>       at 
> org.jboss.weld.bean.proxy.DecoratorProxyMethodHandler.doInvoke(DecoratorProxyMethodHandler.java:78)
>       at 
> org.jboss.interceptor.util.proxy.TargetInstanceProxyMethodHandler.invoke(TargetInstanceProxyMethodHandler.java:43)
>       at 
> org.jboss.weld.bean.proxy.TargetBeanInstance.invoke(TargetBeanInstance.java:88)
>       at 
> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105)
>       at 
> org.jboss.jsr299.tck.tests.decorators.definition.BankAccount$Proxy$_$$_Weld$Proxy$.deposit(BankAccount$Proxy$_$$_Weld$Proxy$.java)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:616)
>       at 
> org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:264)
>       at 
> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)
>       at 
> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)
>       at 
> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:260)
>       at 
> org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:59)
>       at 
> org.jboss.jsr299.tck.tests.decorators.definition.-906731491$Proxy$_$$_WeldSubclass.deposit(-906731491$Proxy$_$$_WeldSubclass.java)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
weld-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/weld-issues

Reply via email to