[jboss-cvs] JBossAS SVN: r75066 - projects/aop/trunk/aop/src/test/org/jboss/test/aop/dynamicgenadvisor.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jun 25 10:59:02 EDT 2008


Author: flavia.rainone at jboss.com
Date: 2008-06-25 10:59:02 -0400 (Wed, 25 Jun 2008)
New Revision: 75066

Modified:
   projects/aop/trunk/aop/src/test/org/jboss/test/aop/dynamicgenadvisor/DynamicTester.java
Log:
Added try/finally blocks to DynamicTester, so that the failure in one test method does not result in
failures in subsequent test methods.

Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/dynamicgenadvisor/DynamicTester.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/dynamicgenadvisor/DynamicTester.java	2008-06-25 14:56:55 UTC (rev 75065)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/dynamicgenadvisor/DynamicTester.java	2008-06-25 14:59:02 UTC (rev 75066)
@@ -30,7 +30,6 @@
 import junit.framework.TestSuite;
 import junit.textui.TestRunner;
 
-
 import org.jboss.aop.Advised;
 import org.jboss.aop.AspectManager;
 import org.jboss.aop.Domain;
@@ -334,123 +333,138 @@
 
    public void testInstanceUsingDomainForMethod()throws Exception
    {
-      System.out.println("TEST INSTANCE USING DOMAIN FOR METHOD");
-      AdviceBinding bindingTopA = new AdviceBinding("execution(* org.jboss.test.aop.dynamicgenadvisor.POJO->someMethod(..))", null);
-      String nameTopA = bindingTopA.getName();
-      bindingTopA.addInterceptor(MyInterceptor.class);
-      AspectManager.instance().addBinding(bindingTopA);
-      
-      POJO pojo1 = new POJO();
-      POJO pojo2 = new POJO();
-      
-      Interceptions.clear();
-      pojo1.someMethod(123);
-      pojo2.someMethod(123);
-      assertEquals(2, Interceptions.size());
-      assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(0));
-      assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(1));
-      
-      //Add instance advices
-      AdviceBinding bindingA = new AdviceBinding("execution(* org.jboss.test.aop.dynamicgenadvisor.POJO->someMethod(..))", null);
-      String nameA = bindingA.getName();
-      bindingA.addInterceptor(MyInterceptor.class);
-      getInstanceDomain(pojo1).addBinding(bindingA);
-      
-      AdviceBinding bindingB = new AdviceBinding("execution(* org.jboss.test.aop.dynamicgenadvisor.POJO->someMethod(..))", null);
-      String nameB = bindingB.getName();
-      AspectDefinition myAspect = AspectManager.instance().getAspectDefinition("org.jboss.test.aop.dynamicgenadvisor.MyAspect"); 
-      bindingB.addInterceptorFactory(new AdviceFactory(myAspect, "intercept"));
-      getInstanceDomain(pojo2).addBinding(bindingB);
-      
-      System.out.println("Added instance advices");
-      Interceptions.clear();
-      pojo1.someMethod(123);
-      assertEquals(2, Interceptions.size());
-      assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(0));
-      assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(1));
-      
-      
-      Interceptions.clear();
-      pojo2.someMethod(123);
-      assertEquals(2, Interceptions.size());
-      assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(0));
-      assertEquals(Interceptions.getMethodName("MyAspect", "POJO", "someMethod"), Interceptions.get(1));
-     
-      //Add top level advice
-      POJO pojo3 = new POJO();
-      AdviceBinding bindingTopB = new AdviceBinding("execution(* org.jboss.test.aop.dynamicgenadvisor.POJO->someMethod(..))", null);
-      String nameTopB = bindingTopB.getName();
-      bindingTopB.addInterceptor(YourInterceptor.class);
-      AspectManager.instance().addBinding(bindingTopB);
-      
-      System.out.println("Added top level advice");
-      
-      Interceptions.clear();
-      pojo1.someMethod(123);
-      assertEquals(3, Interceptions.size());
-      Interceptions.printInterceptions();
-      //Since we are adding at the top-level that will get added to the end of the chain, i.e. the order is no longer guaranteed
-      checkInterceptions(createExpectedList(
-            Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), 
-            Interceptions.getMethodName("YourInterceptor", "POJO", "someMethod"), 
-            Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod")));
-
-      Interceptions.clear();
-      pojo2.someMethod(123);
-      assertEquals(3, Interceptions.size());
-      //Since we are adding at the top-level that will get added to the end of the chain, i.e. the order is no longer guaranteed
-      checkInterceptions(createExpectedList(
-            Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), 
-            Interceptions.getMethodName("YourInterceptor", "POJO", "someMethod"),
-            Interceptions.getMethodName("MyAspect", "POJO", "someMethod")));
-
-      
-      Interceptions.clear();
-      pojo3.someMethod(123);
-      assertEquals(2, Interceptions.size());
-      assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(0));
-      assertEquals(Interceptions.getMethodName("YourInterceptor", "POJO", "someMethod"), Interceptions.get(1));
-
-      
-      AspectManager.instance().removeBinding(nameTopB);
-
-      Interceptions.clear();
-      pojo1.someMethod(123);
-      assertEquals(2, Interceptions.size());
-      assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(0));
-      assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(1));
-      
-      Interceptions.clear();
-      pojo2.someMethod(123);
-      assertEquals(2, Interceptions.size());
-      assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(0));
-      assertEquals(Interceptions.getMethodName("MyAspect", "POJO", "someMethod"), Interceptions.get(1));
-      
-      getInstanceDomain(pojo1).removeBinding(nameA);
-      
-      Interceptions.clear();
-      pojo1.someMethod(123);
-      assertEquals(1, Interceptions.size());
-      assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(0));
-      
-      AspectManager.instance().removeBinding(nameTopA);
-      
-      Interceptions.clear();
-      pojo1.someMethod(123);
-      assertEquals(0, Interceptions.size());
-      
-      Interceptions.clear();
-      
-      pojo2.someMethod(123);
-      assertEquals(1, Interceptions.size());
-      assertEquals(Interceptions.getMethodName("MyAspect", "POJO", "someMethod"), Interceptions.get(0));
-
-      getInstanceDomain(pojo2).removeBinding(nameB);
-
-      Interceptions.clear();
-      pojo1.someMethod(123);
-      pojo2.someMethod(123);
-      assertEquals(0, Interceptions.size());
+      String nameTopA = null, nameTopB = null;
+      try
+      {
+         System.out.println("TEST INSTANCE USING DOMAIN FOR METHOD");
+         AdviceBinding bindingTopA = new AdviceBinding("execution(* org.jboss.test.aop.dynamicgenadvisor.POJO->someMethod(..))", null);
+         nameTopA = bindingTopA.getName();
+         bindingTopA.addInterceptor(MyInterceptor.class);
+         AspectManager.instance().addBinding(bindingTopA);
+         
+         POJO pojo1 = new POJO();
+         POJO pojo2 = new POJO();
+         
+         Interceptions.clear();
+         pojo1.someMethod(123);
+         pojo2.someMethod(123);
+         assertEquals(2, Interceptions.size());
+         assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(0));
+         assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(1));
+         
+         //Add instance advices
+         AdviceBinding bindingA = new AdviceBinding("execution(* org.jboss.test.aop.dynamicgenadvisor.POJO->someMethod(..))", null);
+         String nameA = bindingA.getName();
+         bindingA.addInterceptor(MyInterceptor.class);
+         getInstanceDomain(pojo1).addBinding(bindingA);
+         
+         AdviceBinding bindingB = new AdviceBinding("execution(* org.jboss.test.aop.dynamicgenadvisor.POJO->someMethod(..))", null);
+         String nameB = bindingB.getName();
+         AspectDefinition myAspect = AspectManager.instance().getAspectDefinition("org.jboss.test.aop.dynamicgenadvisor.MyAspect"); 
+         bindingB.addInterceptorFactory(new AdviceFactory(myAspect, "intercept"));
+         getInstanceDomain(pojo2).addBinding(bindingB);
+         
+         System.out.println("Added instance advices");
+         Interceptions.clear();
+         pojo1.someMethod(123);
+         assertEquals(2, Interceptions.size());
+         assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(0));
+         assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(1));
+         
+         
+         Interceptions.clear();
+         pojo2.someMethod(123);
+         assertEquals(2, Interceptions.size());
+         assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(0));
+         assertEquals(Interceptions.getMethodName("MyAspect", "POJO", "someMethod"), Interceptions.get(1));
+        
+         //Add top level advice
+         POJO pojo3 = new POJO();
+         AdviceBinding bindingTopB = new AdviceBinding("execution(* org.jboss.test.aop.dynamicgenadvisor.POJO->someMethod(..))", null);
+         nameTopB = bindingTopB.getName();
+         bindingTopB.addInterceptor(YourInterceptor.class);
+         AspectManager.instance().addBinding(bindingTopB);
+         
+         System.out.println("Added top level advice");
+         
+         Interceptions.clear();
+         pojo1.someMethod(123);
+         assertEquals(3, Interceptions.size());
+         Interceptions.printInterceptions();
+         //Since we are adding at the top-level that will get added to the end of the chain, i.e. the order is no longer guaranteed
+         checkInterceptions(createExpectedList(
+               Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), 
+               Interceptions.getMethodName("YourInterceptor", "POJO", "someMethod"), 
+               Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod")));
+   
+         Interceptions.clear();
+         pojo2.someMethod(123);
+         assertEquals(3, Interceptions.size());
+         //Since we are adding at the top-level that will get added to the end of the chain, i.e. the order is no longer guaranteed
+         checkInterceptions(createExpectedList(
+               Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), 
+               Interceptions.getMethodName("YourInterceptor", "POJO", "someMethod"),
+               Interceptions.getMethodName("MyAspect", "POJO", "someMethod")));
+   
+         
+         Interceptions.clear();
+         pojo3.someMethod(123);
+         assertEquals(2, Interceptions.size());
+         assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(0));
+         assertEquals(Interceptions.getMethodName("YourInterceptor", "POJO", "someMethod"), Interceptions.get(1));
+   
+         
+         AspectManager.instance().removeBinding(nameTopB);
+   
+         Interceptions.clear();
+         pojo1.someMethod(123);
+         assertEquals(2, Interceptions.size());
+         assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(0));
+         assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(1));
+         
+         Interceptions.clear();
+         pojo2.someMethod(123);
+         assertEquals(2, Interceptions.size());
+         assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(0));
+         assertEquals(Interceptions.getMethodName("MyAspect", "POJO", "someMethod"), Interceptions.get(1));
+         
+         getInstanceDomain(pojo1).removeBinding(nameA);
+         
+         Interceptions.clear();
+         pojo1.someMethod(123);
+         assertEquals(1, Interceptions.size());
+         assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(0));
+         
+         AspectManager.instance().removeBinding(nameTopA);
+         
+         Interceptions.clear();
+         pojo1.someMethod(123);
+         assertEquals(0, Interceptions.size());
+         
+         Interceptions.clear();
+         
+         pojo2.someMethod(123);
+         assertEquals(1, Interceptions.size());
+         assertEquals(Interceptions.getMethodName("MyAspect", "POJO", "someMethod"), Interceptions.get(0));
+   
+         getInstanceDomain(pojo2).removeBinding(nameB);
+   
+         Interceptions.clear();
+         pojo1.someMethod(123);
+         pojo2.someMethod(123);
+         assertEquals(0, Interceptions.size());
+      }
+      finally
+      {
+         if (nameTopA != null)
+         {
+            AspectManager.instance().removeBinding(nameTopA);
+         }
+         if (nameTopB != null)
+         {
+            AspectManager.instance().removeBinding(nameTopB);
+         }
+      }
    }
    
    public void testSimpleInstanceUsingDomainForField() throws Exception
@@ -512,154 +526,170 @@
 
    public void testInstanceUsingDomainForField()throws Exception
    {
-      System.out.println("TEST INSTANCE USING DOMAIN FOR FIELD");
-      AdviceBinding bindingTopA = new AdviceBinding("field(* org.jboss.test.aop.dynamicgenadvisor.POJO->i)", null);
-      String nameTopA = bindingTopA.getName();
-      bindingTopA.addInterceptor(MyInterceptor.class);
-      AspectManager.instance().addBinding(bindingTopA);
-      
-      POJO pojo1 = new POJO();
-      POJO pojo2 = new POJO();
-      
-      Interceptions.clear();
-      pojo1.i = 10;
-      pojo2.i=20;
-      assertEquals(10, pojo1.i);
-      assertEquals(20, pojo2.i);
-      assertEquals(4, Interceptions.size());
-      assertEquals(Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"), Interceptions.get(0));
-      assertEquals(Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"), Interceptions.get(1));
-      assertEquals(Interceptions.getFieldReadName("MyInterceptor", "POJO", "i"), Interceptions.get(2));
-      assertEquals(Interceptions.getFieldReadName("MyInterceptor", "POJO", "i"), Interceptions.get(3));
-      
-      //Add instance advices
-      AdviceBinding bindingA = new AdviceBinding("set(* org.jboss.test.aop.dynamicgenadvisor.POJO->i)", null);
-      String nameA = bindingA.getName();
-      bindingA.addInterceptor(MyInterceptor.class);
-      getInstanceDomain(pojo1).addBinding(bindingA);
-      
-      AdviceBinding bindingB = new AdviceBinding("get(* org.jboss.test.aop.dynamicgenadvisor.POJO->i)", null);
-      String nameB = bindingB.getName();
-      AspectDefinition myAspect = AspectManager.instance().getAspectDefinition("org.jboss.test.aop.dynamicgenadvisor.MyAspect"); 
-      bindingB.addInterceptorFactory(new AdviceFactory(myAspect, "intercept"));
-      getInstanceDomain(pojo2).addBinding(bindingB);
-      
-      System.out.println("Added instance advices");
-      Interceptions.clear();
-      pojo1.i = 50;
-      assertEquals(50, pojo1.i);
-      assertEquals(3, Interceptions.size());
-      assertEquals(Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"), Interceptions.get(0));
-      assertEquals(Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"), Interceptions.get(1));
-      assertEquals(Interceptions.getFieldReadName("MyInterceptor", "POJO", "i"), Interceptions.get(2));
-      
-      Interceptions.clear();
-      pojo2.i = 100;
-      assertEquals(100, pojo2.i);
-      assertEquals(3, Interceptions.size());
-      assertEquals(Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"), Interceptions.get(0));
-      assertEquals(Interceptions.getFieldReadName("MyInterceptor", "POJO", "i"), Interceptions.get(1));
-      assertEquals(Interceptions.getFieldReadName("MyAspect", "POJO", "i"), Interceptions.get(2));
-     
-      //Add top level advice
-      POJO pojo3 = new POJO();
-      AdviceBinding bindingTopB = new AdviceBinding("field(* org.jboss.test.aop.dynamicgenadvisor.POJO->i)", null);
-      String nameTopB = bindingTopB.getName();
-      bindingTopB.addInterceptor(YourInterceptor.class);
-      AspectManager.instance().addBinding(bindingTopB);
-      
-      System.out.println("Added top level advice");
-      
-      Interceptions.clear();
-      pojo1.i = 66;
-      assertEquals(66, pojo1.i);
-      assertEquals(5, Interceptions.size());
-      //Since we are adding at the top-level that will get added to the end of the chain, i.e. the order is no longer guaranteed
-      checkInterceptions(createExpectedList(
-            Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"), 
-            Interceptions.getFieldWriteName("YourInterceptor", "POJO", "i"), 
-            Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"), 
-            Interceptions.getFieldReadName("MyInterceptor", "POJO", "i"),
-            Interceptions.getFieldReadName("YourInterceptor", "POJO", "i")));
-
-      Interceptions.clear();
-      pojo2.i = 99;
-      assertEquals(99, pojo2.i);
-      assertEquals(5, Interceptions.size());
-      //Since we are adding at the top-level that will get added to the end of the chain, i.e. the order is no longer guaranteed
-      checkInterceptions(createExpectedList(
-            Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"),
-            Interceptions.getFieldWriteName("YourInterceptor", "POJO", "i"), 
-            Interceptions.getFieldReadName("MyInterceptor", "POJO", "i"), 
-            Interceptions.getFieldReadName("YourInterceptor", "POJO", "i"), 
-            Interceptions.getFieldReadName("MyAspect", "POJO", "i")));
-
-      
-      Interceptions.clear();
-      pojo3.i = 12;
-      assertEquals(12, pojo3.i);
-      assertEquals(4, Interceptions.size());
-      assertEquals(Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"), Interceptions.get(0));
-      assertEquals(Interceptions.getFieldWriteName("YourInterceptor", "POJO", "i"), Interceptions.get(1));
-      assertEquals(Interceptions.getFieldReadName("MyInterceptor", "POJO", "i"), Interceptions.get(2));
-      assertEquals(Interceptions.getFieldReadName("YourInterceptor", "POJO", "i"), Interceptions.get(3));
-
-      
-      AspectManager.instance().removeBinding(nameTopA);
-      Interceptions.clear();
-      pojo1.i = 50;
-      assertEquals(50, pojo1.i);
-      assertEquals(3, Interceptions.size());
-      assertEquals(Interceptions.getFieldWriteName("YourInterceptor", "POJO", "i"), Interceptions.get(0));
-      assertEquals(Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"), Interceptions.get(1));
-      assertEquals(Interceptions.getFieldReadName("YourInterceptor", "POJO", "i"), Interceptions.get(2));
-      
-      Interceptions.clear();
-      pojo2.i = 100;
-      assertEquals(100, pojo2.i);
-      assertEquals(3, Interceptions.size());
-      assertEquals(Interceptions.getFieldWriteName("YourInterceptor", "POJO", "i"), Interceptions.get(0));
-      assertEquals(Interceptions.getFieldReadName("YourInterceptor", "POJO", "i"), Interceptions.get(1));
-      assertEquals(Interceptions.getFieldReadName("MyAspect", "POJO", "i"), Interceptions.get(2));
-
-
-      System.out.println("================> removing binding");
-      getInstanceDomain(pojo1).removeBinding(nameA);
-
-      
-      Interceptions.clear();
-      pojo1.i = 50;
-      assertEquals(50, pojo1.i);
-      Interceptions.printInterceptions();
-      assertEquals(2, Interceptions.size());
-      assertEquals(Interceptions.getFieldWriteName("YourInterceptor", "POJO", "i"), Interceptions.get(0));
-      assertEquals(Interceptions.getFieldReadName("YourInterceptor", "POJO", "i"), Interceptions.get(1));
-      
-      Interceptions.clear();
-      pojo2.i = 100;
-      assertEquals(100, pojo2.i);
-      assertEquals(3, Interceptions.size());
-      assertEquals(Interceptions.getFieldWriteName("YourInterceptor", "POJO", "i"), Interceptions.get(0));
-      assertEquals(Interceptions.getFieldReadName("YourInterceptor", "POJO", "i"), Interceptions.get(1));
-      assertEquals(Interceptions.getFieldReadName("MyAspect", "POJO", "i"), Interceptions.get(2));
-
-      AspectManager.instance().removeBinding(nameTopB);
-      Interceptions.clear();
-      pojo1.i = 14;
-      assertEquals(14, pojo1.i);
-      pojo2.i = 100;
-      assertEquals(100, pojo2.i);
-      assertEquals(1, Interceptions.size());
-      assertEquals(Interceptions.getFieldReadName("MyAspect", "POJO", "i"), Interceptions.get(0));
-
-      getInstanceDomain(pojo2).removeBinding(nameB);
-      
-      Interceptions.clear();
-      pojo1.i = 123;
-      assertEquals(123, pojo1.i);
-      pojo2.i = 123;
-      assertEquals(123, pojo2.i);
-      assertEquals(0, Interceptions.size());
+      String nameTopA = null;
+      String nameTopB = null;
+      try
+      {
+         System.out.println("TEST INSTANCE USING DOMAIN FOR FIELD");
+         AdviceBinding bindingTopA = new AdviceBinding("field(* org.jboss.test.aop.dynamicgenadvisor.POJO->i)", null);
+         nameTopA = bindingTopA.getName();
+         bindingTopA.addInterceptor(MyInterceptor.class);
+         AspectManager.instance().addBinding(bindingTopA);
+         
+         POJO pojo1 = new POJO();
+         POJO pojo2 = new POJO();
+         
+         Interceptions.clear();
+         pojo1.i = 10;
+         pojo2.i=20;
+         assertEquals(10, pojo1.i);
+         assertEquals(20, pojo2.i);
+         assertEquals(4, Interceptions.size());
+         assertEquals(Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"), Interceptions.get(0));
+         assertEquals(Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"), Interceptions.get(1));
+         assertEquals(Interceptions.getFieldReadName("MyInterceptor", "POJO", "i"), Interceptions.get(2));
+         assertEquals(Interceptions.getFieldReadName("MyInterceptor", "POJO", "i"), Interceptions.get(3));
+         
+         //Add instance advices
+         AdviceBinding bindingA = new AdviceBinding("set(* org.jboss.test.aop.dynamicgenadvisor.POJO->i)", null);
+         String nameA = bindingA.getName();
+         bindingA.addInterceptor(MyInterceptor.class);
+         getInstanceDomain(pojo1).addBinding(bindingA);
+         
+         AdviceBinding bindingB = new AdviceBinding("get(* org.jboss.test.aop.dynamicgenadvisor.POJO->i)", null);
+         String nameB = bindingB.getName();
+         AspectDefinition myAspect = AspectManager.instance().getAspectDefinition("org.jboss.test.aop.dynamicgenadvisor.MyAspect"); 
+         bindingB.addInterceptorFactory(new AdviceFactory(myAspect, "intercept"));
+         getInstanceDomain(pojo2).addBinding(bindingB);
+         
+         System.out.println("Added instance advices");
+         Interceptions.clear();
+         pojo1.i = 50;
+         assertEquals(50, pojo1.i);
+         assertEquals(3, Interceptions.size());
+         assertEquals(Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"), Interceptions.get(0));
+         assertEquals(Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"), Interceptions.get(1));
+         assertEquals(Interceptions.getFieldReadName("MyInterceptor", "POJO", "i"), Interceptions.get(2));
+         
+         Interceptions.clear();
+         pojo2.i = 100;
+         assertEquals(100, pojo2.i);
+         assertEquals(3, Interceptions.size());
+         assertEquals(Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"), Interceptions.get(0));
+         assertEquals(Interceptions.getFieldReadName("MyInterceptor", "POJO", "i"), Interceptions.get(1));
+         assertEquals(Interceptions.getFieldReadName("MyAspect", "POJO", "i"), Interceptions.get(2));
+        
+         //Add top level advice
+         POJO pojo3 = new POJO();
+         AdviceBinding bindingTopB = new AdviceBinding("field(* org.jboss.test.aop.dynamicgenadvisor.POJO->i)", null);
+         nameTopB = bindingTopB.getName();
+         bindingTopB.addInterceptor(YourInterceptor.class);
+         AspectManager.instance().addBinding(bindingTopB);
+         
+         System.out.println("Added top level advice");
+         
+         Interceptions.clear();
+         pojo1.i = 66;
+         assertEquals(66, pojo1.i);
+         assertEquals(5, Interceptions.size());
+         //Since we are adding at the top-level that will get added to the end of the chain, i.e. the order is no longer guaranteed
+         checkInterceptions(createExpectedList(
+               Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"), 
+               Interceptions.getFieldWriteName("YourInterceptor", "POJO", "i"), 
+               Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"), 
+               Interceptions.getFieldReadName("MyInterceptor", "POJO", "i"),
+               Interceptions.getFieldReadName("YourInterceptor", "POJO", "i")));
+   
+         Interceptions.clear();
+         pojo2.i = 99;
+         assertEquals(99, pojo2.i);
+         assertEquals(5, Interceptions.size());
+         //Since we are adding at the top-level that will get added to the end of the chain, i.e. the order is no longer guaranteed
+         checkInterceptions(createExpectedList(
+               Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"),
+               Interceptions.getFieldWriteName("YourInterceptor", "POJO", "i"), 
+               Interceptions.getFieldReadName("MyInterceptor", "POJO", "i"), 
+               Interceptions.getFieldReadName("YourInterceptor", "POJO", "i"), 
+               Interceptions.getFieldReadName("MyAspect", "POJO", "i")));
+   
+         
+         Interceptions.clear();
+         pojo3.i = 12;
+         assertEquals(12, pojo3.i);
+         assertEquals(4, Interceptions.size());
+         assertEquals(Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"), Interceptions.get(0));
+         assertEquals(Interceptions.getFieldWriteName("YourInterceptor", "POJO", "i"), Interceptions.get(1));
+         assertEquals(Interceptions.getFieldReadName("MyInterceptor", "POJO", "i"), Interceptions.get(2));
+         assertEquals(Interceptions.getFieldReadName("YourInterceptor", "POJO", "i"), Interceptions.get(3));
+   
+         
+         AspectManager.instance().removeBinding(nameTopA);
+         Interceptions.clear();
+         pojo1.i = 50;
+         assertEquals(50, pojo1.i);
+         assertEquals(3, Interceptions.size());
+         assertEquals(Interceptions.getFieldWriteName("YourInterceptor", "POJO", "i"), Interceptions.get(0));
+         assertEquals(Interceptions.getFieldWriteName("MyInterceptor", "POJO", "i"), Interceptions.get(1));
+         assertEquals(Interceptions.getFieldReadName("YourInterceptor", "POJO", "i"), Interceptions.get(2));
+         
+         Interceptions.clear();
+         pojo2.i = 100;
+         assertEquals(100, pojo2.i);
+         assertEquals(3, Interceptions.size());
+         assertEquals(Interceptions.getFieldWriteName("YourInterceptor", "POJO", "i"), Interceptions.get(0));
+         assertEquals(Interceptions.getFieldReadName("YourInterceptor", "POJO", "i"), Interceptions.get(1));
+         assertEquals(Interceptions.getFieldReadName("MyAspect", "POJO", "i"), Interceptions.get(2));
+   
+   
+         System.out.println("================> removing binding");
+         getInstanceDomain(pojo1).removeBinding(nameA);
+   
+         
+         Interceptions.clear();
+         pojo1.i = 50;
+         assertEquals(50, pojo1.i);
+         Interceptions.printInterceptions();
+         assertEquals(2, Interceptions.size());
+         assertEquals(Interceptions.getFieldWriteName("YourInterceptor", "POJO", "i"), Interceptions.get(0));
+         assertEquals(Interceptions.getFieldReadName("YourInterceptor", "POJO", "i"), Interceptions.get(1));
+         
+         Interceptions.clear();
+         pojo2.i = 100;
+         assertEquals(100, pojo2.i);
+         assertEquals(3, Interceptions.size());
+         assertEquals(Interceptions.getFieldWriteName("YourInterceptor", "POJO", "i"), Interceptions.get(0));
+         assertEquals(Interceptions.getFieldReadName("YourInterceptor", "POJO", "i"), Interceptions.get(1));
+         assertEquals(Interceptions.getFieldReadName("MyAspect", "POJO", "i"), Interceptions.get(2));
+   
+         AspectManager.instance().removeBinding(nameTopB);
+         Interceptions.clear();
+         pojo1.i = 14;
+         assertEquals(14, pojo1.i);
+         pojo2.i = 100;
+         assertEquals(100, pojo2.i);
+         assertEquals(1, Interceptions.size());
+         assertEquals(Interceptions.getFieldReadName("MyAspect", "POJO", "i"), Interceptions.get(0));
+   
+         getInstanceDomain(pojo2).removeBinding(nameB);
+         
+         Interceptions.clear();
+         pojo1.i = 123;
+         assertEquals(123, pojo1.i);
+         pojo2.i = 123;
+         assertEquals(123, pojo2.i);
+         assertEquals(0, Interceptions.size());
+      }
+      finally
+      {
+         if (nameTopA != null)
+         {
+            AspectManager.instance().removeBinding(nameTopA);
+         }
+         if (nameTopB != null)
+         {
+            AspectManager.instance().removeBinding(nameTopB);
+         }
+      }
    }
    
    public void testInstanceUsingOldApiForMethod() throws Exception
@@ -794,175 +824,197 @@
    
    public void testAddClassMetadata()throws Exception
    {
-      System.out.println("TEST ADD CLASS METADATA");
-
-      DynamicSimpleClassMetadataLoader loader = new DynamicSimpleClassMetadataLoader(
-            "T1", "TEST", "org.jboss.test.aop.dynamicgenadvisor.POJO");
-      loader.addDefaultMetaData("default", "default");
-      loader.addClassMetaData("class", "class");
-      loader.addMethodMetaData("* someMethod(..)", "fm", "someMethod");
-      loader.addFieldMetaData("i", "fm", "i");
-      AspectManager.instance().addClassMetaData(loader.getClassMetaDataBinding());
-      
-      AdviceBinding binding = new AdviceBinding("all(org.jboss.test.aop.dynamicgenadvisor.POJO)", null);
-      binding.addInterceptor(MetadataInterceptor.class);
-      AspectManager.instance().addBinding(binding);
-      
-      POJO pojo = new POJO();
-      
-      MetadataInterceptor.clear();
-      pojo.someMethod(123);
-      pojo.i = 100;
-      pojo.notPrepared();
-      assertTrue(MetadataInterceptor.intercepted);
-      assertEquals(2, MetadataInterceptor.lastDefaultMetadata.size());
-      assertEquals(2, MetadataInterceptor.lastClassMetadata.size());
-      assertEquals(1, MetadataInterceptor.lastMethodMetadata.size());
-      assertEquals(1, MetadataInterceptor.lastFieldMetadata.size());
-      
-      //Make sure we get the metadata expected
-      assertEquals("default", MetadataInterceptor.lastDefaultMetadata.get(0));
-      assertEquals("default", MetadataInterceptor.lastDefaultMetadata.get(1));
-      
-      assertEquals("class", MetadataInterceptor.lastClassMetadata.get(0));
-      assertEquals("class", MetadataInterceptor.lastClassMetadata.get(1));
-      
-      assertEquals("someMethod", MetadataInterceptor.lastMethodMetadata.get(0));
-      
-      assertEquals("i", MetadataInterceptor.lastFieldMetadata.get(0));
-      
-      AspectManager.instance().removeClassMetaData(loader.getClassMetaDataBinding().getName());
-
-      MetadataInterceptor.clear();
-      pojo.someMethod(123);
-      pojo.i = 100;
-      pojo.notPrepared();
-      assertEquals(0, MetadataInterceptor.lastDefaultMetadata.size());
-      assertEquals(0, MetadataInterceptor.lastClassMetadata.size());
-      assertEquals(0, MetadataInterceptor.lastMethodMetadata.size());
-      assertEquals(0, MetadataInterceptor.lastFieldMetadata.size());
-      
-      //Try adding metadata again now that instance already exists
-      AspectManager.instance().addClassMetaData(loader.getClassMetaDataBinding());
-
-      MetadataInterceptor.clear();
-      pojo.someMethod(123);
-      pojo.i = 100;
-      pojo.notPrepared();
-      assertEquals(2, MetadataInterceptor.lastDefaultMetadata.size());
-      assertEquals(2, MetadataInterceptor.lastClassMetadata.size());
-      assertEquals(1, MetadataInterceptor.lastMethodMetadata.size());
-      assertEquals(1, MetadataInterceptor.lastFieldMetadata.size());
-      
-      //Make sure we get the metadata expected
-      assertEquals("default", MetadataInterceptor.lastDefaultMetadata.get(0));
-      assertEquals("default", MetadataInterceptor.lastDefaultMetadata.get(1));
-      
-      assertEquals("class", MetadataInterceptor.lastClassMetadata.get(0));
-      assertEquals("class", MetadataInterceptor.lastClassMetadata.get(1));
-      
-      assertEquals("someMethod", MetadataInterceptor.lastMethodMetadata.get(0));
-      
-      assertEquals("i", MetadataInterceptor.lastFieldMetadata.get(0));
-      
-      AspectManager.instance().removeClassMetaData(loader.getClassMetaDataBinding().getName());
-
-      MetadataInterceptor.clear();
-      pojo.someMethod(123);
-      pojo.i = 100;
-      pojo.notPrepared();
-      assertEquals(0, MetadataInterceptor.lastDefaultMetadata.size());
-      assertEquals(0, MetadataInterceptor.lastClassMetadata.size());
-      assertEquals(0, MetadataInterceptor.lastMethodMetadata.size());
-      assertEquals(0, MetadataInterceptor.lastFieldMetadata.size());
-      
-      AspectManager.instance().removeBinding(binding.getName());
-      MetadataInterceptor.clear();
-      pojo.someMethod(123);
-      assertFalse(MetadataInterceptor.intercepted);
+      AdviceBinding binding = null;
+      try
+      {
+         System.out.println("TEST ADD CLASS METADATA");
+   
+         DynamicSimpleClassMetadataLoader loader = new DynamicSimpleClassMetadataLoader(
+               "T1", "TEST", "org.jboss.test.aop.dynamicgenadvisor.POJO");
+         loader.addDefaultMetaData("default", "default");
+         loader.addClassMetaData("class", "class");
+         loader.addMethodMetaData("* someMethod(..)", "fm", "someMethod");
+         loader.addFieldMetaData("i", "fm", "i");
+         AspectManager.instance().addClassMetaData(loader.getClassMetaDataBinding());
+         
+         binding = new AdviceBinding("all(org.jboss.test.aop.dynamicgenadvisor.POJO)", null);
+         binding.addInterceptor(MetadataInterceptor.class);
+         AspectManager.instance().addBinding(binding);
+         
+         POJO pojo = new POJO();
+         
+         MetadataInterceptor.clear();
+         pojo.someMethod(123);
+         pojo.i = 100;
+         pojo.notPrepared();
+         assertTrue(MetadataInterceptor.intercepted);
+         assertEquals(2, MetadataInterceptor.lastDefaultMetadata.size());
+         assertEquals(2, MetadataInterceptor.lastClassMetadata.size());
+         assertEquals(1, MetadataInterceptor.lastMethodMetadata.size());
+         assertEquals(1, MetadataInterceptor.lastFieldMetadata.size());
+         
+         //Make sure we get the metadata expected
+         assertEquals("default", MetadataInterceptor.lastDefaultMetadata.get(0));
+         assertEquals("default", MetadataInterceptor.lastDefaultMetadata.get(1));
+         
+         assertEquals("class", MetadataInterceptor.lastClassMetadata.get(0));
+         assertEquals("class", MetadataInterceptor.lastClassMetadata.get(1));
+         
+         assertEquals("someMethod", MetadataInterceptor.lastMethodMetadata.get(0));
+         
+         assertEquals("i", MetadataInterceptor.lastFieldMetadata.get(0));
+         
+         AspectManager.instance().removeClassMetaData(loader.getClassMetaDataBinding().getName());
+   
+         MetadataInterceptor.clear();
+         pojo.someMethod(123);
+         pojo.i = 100;
+         pojo.notPrepared();
+         assertEquals(0, MetadataInterceptor.lastDefaultMetadata.size());
+         assertEquals(0, MetadataInterceptor.lastClassMetadata.size());
+         assertEquals(0, MetadataInterceptor.lastMethodMetadata.size());
+         assertEquals(0, MetadataInterceptor.lastFieldMetadata.size());
+         
+         //Try adding metadata again now that instance already exists
+         AspectManager.instance().addClassMetaData(loader.getClassMetaDataBinding());
+   
+         MetadataInterceptor.clear();
+         pojo.someMethod(123);
+         pojo.i = 100;
+         pojo.notPrepared();
+         assertEquals(2, MetadataInterceptor.lastDefaultMetadata.size());
+         assertEquals(2, MetadataInterceptor.lastClassMetadata.size());
+         assertEquals(1, MetadataInterceptor.lastMethodMetadata.size());
+         assertEquals(1, MetadataInterceptor.lastFieldMetadata.size());
+         
+         //Make sure we get the metadata expected
+         assertEquals("default", MetadataInterceptor.lastDefaultMetadata.get(0));
+         assertEquals("default", MetadataInterceptor.lastDefaultMetadata.get(1));
+         
+         assertEquals("class", MetadataInterceptor.lastClassMetadata.get(0));
+         assertEquals("class", MetadataInterceptor.lastClassMetadata.get(1));
+         
+         assertEquals("someMethod", MetadataInterceptor.lastMethodMetadata.get(0));
+         
+         assertEquals("i", MetadataInterceptor.lastFieldMetadata.get(0));
+         
+         AspectManager.instance().removeClassMetaData(loader.getClassMetaDataBinding().getName());
+   
+         MetadataInterceptor.clear();
+         pojo.someMethod(123);
+         pojo.i = 100;
+         pojo.notPrepared();
+         assertEquals(0, MetadataInterceptor.lastDefaultMetadata.size());
+         assertEquals(0, MetadataInterceptor.lastClassMetadata.size());
+         assertEquals(0, MetadataInterceptor.lastMethodMetadata.size());
+         assertEquals(0, MetadataInterceptor.lastFieldMetadata.size());
+         
+         AspectManager.instance().removeBinding(binding.getName());
+         MetadataInterceptor.clear();
+         pojo.someMethod(123);
+         assertFalse(MetadataInterceptor.intercepted);
+      }
+      finally
+      {
+         if (binding != null)
+         {
+            AspectManager.instance().removeBinding(binding.getName());
+         }
+      }
    }
 
    public void testBindingsUpdatedWhenAddMetadata() throws Exception
    {
-      System.out.println("TEST BINDINGS UPDATED WHEN ADD METADATA");
-      
-      AdviceBinding binding = new AdviceBinding("all(@TEST)", null);
-      binding.addInterceptor(MetadataInterceptor.class);
-      AspectManager.instance().addBinding(binding);
-      
-      MetadataInterceptor.clear();
-      POJO pojox = new POJO();
-      pojox.someMethod(123);
-      assertFalse(MetadataInterceptor.intercepted);
-      
-      //Add metadata so binding takes effect
-      DynamicSimpleClassMetadataLoader loader = new DynamicSimpleClassMetadataLoader(
-            "DA", "TEST", "org.jboss.test.aop.dynamicgenadvisor.POJO");
-            loader.addDefaultMetaData("default", "default");
-            loader.addClassMetaData("class", "class");
-            loader.addMethodMetaData("* someMethod(..)", "fm", "someMethod");
-            loader.addFieldMetaData("i", "fm", "i");
-            AspectManager.instance().addClassMetaData(loader.getClassMetaDataBinding());
-            
-      MetadataInterceptor.clear();
-      POJO pojo = new POJO();
-      pojo.someMethod(123);
-      int i = pojo.i;
-      assertTrue(MetadataInterceptor.intercepted);
-      assertEquals(3, MetadataInterceptor.lastDefaultMetadata.size());
-      assertEquals(3, MetadataInterceptor.lastClassMetadata.size());
-      assertEquals(1, MetadataInterceptor.lastMethodMetadata.size());
-      assertEquals(1, MetadataInterceptor.lastFieldMetadata.size());
-      
-      assertEquals("default", MetadataInterceptor.lastDefaultMetadata.get(0));
-      assertEquals("default", MetadataInterceptor.lastDefaultMetadata.get(1));
-      assertEquals("default", MetadataInterceptor.lastDefaultMetadata.get(2));
-      
-      assertEquals("class", MetadataInterceptor.lastClassMetadata.get(0));
-      assertEquals("class", MetadataInterceptor.lastClassMetadata.get(1));
-      assertEquals("class", MetadataInterceptor.lastClassMetadata.get(2));
-      
-      assertEquals("someMethod", MetadataInterceptor.lastMethodMetadata.get(0));
-      
-      assertEquals("i", MetadataInterceptor.lastFieldMetadata.get(0));
-      
-      MetadataInterceptor.clear();
-      pojox.someMethod(123);
-      assertTrue(MetadataInterceptor.intercepted);
-      
-      AspectManager.instance().removeClassMetaData("DA");
-      MetadataInterceptor.clear();
-      pojo.someMethod(123);
-      pojo.i = 100;
-      assertFalse(MetadataInterceptor.intercepted);
-      
-      //Add metadata to instance domain so binding takes effect
-      getInstanceDomain(pojo).addClassMetaData(loader.getClassMetaDataBinding());
-      MetadataInterceptor.clear();
-      pojo.someMethod(123);
-      i = pojo.i;
-      assertTrue(MetadataInterceptor.intercepted);
-      assertEquals(2, MetadataInterceptor.lastDefaultMetadata.size());
-      assertEquals(2, MetadataInterceptor.lastClassMetadata.size());
-      assertEquals(1, MetadataInterceptor.lastMethodMetadata.size());
-      assertEquals(1, MetadataInterceptor.lastFieldMetadata.size());
-      
-      assertEquals("default", MetadataInterceptor.lastDefaultMetadata.get(0));
-      assertEquals("default", MetadataInterceptor.lastDefaultMetadata.get(1));
-      
-      assertEquals("class", MetadataInterceptor.lastClassMetadata.get(0));
-      assertEquals("class", MetadataInterceptor.lastClassMetadata.get(1));
-      
-      assertEquals("someMethod", MetadataInterceptor.lastMethodMetadata.get(0));
-      
-      assertEquals("i", MetadataInterceptor.lastFieldMetadata.get(0));
-      
-      //Clean up
-      getInstanceDomain(pojo).removeClassMetaData(loader.getClassMetaDataBinding().getName());
-      AspectManager.instance().removeBinding(binding.getName());
-      MetadataInterceptor.clear();
-      pojo.someMethod(123);
-      assertFalse(MetadataInterceptor.intercepted);
+      AdviceBinding binding = null;
+      try
+      {
+         System.out.println("TEST BINDINGS UPDATED WHEN ADD METADATA");
+         
+         binding = new AdviceBinding("all(@TEST)", null);
+         binding.addInterceptor(MetadataInterceptor.class);
+         AspectManager.instance().addBinding(binding);
+         
+         MetadataInterceptor.clear();
+         POJO pojox = new POJO();
+         pojox.someMethod(123);
+         assertFalse(MetadataInterceptor.intercepted);
+         
+         //Add metadata so binding takes effect
+         DynamicSimpleClassMetadataLoader loader = new DynamicSimpleClassMetadataLoader(
+               "DA", "TEST", "org.jboss.test.aop.dynamicgenadvisor.POJO");
+               loader.addDefaultMetaData("default", "default");
+               loader.addClassMetaData("class", "class");
+               loader.addMethodMetaData("* someMethod(..)", "fm", "someMethod");
+               loader.addFieldMetaData("i", "fm", "i");
+               AspectManager.instance().addClassMetaData(loader.getClassMetaDataBinding());
+               
+         MetadataInterceptor.clear();
+         POJO pojo = new POJO();
+         pojo.someMethod(123);
+         int i = pojo.i;
+         assertTrue(MetadataInterceptor.intercepted);
+         assertEquals(3, MetadataInterceptor.lastDefaultMetadata.size());
+         assertEquals(3, MetadataInterceptor.lastClassMetadata.size());
+         assertEquals(1, MetadataInterceptor.lastMethodMetadata.size());
+         assertEquals(1, MetadataInterceptor.lastFieldMetadata.size());
+         
+         assertEquals("default", MetadataInterceptor.lastDefaultMetadata.get(0));
+         assertEquals("default", MetadataInterceptor.lastDefaultMetadata.get(1));
+         assertEquals("default", MetadataInterceptor.lastDefaultMetadata.get(2));
+         
+         assertEquals("class", MetadataInterceptor.lastClassMetadata.get(0));
+         assertEquals("class", MetadataInterceptor.lastClassMetadata.get(1));
+         assertEquals("class", MetadataInterceptor.lastClassMetadata.get(2));
+         
+         assertEquals("someMethod", MetadataInterceptor.lastMethodMetadata.get(0));
+         
+         assertEquals("i", MetadataInterceptor.lastFieldMetadata.get(0));
+         
+         MetadataInterceptor.clear();
+         pojox.someMethod(123);
+         assertTrue(MetadataInterceptor.intercepted);
+         
+         AspectManager.instance().removeClassMetaData("DA");
+         MetadataInterceptor.clear();
+         pojo.someMethod(123);
+         pojo.i = 100;
+         assertFalse(MetadataInterceptor.intercepted);
+         
+         //Add metadata to instance domain so binding takes effect
+         getInstanceDomain(pojo).addClassMetaData(loader.getClassMetaDataBinding());
+         MetadataInterceptor.clear();
+         pojo.someMethod(123);
+         i = pojo.i;
+         assertTrue(MetadataInterceptor.intercepted);
+         assertEquals(2, MetadataInterceptor.lastDefaultMetadata.size());
+         assertEquals(2, MetadataInterceptor.lastClassMetadata.size());
+         assertEquals(1, MetadataInterceptor.lastMethodMetadata.size());
+         assertEquals(1, MetadataInterceptor.lastFieldMetadata.size());
+         
+         assertEquals("default", MetadataInterceptor.lastDefaultMetadata.get(0));
+         assertEquals("default", MetadataInterceptor.lastDefaultMetadata.get(1));
+         
+         assertEquals("class", MetadataInterceptor.lastClassMetadata.get(0));
+         assertEquals("class", MetadataInterceptor.lastClassMetadata.get(1));
+         
+         assertEquals("someMethod", MetadataInterceptor.lastMethodMetadata.get(0));
+         
+         assertEquals("i", MetadataInterceptor.lastFieldMetadata.get(0));
+         
+         //Clean up
+         getInstanceDomain(pojo).removeClassMetaData(loader.getClassMetaDataBinding().getName());
+         AspectManager.instance().removeBinding(binding.getName());
+         MetadataInterceptor.clear();
+         pojo.someMethod(123);
+         assertFalse(MetadataInterceptor.intercepted);
+      }
+      finally
+      {
+         if (binding != null)
+         {
+            AspectManager.instance().removeBinding(binding.getName());
+         }
+      }
    }
    
    public void testAddInstanceMetadata() throws Exception




More information about the jboss-cvs-commits mailing list