Author: angela
Date: Thu Jul 25 09:56:43 2013
New Revision: 1506870

URL: http://svn.apache.org/r1506870
Log:
OAK-527: permissions

- be defensive: deal with (unexpected) removal of a complete per-principal tree 
in the p-store.

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/CompiledPermissionImpl.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/CompiledPermissionImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/CompiledPermissionImpl.java?rev=1506870&r1=1506869&r2=1506870&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/CompiledPermissionImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/CompiledPermissionImpl.java
 Thu Jul 25 09:56:43 2013
@@ -82,9 +82,11 @@ class CompiledPermissionImpl implements 
         if (permissionsTree.exists()) {
             for (Principal principal : principals) {
                 Tree t = getPrincipalRoot(permissionsTree, principal);
+                Map<String, Tree> target = getTargetMap(principal);
                 if (t.exists()) {
-                    Map<String, Tree> target = getTargetMap(principal);
                     target.put(principal.getName(), t);
+                } else {
+                    target.remove(principal.getName());
                 }
             }
         }


Reply via email to