You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2013/01/18 19:24:20 UTC

svn commit: r1435285 - /archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaRbacManager.java

Author: olamy
Date: Fri Jan 18 18:24:19 2013
New Revision: 1435285

URL: http://svn.apache.org/viewvc?rev=1435285&view=rev
Log:
override to check faster existence of a role

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

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaRbacManager.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaRbacManager.java?rev=1435285&r1=1435284&r2=1435285&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaRbacManager.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaRbacManager.java Fri Jan 18 18:24:19 2013
@@ -44,7 +44,7 @@ import java.util.Map;
  * @author Olivier Lamy
  * @since 1.4-M4
  */
-@Service( "rbacManager#archiva" )
+@Service("rbacManager#archiva")
 public class ArchivaRbacManager
     extends AbstractRBACManager
     implements RBACManager
@@ -290,6 +290,29 @@ public class ArchivaRbacManager
         getRbacManagerForCommon().removeUserAssignment( userAssignment );
     }
 
+    @Override
+    public boolean roleExists( String name )
+        throws RbacManagerException
+    {
+        boolean exists = false;
+        for ( RBACManager manager : rbacManagersPerId.values() )
+        {
+            exists = manager.roleExists( name );
+            if ( exists )
+            {
+                return true;
+            }
+        }
+        return exists;
+    }
+
+    @Override
+    public boolean roleExists( Role role )
+        throws RbacManagerException
+    {
+        return roleExists( role.getName() );
+    }
+
     public void eraseDatabase()
     {
         log.warn( "eraseDatabase not implemented" );