[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