maguro      2004/11/13 14:11:26

  Modified:    modules/openejb-builder/src/java/org/openejb/deployment
                        ContainerSecurityBuilder.java
  Log:

  Refined exception criteria
  
  Revision  Changes    Path
  1.3       +3 -2      
openejb/modules/openejb-builder/src/java/org/openejb/deployment/ContainerSecurityBuilder.java
  
  Index: ContainerSecurityBuilder.java
  ===================================================================
  RCS file: 
/scm/openejb/openejb/modules/openejb-builder/src/java/org/openejb/deployment/ContainerSecurityBuilder.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ContainerSecurityBuilder.java     12 Nov 2004 21:29:21 -0000      1.2
  +++ ContainerSecurityBuilder.java     13 Nov 2004 19:11:26 -0000      1.3
  @@ -338,7 +338,8 @@
                                          SecurityIdentityType securityIdentity)
               throws DeploymentException {
   
  -        String runAsName = ((securityIdentity != null && 
securityIdentity.getRunAs() != null) ? 
securityIdentity.getRunAs().getRoleName().getStringValue() : "");
  +        boolean needsRunAs = (securityIdentity != null && 
securityIdentity.getRunAs() != null);
  +        String runAsName = (needsRunAs ? 
securityIdentity.getRunAs().getRoleName().getStringValue() : "");
           Iterator rollMappings = 
security.getRoleMappings().values().iterator();
           while (rollMappings.hasNext()) {
               Role role = (Role) rollMappings.next();
  @@ -378,7 +379,7 @@
                   }
               }
           }
  -        if (builder.getRunAs() == null) throw new DeploymentException("Role 
designate not found for role: " + runAsName);
  +        if (needsRunAs && builder.getRunAs() == null) throw new 
DeploymentException("Role designate not found for role: " + runAsName);
       }
   
       /**
  
  
  

Reply via email to