[jboss-cvs] JBossAS SVN: r68649 - projects/ejb3/trunk/interceptors/src/main/java/org/jboss/ejb3/interceptors/proxy/aop.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Jan 7 04:43:42 EST 2008
Author: wolfc
Date: 2008-01-07 04:43:42 -0500 (Mon, 07 Jan 2008)
New Revision: 68649
Modified:
projects/ejb3/trunk/interceptors/src/main/java/org/jboss/ejb3/interceptors/proxy/aop/ManagedObjectContainer.java
Log:
Process annotation introductions
Modified: projects/ejb3/trunk/interceptors/src/main/java/org/jboss/ejb3/interceptors/proxy/aop/ManagedObjectContainer.java
===================================================================
--- projects/ejb3/trunk/interceptors/src/main/java/org/jboss/ejb3/interceptors/proxy/aop/ManagedObjectContainer.java 2008-01-07 08:55:29 UTC (rev 68648)
+++ projects/ejb3/trunk/interceptors/src/main/java/org/jboss/ejb3/interceptors/proxy/aop/ManagedObjectContainer.java 2008-01-07 09:43:42 UTC (rev 68649)
@@ -21,6 +21,8 @@
*/
package org.jboss.ejb3.interceptors.proxy.aop;
+import java.util.List;
+
import org.jboss.aop.AspectManager;
import org.jboss.aop.ClassAdvisor;
import org.jboss.aop.Domain;
@@ -28,6 +30,7 @@
import org.jboss.aop.InstanceAdvisorDelegate;
import org.jboss.aop.advice.AspectDefinition;
import org.jboss.aop.advice.Interceptor;
+import org.jboss.aop.introduction.AnnotationIntroduction;
import org.jboss.aop.joinpoint.Joinpoint;
import org.jboss.aop.metadata.SimpleMetaData;
import org.jboss.logging.Logger;
@@ -54,6 +57,35 @@
this.instanceAdvisorDelegate = new InstanceAdvisorDelegate(this, this);
}
+ private void deployAnnotationIntroduction(AnnotationIntroduction introduction)
+ {
+ // Poke introductions into the overrides
+ deployAnnotationOverride(introduction);
+ }
+
+ @SuppressWarnings("unchecked")
+ private void deployAnnotationIntroductions()
+ {
+ List<AnnotationIntroduction> annotationIntroductions = getManager().getAnnotationIntroductions();
+ if (annotationIntroductions != null)
+ {
+ for(AnnotationIntroduction ai : annotationIntroductions)
+ {
+ deployAnnotationIntroduction(ai);
+ }
+ }
+ }
+
+ @Override
+ protected void rebindClassMetaData()
+ {
+ super.rebindClassMetaData();
+
+ // Why does AOP not process the annotation introductions!?
+ deployAnnotationIntroductions();
+ }
+
+
public void appendInterceptor(Interceptor interceptor)
{
throw new RuntimeException("NYI");
More information about the jboss-cvs-commits
mailing list