[
https://issues.jboss.org/browse/WELD-1021?page=com.atlassian.jira.plugin....
]
Ales Justin resolved WELD-1021.
-------------------------------
Fix Version/s: 1.1.5.Final
Resolution: Done
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
Fix For: 1.1.5.Final
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