[jboss-cvs] JBossAS SVN: r75561 - projects/aop/trunk/aop/src/main/org/jboss/aop.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jul 9 13:46:00 EDT 2008


Author: kabir.khan at jboss.com
Date: 2008-07-09 13:46:00 -0400 (Wed, 09 Jul 2008)
New Revision: 75561

Modified:
   projects/aop/trunk/aop/src/main/org/jboss/aop/AspectAnnotationLoader.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/AspectAnnotationLoaderStrategy.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/AspectAnnotationLoaderStrategySupport.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManagerAnnotationLoaderStrategy.java
Log:
[JBAOP-607] add undeployDeclare to strategy

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/AspectAnnotationLoader.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/AspectAnnotationLoader.java	2008-07-09 17:36:52 UTC (rev 75560)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/AspectAnnotationLoader.java	2008-07-09 17:46:00 UTC (rev 75561)
@@ -180,6 +180,7 @@
          undeployCFlowStackDefs(cf);
          undeployPrepares(cf);
          undeployAnnotationIntroductions(cf);
+         undeployDeclares(cf);
       }
    }
 
@@ -941,6 +942,24 @@
       }
    }
 
+   private void undeployDeclares(ClassFile cf) throws Exception
+   {
+      Iterator<FieldInfo> fields = cf.getFields().iterator();
+      while (fields.hasNext())
+      {
+         FieldInfo finfo = fields.next();
+         AnnotationsAttribute mgroup = (AnnotationsAttribute) finfo.getAttribute(AnnotationsAttribute.visibleTag);
+         if (mgroup == null) continue;
+         javassist.bytecode.annotation.Annotation dwinfo = mgroup.getAnnotation(DeclareWarning.class.getName());
+         javassist.bytecode.annotation.Annotation deinfo = mgroup.getAnnotation(DeclareError.class.getName());
+         
+         if (dwinfo == null && deinfo == null) continue;
+         String name = getDeclareName(cf, finfo);
+
+         loaderStrategy.undeployDeclare(this, name);
+      }
+   }
+
    private String getDeclareName(ClassFile cf, FieldInfo finfo)
    {
       return cf.getName() + "." + finfo.getName();

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/AspectAnnotationLoaderStrategy.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/AspectAnnotationLoaderStrategy.java	2008-07-09 17:36:52 UTC (rev 75560)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/AspectAnnotationLoaderStrategy.java	2008-07-09 17:46:00 UTC (rev 75561)
@@ -78,6 +78,8 @@
 
    void deployDeclare(AspectAnnotationLoader loader, String name, String expr, boolean warning, String msg) throws Exception;
    
+   void undeployDeclare(AspectAnnotationLoader loader, String name) throws Exception;
+   
    void deployAnnotationIntroduction(AspectAnnotationLoader loader, String expr, String annotation, boolean invisible) throws Exception;
 
    void undeployAnnotationIntroduction(AspectAnnotationLoader loader, String expr, String annotation, boolean invisible);

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/AspectAnnotationLoaderStrategySupport.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/AspectAnnotationLoaderStrategySupport.java	2008-07-09 17:36:52 UTC (rev 75560)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/AspectAnnotationLoaderStrategySupport.java	2008-07-09 17:46:00 UTC (rev 75561)
@@ -59,6 +59,11 @@
    {
    }
 
+   public void undeployDeclare(AspectAnnotationLoader loader, String name)
+   throws Exception
+   {
+   }
+
    public void deployDynamicCFlow(AspectAnnotationLoader loader, String name, String clazz)
    {
    }

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManagerAnnotationLoaderStrategy.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManagerAnnotationLoaderStrategy.java	2008-07-09 17:36:52 UTC (rev 75560)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManagerAnnotationLoaderStrategy.java	2008-07-09 17:46:00 UTC (rev 75561)
@@ -195,6 +195,11 @@
       loader.getAspectManager().addDeclare(def);
    }
    
+   public void undeployDeclare(AspectAnnotationLoader loader, String name) throws Exception
+   {
+      loader.getAspectManager().removeDeclare(name);
+   }
+
    public void deployAnnotationIntroduction(AspectAnnotationLoader loader, String expr, String annotation, boolean invisible)
    {
       AnnotationIntroduction annIntro = AnnotationIntroduction.createComplexAnnotationIntroduction(expr, annotation, invisible);




More information about the jboss-cvs-commits mailing list