Author: dallen6
Date: 2010-05-28 07:39:10 -0400 (Fri, 28 May 2010)
New Revision: 6348
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/ProxyFactory.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/event/EventQualifierTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/observer/ObserverInjectionTest.java
Log:
WELD-506 Added proxying of private methods
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/ProxyFactory.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/ProxyFactory.java 2010-05-28
11:29:51 UTC (rev 6347)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/ProxyFactory.java 2010-05-28
11:39:10 UTC (rev 6348)
@@ -402,6 +402,20 @@
proxyClassType.addMethod(CtNewMethod.make(method.getReturnType(),
method.getName(), method.getParameterTypes(), method.getExceptionTypes(),
createInterceptorBody(method), proxyClassType));
}
}
+ // Also add all private methods from the class hierarchy
+ CtClass superClass = proxyClassType.getSuperclass();
+ while (!superClass.getName().equals("java.lang.Object"))
+ {
+ for (CtMethod method : superClass.getDeclaredMethods())
+ {
+ if (Modifier.isPrivate(method.getModifiers()) &&
!method.getDeclaringClass().getName().equals("java.lang.Object"))
+ {
+ log.trace("Adding method " + method.getLongName());
+ proxyClassType.addMethod(CtNewMethod.make(method.getReturnType(),
method.getName(), method.getParameterTypes(), method.getExceptionTypes(),
createInterceptorBody(method), proxyClassType));
+ }
+ }
+ superClass = superClass.getSuperclass();
+ }
}
catch (Exception e)
{
Modified:
core/trunk/tests/src/test/java/org/jboss/weld/tests/event/EventQualifierTest.java
===================================================================
---
core/trunk/tests/src/test/java/org/jboss/weld/tests/event/EventQualifierTest.java 2010-05-28
11:29:51 UTC (rev 6347)
+++
core/trunk/tests/src/test/java/org/jboss/weld/tests/event/EventQualifierTest.java 2010-05-28
11:39:10 UTC (rev 6348)
@@ -24,7 +24,7 @@
public class EventQualifierTest extends AbstractWeldTest
{
- @Test(description="WELD-226", groups="broken")
+ @Test(description="WELD-226")
public void testDefaultQualifierNotRequired()
{
Bar bar = getReference(Bar.class);
Modified:
core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/observer/ObserverInjectionTest.java
===================================================================
---
core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/observer/ObserverInjectionTest.java 2010-05-28
11:29:51 UTC (rev 6347)
+++
core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/observer/ObserverInjectionTest.java 2010-05-28
11:39:10 UTC (rev 6348)
@@ -8,7 +8,7 @@
public class ObserverInjectionTest extends AbstractWeldTest
{
- @Test(description="WELD-535", groups="broken")
+ @Test(description="WELD-535")
public void testInjectionHappens()
{
SampleObserver sampleObserver = getReference(SampleObserver.class);
Show replies by date