[weld-commits] Weld SVN: r6348 - in core/trunk: tests/src/test/java/org/jboss/weld/tests/event and 1 other directories.

weld-commits at lists.jboss.org weld-commits at lists.jboss.org
Fri May 28 07:39:11 EDT 2010


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);



More information about the weld-commits mailing list