[jboss-cvs] JBossAS SVN: r66120 - in trunk/server/src/main/org/jboss: ejb and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Oct 15 01:45:33 EDT 2007


Author: scott.stark at jboss.org
Date: 2007-10-15 01:45:33 -0400 (Mon, 15 Oct 2007)
New Revision: 66120

Modified:
   trunk/server/src/main/org/jboss/deployment/security/JaccPolicyUtil.java
   trunk/server/src/main/org/jboss/ejb/EJBPermissionMapping.java
   trunk/server/src/main/org/jboss/ejb/EjbModule.java
   trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java
Log:
Handle null values

Modified: trunk/server/src/main/org/jboss/deployment/security/JaccPolicyUtil.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/security/JaccPolicyUtil.java	2007-10-15 05:15:01 UTC (rev 66119)
+++ trunk/server/src/main/org/jboss/deployment/security/JaccPolicyUtil.java	2007-10-15 05:45:33 UTC (rev 66120)
@@ -131,7 +131,7 @@
          else
             if(metadata instanceof JBossMetaData)
             {
-               JBossEnterpriseBeansMetaData beans = ((JBossMetaData)metadata).getEnterpriseBeans();
+               JBossEnterpriseBeansMetaData beans = ((JBossMetaData)metadata).getMergedEnterpriseBeans();
                for(JBossEnterpriseBeanMetaData bmd : beans)
                {
                   EJBPermissionMapping.createPermissions(bmd, policyConfiguration);

Modified: trunk/server/src/main/org/jboss/ejb/EJBPermissionMapping.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/EJBPermissionMapping.java	2007-10-15 05:15:01 UTC (rev 66119)
+++ trunk/server/src/main/org/jboss/ejb/EJBPermissionMapping.java	2007-10-15 05:45:33 UTC (rev 66120)
@@ -39,6 +39,7 @@
 import org.jboss.metadata.ejb.spec.MethodInterfaceType;
 import org.jboss.metadata.ejb.spec.MethodPermissionMetaData;
 import org.jboss.metadata.ejb.spec.MethodPermissionsMetaData;
+import org.jboss.metadata.ejb.spec.MethodsMetaData;
 import org.jboss.metadata.ejb.spec.SessionBeanMetaData;
 import org.jboss.metadata.javaee.spec.SecurityRoleRefsMetaData;
 
@@ -60,9 +61,12 @@
       EnterpriseBeanMetaData beanSpecMD = bean.getOverridenMetaData();
       // Process the method-permission MethodMetaData
       MethodPermissionsMetaData perms = beanSpecMD.getMethodPermissions();
+      if(perms != null)
       for(MethodPermissionMetaData perm : perms)
       {
-         for(org.jboss.metadata.ejb.spec.MethodMetaData mmd : perm.getMethods())
+         MethodsMetaData methods = perm.getMethods();
+         if(methods != null)
+         for(org.jboss.metadata.ejb.spec.MethodMetaData mmd : methods)
          {
             String[] params = null;
             params = mmd.getMethodParams().toArray(params);
@@ -92,22 +96,28 @@
 
       // Process the exclude-list MethodMetaData
       ExcludeListMetaData excluded = beanSpecMD.getExcludeList();
-      for(org.jboss.metadata.ejb.spec.MethodMetaData mmd : excluded.getMethods())
+      if(excluded != null)
       {
-         String[] params = null;
-         params = mmd.getMethodParams().toArray(params);
-         String methodName = mmd.getMethodName();
-         if( methodName != null && methodName.equals("*") )
-            methodName = null;
-         MethodInterfaceType miType = mmd.getMethodIntf();
-         String iface = miType != null ? miType.name() : null;
-         EJBMethodPermission p = new EJBMethodPermission(mmd.getEjbName(),
-               methodName, iface, params);
-         pc.addToExcludedPolicy(p);
+         MethodsMetaData methods = excluded.getMethods();
+         if(methods != null)
+         for(org.jboss.metadata.ejb.spec.MethodMetaData mmd : methods)
+         {
+            String[] params = null;
+            params = mmd.getMethodParams().toArray(params);
+            String methodName = mmd.getMethodName();
+            if( methodName != null && methodName.equals("*") )
+               methodName = null;
+            MethodInterfaceType miType = mmd.getMethodIntf();
+            String iface = miType != null ? miType.name() : null;
+            EJBMethodPermission p = new EJBMethodPermission(mmd.getEjbName(),
+                  methodName, iface, params);
+            pc.addToExcludedPolicy(p);
+         }
       }
 
       // Process the security-role-ref SecurityRoleRefMetaData
       SecurityRoleRefsMetaData refs = bean.getSecurityRoleRefs();
+      if(refs != null)
       for(org.jboss.metadata.javaee.spec.SecurityRoleRefMetaData ref : refs)
       {
          EJBRoleRefPermission p = new EJBRoleRefPermission(bean.getEjbName(), ref.getRoleName());

Modified: trunk/server/src/main/org/jboss/ejb/EjbModule.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/EjbModule.java	2007-10-15 05:15:01 UTC (rev 66119)
+++ trunk/server/src/main/org/jboss/ejb/EjbModule.java	2007-10-15 05:45:33 UTC (rev 66120)
@@ -186,7 +186,7 @@
          String unauthenticatedPrincipal = unit.getAttachment("EJB.unauthenticatedIdentity", String.class);
          if(unauthenticatedPrincipal == null)
             unauthenticatedPrincipal = unit.getAttachment("EAR.unauthenticatedIdentity", String.class);
-         metaData.setUnauthenticatedPrincipal(unauthenticatedPrincipal);
+         metaData.getJBossMetaData().setUnauthenticatedPrincipal(unauthenticatedPrincipal);
       }
       // Add the ApplicationMetaData for the jbossws ejb21 deployer to pickup later
       if (unit.getAttachment(ApplicationMetaData.class) == null)

Modified: trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java	2007-10-15 05:15:01 UTC (rev 66119)
+++ trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java	2007-10-15 05:45:33 UTC (rev 66120)
@@ -198,9 +198,10 @@
 
       ServiceConstructorMetaData ctor = new ServiceConstructorMetaData();
       ctor.setSignature(
-         new String[]{VFSDeploymentUnit.class.getName(), JBossMetaData.class.getName()}
+         new String[]{VFSDeploymentUnit.class.getName(), ApplicationMetaData.class.getName()}
       );
-      ctor.setParameters(new Object[]{unit, deployment});
+      ApplicationMetaData legacyMD = new ApplicationMetaData(deployment);
+      ctor.setParameters(new Object[]{unit, legacyMD});
       ejbModule.setConstructor(ctor);
 
       // set attributes
@@ -260,6 +261,8 @@
          for(String iname : invokers)
          {
             InvokerProxyBindingMetaData imd = deployment.getInvokerProxyBinding(iname);
+            if (imd == null)
+               throw new DeploymentException("Failed to locate invoker: "+iname);
             String invokerName = imd.getInvokerMBean();
             if( invokerName.equalsIgnoreCase("default") )
             {




More information about the jboss-cvs-commits mailing list