Author: dblevins
Date: Sat Jun 21 17:17:46 2008
New Revision: 670279

URL: http://svn.apache.org/viewvc?rev=670279&view=rev
Log:
OPENEJB-829: Automatically add an @DeclareRole ref for any role listed in 
@RolesAllowed

Modified:
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=670279&r1=670278&r2=670279&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
 Sat Jun 21 17:17:46 2008
@@ -1063,6 +1063,13 @@
                         
methodPermission.getRoleName().addAll(asList(rolesAllowed.value()));
                         methodPermission.getMethod().add(new 
org.apache.openejb.jee.Method(ejbName, clazz.getName(), "*"));
                         
assemblyDescriptor.getMethodPermission().add(methodPermission);
+
+                        // Automatically add a role ref for any role listed in 
RolesAllowed
+                        RemoteBean remoteBean = (RemoteBean) bean;
+                        List<SecurityRoleRef> securityRoleRefs = 
remoteBean.getSecurityRoleRef();
+                        for (String role : rolesAllowed.value()) {
+                            securityRoleRefs.add(new SecurityRoleRef(role));
+                        }
                     }
 
                     if (permitAll != null) {
@@ -1099,6 +1106,13 @@
                 
methodPermission.getRoleName().addAll(asList(rolesAllowed.value()));
                 methodPermission.getMethod().add(new 
org.apache.openejb.jee.Method(ejbName, method));
                 assemblyDescriptor.getMethodPermission().add(methodPermission);
+
+                // Automatically add a role ref for any role listed in 
RolesAllowed
+                RemoteBean remoteBean = (RemoteBean) bean;
+                List<SecurityRoleRef> securityRoleRefs = 
remoteBean.getSecurityRoleRef();
+                for (String role : rolesAllowed.value()) {
+                    securityRoleRefs.add(new SecurityRoleRef(role));
+                }
             }
 
             for (Method method : 
classFinder.findAnnotatedMethods(PermitAll.class)) {


Reply via email to