]> source.dussan.org Git - archiva.git/commitdiff
try all impls for returning a role
authorOlivier Lamy <olamy@apache.org>
Tue, 15 Jan 2013 23:44:12 +0000 (23:44 +0000)
committerOlivier Lamy <olamy@apache.org>
Tue, 15 Jan 2013 23:44:12 +0000 (23:44 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1433742 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaRbacManager.java

index 9a6a44dccf8317192e3bfd27e84e550b2295f0ca..ec2780bafcfbcec09e99db4944f81b3642377b6f 100644 (file)
@@ -110,8 +110,16 @@ public class ArchivaRbacManager
     public Role getRole( String roleName )
         throws RbacObjectNotFoundException, RbacManagerException
     {
-        // iterate until not null ?
-        return getRbacManagerForCommon().getRole( roleName );
+        for ( RBACManager rbacManager : rbacManagersPerId.values() )
+        {
+            Role role = rbacManager.getRole( roleName );
+            if ( role != null )
+            {
+                return role;
+            }
+        }
+        log.debug( "cannot find role for name: ‘{}", roleName );
+        return null;
     }
 
     public List<Role> getAllRoles()