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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Nov 13 05:50:06 EST 2007


Author: adrian at jboss.org
Date: 2007-11-13 05:50:06 -0500 (Tue, 13 Nov 2007)
New Revision: 67011

Modified:
   trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java
Log:
[EJBTHREE-1106] - Fix NPE when annotation has no properties

Modified: trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java	2007-11-13 10:47:35 UTC (rev 67010)
+++ trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java	2007-11-13 10:50:06 UTC (rev 67011)
@@ -195,6 +195,7 @@
 import org.jboss.metadata.ejb.spec.TransAttributeType;
 import org.jboss.metadata.ejb.spec.TransactionType;
 import org.jboss.metadata.javaee.jboss.AnnotationMetaData;
+import org.jboss.metadata.javaee.jboss.AnnotationPropertiesMetaData;
 import org.jboss.metadata.javaee.jboss.AnnotationPropertyMetaData;
 import org.jboss.metadata.javaee.jboss.AnnotationsMetaData;
 import org.jboss.metadata.javaee.spec.LifecycleCallbackMetaData;
@@ -1309,12 +1310,14 @@
          Class<? extends Annotation> annotationImplementationClass = (Class<? extends Annotation>) di.getClassLoader().loadClass(xmlAnnotation.getAnnotationImplementationClass());
          Annotation annotation = annotationImplementationClass.newInstance();
          
-         Iterator<AnnotationPropertyMetaData> properties = xmlAnnotation.getProperties().iterator();
-         while (properties.hasNext())
+         AnnotationPropertiesMetaData properties = xmlAnnotation.getProperties();
+         if (properties != null)
          {
-            AnnotationPropertyMetaData property = properties.next();
-            Field field = annotationImplementationClass.getDeclaredField(property.getName());
-            setAnnotationPropertyField(field, annotation, property.getPropertyValue());
+            for (AnnotationPropertyMetaData property : properties)
+            {
+               Field field = annotationImplementationClass.getDeclaredField(property.getName());
+               setAnnotationPropertyField(field, annotation, property.getPropertyValue());
+            }
          }
             
          if (xmlAnnotation.getInjectionTarget() == null)




More information about the jboss-cvs-commits mailing list