Author: brett
Date: Fri Aug 10 11:20:42 2012
New Revision: 1371658

URL: http://svn.apache.org/viewvc?rev=1371658&view=rev
Log:
[REDBACK-298] Concurrent modification to roles in Redback can cause incorrect
results to get cached

Modified:
    
archiva/redback/redback-core/trunk/redback-rbac/redback-rbac-providers/redback-rbac-cached/src/main/java/org/apache/archiva/redback/rbac/cached/CachedRbacManager.java

Modified: 
archiva/redback/redback-core/trunk/redback-rbac/redback-rbac-providers/redback-rbac-cached/src/main/java/org/apache/archiva/redback/rbac/cached/CachedRbacManager.java
URL: 
http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-rbac/redback-rbac-providers/redback-rbac-cached/src/main/java/org/apache/archiva/redback/rbac/cached/CachedRbacManager.java?rev=1371658&r1=1371657&r2=1371658&view=diff
==============================================================================
--- 
archiva/redback/redback-core/trunk/redback-rbac/redback-rbac-providers/redback-rbac-cached/src/main/java/org/apache/archiva/redback/rbac/cached/CachedRbacManager.java
 (original)
+++ 
archiva/redback/redback-core/trunk/redback-rbac/redback-rbac-providers/redback-rbac-cached/src/main/java/org/apache/archiva/redback/rbac/cached/CachedRbacManager.java
 Fri Aug 10 11:20:42 2012
@@ -208,7 +208,7 @@ public class CachedRbacManager
      * @see 
org.apache.archiva.redback.rbac.RBACManager#getAssignedPermissionMap(java.lang.String)
      */
     @SuppressWarnings( "unchecked" )
-    public Map getAssignedPermissionMap( String principal )
+    public synchronized Map getAssignedPermissionMap( String principal )
         throws RbacObjectNotFoundException, RbacManagerException
     {
         Object el = userPermissionsCache.get( principal );
@@ -666,7 +666,7 @@ public class CachedRbacManager
         return this.rbacImpl.saveResource( resource );
     }
 
-    public Role saveRole( Role role )
+    public synchronized Role saveRole( Role role )
         throws RbacObjectInvalidException, RbacManagerException
     {
         /*
@@ -692,7 +692,7 @@ public class CachedRbacManager
         return this.rbacImpl.saveRole( role );
     }
 
-    public void saveRoles( Collection<Role> roles )
+    public synchronized void saveRoles( Collection<Role> roles )
         throws RbacObjectInvalidException, RbacManagerException
     {
 


Reply via email to