[jboss-cvs] JBossAS SVN: r66680 - trunk/ejb3/src/main/org/jboss/ejb3.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Nov 2 10:30:30 EDT 2007
Author: wolfc
Date: 2007-11-02 10:30:30 -0400 (Fri, 02 Nov 2007)
New Revision: 66680
Modified:
trunk/ejb3/src/main/org/jboss/ejb3/EJBContainer.java
trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java
Log:
EJBTHREE-1067: fix NPEs
Modified: trunk/ejb3/src/main/org/jboss/ejb3/EJBContainer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/EJBContainer.java 2007-11-02 14:29:49 UTC (rev 66679)
+++ trunk/ejb3/src/main/org/jboss/ejb3/EJBContainer.java 2007-11-02 14:30:30 UTC (rev 66680)
@@ -466,7 +466,7 @@
// When @WebServiceRef is not used service-ref won't be processed
// In this case we process them late
- if(xml!=null)
+ if(xml != null && xml.getServiceReferences() != null)
{
for(ServiceReferenceMetaData sref : xml.getServiceReferences())
{
Modified: trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java 2007-11-02 14:29:49 UTC (rev 66679)
+++ trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java 2007-11-02 14:30:30 UTC (rev 66680)
@@ -30,6 +30,7 @@
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.StringTokenizer;
import javassist.bytecode.ClassFile;
@@ -193,6 +194,7 @@
import org.jboss.metadata.ejb.spec.TransactionType;
import org.jboss.metadata.javaee.jboss.AnnotationMetaData;
import org.jboss.metadata.javaee.jboss.AnnotationPropertyMetaData;
+import org.jboss.metadata.javaee.jboss.AnnotationsMetaData;
import org.jboss.metadata.javaee.spec.LifecycleCallbackMetaData;
import org.jboss.metadata.javaee.spec.LifecycleCallbacksMetaData;
import org.jboss.metadata.javaee.spec.MessageDestinationMetaData;
@@ -253,7 +255,7 @@
for(JBossEnterpriseBeanMetaData bean : enterpriseBeans)
{
- if(bean.getEjbClass().equals(className))
+ if(bean.getEjbClass() != null && bean.getEjbClass().equals(className))
result.add(bean);
}
@@ -925,7 +927,7 @@
{
SecurityRolesMetaData securityRoles = assembly.getSecurityRoles();
- if (securityRoles.size() > 0)
+ if (securityRoles != null && securityRoles.size() > 0)
{
List<String> roleList = new ArrayList<String>();
for (SecurityRoleMetaData securityRole : securityRoles)
@@ -939,25 +941,28 @@
}
MethodPermissionsMetaData methodPermissions = assembly.getMethodPermissions();
- for (MethodPermissionMetaData permission : methodPermissions)
+ if(methodPermissions != null)
{
- for (MethodMetaData method : permission.getMethods())
+ for (MethodPermissionMetaData permission : methodPermissions)
{
- if (method.getEjbName().equals(ejbName))
+ for (MethodMetaData method : permission.getMethods())
{
- if (permission.isNotChecked())
+ if (method.getEjbName().equals(ejbName))
{
- PermitAllImpl annotation = new PermitAllImpl();
- addAnnotations(PermitAll.class, annotation, container, method);
- } else
- {
- RolesAllowedImpl annotation = new RolesAllowedImpl();
-
- for (String roleName : permission.getRoles())
+ if (permission.isNotChecked())
{
- annotation.addValue(roleName);
+ PermitAllImpl annotation = new PermitAllImpl();
+ addAnnotations(PermitAll.class, annotation, container, method);
+ } else
+ {
+ RolesAllowedImpl annotation = new RolesAllowedImpl();
+
+ for (String roleName : permission.getRoles())
+ {
+ annotation.addValue(roleName);
+ }
+ addAnnotations(RolesAllowed.class, annotation, container, method);
}
- addAnnotations(RolesAllowed.class, annotation, container, method);
}
}
}
@@ -1031,7 +1036,7 @@
}
JBossAssemblyDescriptorMetaData descriptor = dd.getAssemblyDescriptor();
- if (descriptor != null)
+ if (descriptor != null && descriptor.getContainerTransactions() != null)
{
for(ContainerTransactionMetaData transaction : descriptor.getContainerTransactions())
{
@@ -1060,28 +1065,31 @@
boolean definesInterceptors = false;
InterceptorBindingsMetaData interceptorBindings = dd.getAssemblyDescriptor().getInterceptorBindings();
- for (InterceptorBindingMetaData binding : interceptorBindings)
+ if(interceptorBindings != null)
{
- // Wolf: why ignore ordered binding?
- /*
- if (binding.isOrdered())
+ for (InterceptorBindingMetaData binding : interceptorBindings)
{
- continue;
- }
- */
- if (binding.getEjbName().equals(ejbName))
- {
- if(binding.getMethod() == null)
+ // Wolf: why ignore ordered binding?
+ /*
+ if (binding.isOrdered())
{
- addClassLevelInterceptorBindingAnnotations(container, binding);
- definesInterceptors = true;
- }
- else
+ continue;
+ }
+ */
+ if (binding.getEjbName().equals(ejbName))
{
- definesInterceptors = addMethodLevelInterceptorBindingAnnotations(
- container, binding);
+ if(binding.getMethod() == null)
+ {
+ addClassLevelInterceptorBindingAnnotations(container, binding);
+ definesInterceptors = true;
+ }
+ else
+ {
+ definesInterceptors = addMethodLevelInterceptorBindingAnnotations(
+ container, binding);
+ }
+
}
-
}
}
@@ -1289,7 +1297,11 @@
private void addXmlAnnotations(EJBContainer container,
JBossEnterpriseBeanMetaData enterpriseBean) throws Exception
{
- for(AnnotationMetaData xmlAnnotation: enterpriseBean.getAnnotations())
+ AnnotationsMetaData annotations = enterpriseBean.getAnnotations();
+ if(annotations == null)
+ return;
+
+ for(AnnotationMetaData xmlAnnotation: annotations)
{
Class<? extends Annotation> annotationClass = (Class<? extends Annotation>) di.getClassLoader().loadClass(xmlAnnotation.getAnnotationClass());
Class<? extends Annotation> annotationImplementationClass = (Class<? extends Annotation>) di.getClassLoader().loadClass(xmlAnnotation.getAnnotationImplementationClass());
@@ -1439,7 +1451,8 @@
private void addDependencies(EJBContainer container,
JBossEnterpriseBeanMetaData enterpriseBean) throws Exception
{
- if (enterpriseBean.getDepends().size() > 0)
+ Set<String> depends = enterpriseBean.getDepends();
+ if (depends != null && depends.size() > 0)
{
DependsImpl annotation = new DependsImpl();
Iterator<String> dependencies = enterpriseBean.getDepends()
@@ -1590,7 +1603,7 @@
}
List<RemoteBindingMetaData> bindingsList = enterpriseBean.getRemoteBindings();
- if (bindingsList.size() == 0)
+ if (bindingsList == null || bindingsList.size() == 0)
{
addSimpleJndiAnnotations(container, enterpriseBean);
return;
@@ -1651,6 +1664,9 @@
private void handleResourceRefs(EJBContainer container, ResourceReferencesMetaData resourceRefList)
{
+ if(resourceRefList == null)
+ return;
+
for(ResourceReferenceMetaData ref : resourceRefList)
{
if (ref.getResourceName() != null)
@@ -1667,8 +1683,10 @@
}
private void addMessageDestinationAnnotations(EJBContainer container, MessageDestinationReferencesMetaData refs)
-
{
+ if(refs == null)
+ return;
+
for(MessageDestinationReferenceMetaData ref : refs)
{
if (ref.getMappedName() == null || ref.getMappedName().equals(""))
More information about the jboss-cvs-commits
mailing list