You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2007/03/13 13:45:36 UTC
svn commit: r517670 -
/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
Author: dblevins
Date: Tue Mar 13 05:45:35 2007
New Revision: 517670
URL: http://svn.apache.org/viewvc?view=rev&rev=517670
Log:
OPENEJB-249: javax.interceptor.ExcludeClassInterceptors
OPENEJB-250: javax.interceptor.ExcludeDefaultInterceptors
Modified:
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?view=diff&rev=517670&r1=517669&r2=517670
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java Tue Mar 13 05:45:35 2007
@@ -51,6 +51,8 @@
import javax.persistence.PersistenceUnit;
import javax.persistence.PersistenceUnits;
import javax.interceptor.Interceptors;
+import javax.interceptor.ExcludeDefaultInterceptors;
+import javax.interceptor.ExcludeClassInterceptors;
import javax.xml.ws.WebServiceRef;
import javax.xml.ws.WebServiceRefs;
import java.io.File;
@@ -309,14 +311,59 @@
}
}
- InterceptorBinding binding = new InterceptorBinding();
+ InterceptorBinding binding = assemblyDescriptor.addInterceptorBinding(new InterceptorBinding());
binding.setEjbName(bean.getEjbName());
- InterceptorOrder order = binding.setInterceptorOrder(new InterceptorOrder());
+
for (Class interceptor : interceptors.value()) {
- order.addInterceptorClass(interceptor.getName());
+ binding.getInterceptorClass().add(interceptor.getName());
}
}
+ for (Method method : classFinder.findAnnotatedMethods(Interceptors.class)) {
+ interceptors = method.getAnnotation(Interceptors.class);
+ if (interceptors != null){
+ EjbJar ejbJar = ejbModule.getEjbJar();
+ for (Class interceptor : interceptors.value()) {
+ if (ejbJar.getInterceptor(interceptor.getName()) == null){
+ ejbJar.addInterceptor(new Interceptor(interceptor.getName()));
+ }
+ }
+
+ InterceptorBinding binding = assemblyDescriptor.addInterceptorBinding(new InterceptorBinding());
+ binding.setEjbName(bean.getEjbName());
+
+ for (Class interceptor : interceptors.value()) {
+ binding.getInterceptorClass().add(interceptor.getName());
+ }
+
+ binding.setMethod(new NamedMethod(method));
+ }
+ }
+
+ ExcludeDefaultInterceptors excludeDefaultInterceptors = clazz.getAnnotation(ExcludeDefaultInterceptors.class);
+ if (excludeDefaultInterceptors != null){
+ InterceptorBinding binding = assemblyDescriptor.addInterceptorBinding(new InterceptorBinding(bean));
+ binding.setExcludeDefaultInterceptors(true);
+ }
+
+ for (Method method : classFinder.findAnnotatedMethods(ExcludeDefaultInterceptors.class)) {
+ InterceptorBinding binding = assemblyDescriptor.addInterceptorBinding(new InterceptorBinding(bean));
+ binding.setExcludeDefaultInterceptors(true);
+ binding.setMethod(new NamedMethod(method));
+ }
+
+ ExcludeClassInterceptors excludeClassInterceptors = clazz.getAnnotation(ExcludeClassInterceptors.class);
+ if (excludeClassInterceptors != null){
+ InterceptorBinding binding = assemblyDescriptor.addInterceptorBinding(new InterceptorBinding(bean));
+ binding.setExcludeClassInterceptors(true);
+ }
+
+ for (Method method : classFinder.findAnnotatedMethods(ExcludeClassInterceptors.class)) {
+ InterceptorBinding binding = assemblyDescriptor.addInterceptorBinding(new InterceptorBinding(bean));
+ binding.setExcludeClassInterceptors(true);
+ binding.setMethod(new NamedMethod(method));
+ }
+
if (bean instanceof RemoteBean) {
RemoteBean remoteBean = (RemoteBean) bean;