[jboss-cvs] JBossAS SVN: r83849 - in projects/aop/trunk/aop/src: test/java/org/jboss/test/aop/standalone and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Feb 4 08:35:59 EST 2009


Author: stalep
Date: 2009-02-04 08:35:59 -0500 (Wed, 04 Feb 2009)
New Revision: 83849

Modified:
   projects/aop/trunk/aop/src/main/java/org/jboss/aop/AspectManager.java
   projects/aop/trunk/aop/src/test/java/org/jboss/test/aop/standalone/PackageTestCase.java
Log:
[JBAOP-697]
Changed AspectManager.getAdvisors() to fetch advisors from all subdomains.

Modified: projects/aop/trunk/aop/src/main/java/org/jboss/aop/AspectManager.java
===================================================================
--- projects/aop/trunk/aop/src/main/java/org/jboss/aop/AspectManager.java	2009-02-04 13:28:28 UTC (rev 83848)
+++ projects/aop/trunk/aop/src/main/java/org/jboss/aop/AspectManager.java	2009-02-04 13:35:59 UTC (rev 83849)
@@ -531,7 +531,27 @@
 
    public Map<Class<?>, WeakReference<Advisor>> getAdvisors()
    {
-      return advisors;
+      WeakHashMap<Class<?>, WeakReference<Advisor>> tmpAdvisors = new WeakHashMap<Class<?>, WeakReference<Advisor>>();
+      if(getSubDomainsPerClass().size() > 0)
+      {
+         Map<Class<?>, WeakReference<Domain>> domainsMap = getSubDomainsPerClass();
+         Set<Class<?>> keys = domainsMap.keySet();
+         Domain subDomain = null;
+         for(Class<?> clazz : keys)
+         {
+            WeakReference<Domain> ref = getSubDomainsPerClass().get(clazz);
+            if (ref != null)
+            {
+               subDomain = ref.get();
+               if(subDomain != null)
+               {
+                  WeakReference<Advisor> advisorRef = advisors.get(clazz);
+                  tmpAdvisors.put(clazz, advisorRef);
+               }
+            }
+         }
+      }
+      return tmpAdvisors;
    }
 
    public Advisor getAdvisor(String name)

Modified: projects/aop/trunk/aop/src/test/java/org/jboss/test/aop/standalone/PackageTestCase.java
===================================================================
--- projects/aop/trunk/aop/src/test/java/org/jboss/test/aop/standalone/PackageTestCase.java	2009-02-04 13:28:28 UTC (rev 83848)
+++ projects/aop/trunk/aop/src/test/java/org/jboss/test/aop/standalone/PackageTestCase.java	2009-02-04 13:35:59 UTC (rev 83849)
@@ -21,10 +21,14 @@
   */
 package org.jboss.test.aop.standalone;
 
+import java.lang.ref.WeakReference;
+import java.util.Map;
+
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 import org.jboss.aop.AspectManager;
+import org.jboss.aop.Domain;
 import org.jboss.test.aop.AOPTestWithSetup;
 
 /**
@@ -55,10 +59,19 @@
       assertTrue(PackageInterceptor.invoked);
       
       org.jboss.aop.standalone.Package pkg = org.jboss.aop.standalone.Package.aopClassMap();
-      System.out.println("Package size: "+pkg.advisors.size());
-      System.out.println("Number of advisors: "+AspectManager.getTopLevelAspectManager().getAdvisors().size());
-      System.out.println("Number of advisors: "+AspectManager.instance().getAdvisors().size());
+      System.out.println("Package size: "+pkg.packages.size());
+      assertEquals(1,pkg.packages.size());
       
-      System.out.println("Number of aspects: "+AspectManager.instance().getPerVMAspects().size());
+//      System.out.println("Number of advisors: "+AspectManager.getTopLevelAspectManager().getAdvisors().size());
+//      System.out.println("Number of advisors: "+AspectManager.instance().getAdvisors().size());
+//      System.out.println("Number of advisors: "+AspectManager.instance().getSubDomainsPerClass2().size());
+//      
+//      Map<Class<?>, WeakReference<Domain>> domains = AspectManager.instance().getSubDomainsPerClass2();
+//      
+//      System.out.println("domains: "+domains.toString());
+      
+      
+      System.out.println("Number of aspects: "+AspectManager.instance().getAspectDefinitions().size());
+      
    }
 }




More information about the jboss-cvs-commits mailing list