[jboss-cvs] JBossAS SVN: r67041 - trunk/ejb3/src/main/org/jboss/ejb3.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Nov 13 15:42:27 EST 2007


Author: adrian at jboss.org
Date: 2007-11-13 15:42:27 -0500 (Tue, 13 Nov 2007)
New Revision: 67041

Modified:
   trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java
Log:
[EJBTHREE-1067] - Fix NPE when interceptor binding or classes is null

Modified: trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java	2007-11-13 20:29:41 UTC (rev 67040)
+++ trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java	2007-11-13 20:42:27 UTC (rev 67041)
@@ -181,6 +181,7 @@
 import org.jboss.metadata.ejb.spec.InitMethodsMetaData;
 import org.jboss.metadata.ejb.spec.InterceptorBindingMetaData;
 import org.jboss.metadata.ejb.spec.InterceptorBindingsMetaData;
+import org.jboss.metadata.ejb.spec.InterceptorClassesMetaData;
 import org.jboss.metadata.ejb.spec.MessageDrivenBeanMetaData;
 import org.jboss.metadata.ejb.spec.MethodMetaData;
 import org.jboss.metadata.ejb.spec.MethodParametersMetaData;
@@ -1185,10 +1186,17 @@
             Interceptors interceptors = (Interceptors) container
                   .resolveAnnotation(method, Interceptors.class);
             InterceptorsImpl impl = InterceptorsImpl.getImpl(interceptors);
-            for (String name : binding.getInterceptorClasses())
+            if (binding != null)
             {
-               Class<?> clazz = di.getClassLoader().loadClass(name);
-               impl.addValue(clazz);
+               InterceptorClassesMetaData interceptorClasses = binding.getInterceptorClasses();
+               if (interceptorClasses != null)
+               {
+                  for (String name : interceptorClasses)
+                  {
+                     Class<?> clazz = di.getClassLoader().loadClass(name);
+                     impl.addValue(clazz);
+                  }
+               }
             }
             log.debug("adding " + Interceptors.class.getName()
                   + " method annotation to " + ejbClass.getName() + "."
@@ -1196,7 +1204,9 @@
             container.getAnnotations().addAnnotation(method,
                   Interceptors.class, impl);
 
-            boolean excludeDefault = binding.isExcludeDefaultInterceptors();
+            boolean excludeDefault = false;
+            if (binding != null) 
+               excludeDefault = binding.isExcludeDefaultInterceptors();
             if (excludeDefault
                   && container.resolveAnnotation(method,
                         ExcludeDefaultInterceptors.class) == null)
@@ -1209,7 +1219,9 @@
                      new ExcludeDefaultInterceptorsImpl());
             }
 
-            boolean excludeClass = binding.isExcludeClassInterceptors();
+            boolean excludeClass = false;
+            if (binding != null)
+               binding.isExcludeClassInterceptors();
             if (excludeClass
                   && container.resolveAnnotation(method,
                         ExcludeClassInterceptors.class) == null)




More information about the jboss-cvs-commits mailing list