You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by an...@apache.org on 2013/04/19 09:53:55 UTC

svn commit: r1469727 - /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AccessControlManagerImpl.java

Author: angela
Date: Fri Apr 19 07:53:54 2013
New Revision: 1469727

URL: http://svn.apache.org/r1469727
Log:
OAK-51 : Access Control Management (wip)

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

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AccessControlManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AccessControlManagerImpl.java?rev=1469727&r1=1469726&r2=1469727&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AccessControlManagerImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AccessControlManagerImpl.java Fri Apr 19 07:53:54 2013
@@ -30,7 +30,9 @@ import javax.annotation.Nullable;
 import javax.jcr.AccessDeniedException;
 import javax.jcr.PathNotFoundException;
 import javax.jcr.RepositoryException;
+import javax.jcr.UnsupportedRepositoryOperationException;
 import javax.jcr.query.Query;
+import javax.jcr.security.AccessControlEntry;
 import javax.jcr.security.AccessControlException;
 import javax.jcr.security.AccessControlList;
 import javax.jcr.security.AccessControlPolicy;
@@ -216,7 +218,6 @@ public class AccessControlManagerImpl im
             AccessControlPolicy[] plcs = getPolicies(principalAcl.principal);
             PrincipalACL existing = (plcs.length == 0) ? null : (PrincipalACL) plcs[0];
 
-            // TODO: handle re-ordered entries...
             List<JackrabbitAccessControlEntry> toAdd = Lists.newArrayList(principalAcl.getEntries());
             List<JackrabbitAccessControlEntry> toRemove = Collections.emptyList();
             if (existing != null) {
@@ -747,7 +748,7 @@ public class AccessControlManagerImpl im
         }
     }
 
-    private final class PrincipalACL extends NodeACL {
+    private final class PrincipalACL extends ACL {
 
         private final Principal principal;
         private final RestrictionProvider rProvider;
@@ -755,7 +756,7 @@ public class AccessControlManagerImpl im
         private PrincipalACL(String oakPath, Principal principal,
                              List<JackrabbitAccessControlEntry> entries,
                              RestrictionProvider restrictionProvider) {
-            super(oakPath, entries);
+            super(oakPath, entries, namePathMapper);
             this.principal = principal;
             rProvider = restrictionProvider;
         }
@@ -767,6 +768,26 @@ public class AccessControlManagerImpl im
         }
 
         @Override
+        PrincipalManager getPrincipalManager() {
+            return principalManager;
+        }
+
+        @Override
+        PrivilegeManager getPrivilegeManager() {
+            return privilegeManager;
+        }
+
+        @Override
+        PrivilegeBitsProvider getPrivilegeBitsProvider() {
+            return new PrivilegeBitsProvider(root);
+        }
+
+        @Override
+        public void orderBefore(AccessControlEntry srcEntry, AccessControlEntry destEntry) throws RepositoryException {
+            throw new UnsupportedRepositoryOperationException("reordering is not supported");
+        }
+
+        @Override
         public boolean equals(Object obj) {
             if (obj == this) {
                 return true;