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 ju...@apache.org on 2012/08/02 17:40:06 UTC
svn commit: r1368553 -
/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java
Author: jukka
Date: Thu Aug 2 15:40:06 2012
New Revision: 1368553
URL: http://svn.apache.org/viewvc?rev=1368553&view=rev
Log:
OAK-51: Implement JCR Access Control Management
Add a dummy access control manager to enable clients that expect one to be present.
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java?rev=1368553&r1=1368552&r2=1368553&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java Thu Aug 2 15:40:06 2012
@@ -39,11 +39,15 @@ import javax.jcr.ValueFactory;
import javax.jcr.Workspace;
import javax.jcr.retention.RetentionManager;
import javax.jcr.security.AccessControlManager;
+import javax.jcr.security.AccessControlPolicy;
+import javax.jcr.security.AccessControlPolicyIterator;
+import javax.jcr.security.Privilege;
import org.apache.jackrabbit.api.JackrabbitSession;
import org.apache.jackrabbit.api.security.principal.PrincipalManager;
import org.apache.jackrabbit.api.security.user.UserManager;
import org.apache.jackrabbit.commons.AbstractSession;
+import org.apache.jackrabbit.commons.iterator.AccessControlPolicyIteratorAdapter;
import org.apache.jackrabbit.oak.commons.PathUtils;
import org.apache.jackrabbit.oak.jcr.security.principal.PrincipalManagerImpl;
import org.apache.jackrabbit.oak.jcr.security.user.UserManagerConfig;
@@ -353,9 +357,47 @@ public class SessionImpl extends Abstrac
@Override
@Nonnull
- public AccessControlManager getAccessControlManager() throws RepositoryException {
- ensureIsAlive();
- throw new UnsupportedRepositoryOperationException("TODO: Session.getAccessControlManager");
+ public AccessControlManager getAccessControlManager()
+ throws RepositoryException {
+ return TODO.dummyImplementation().returnValue(new AccessControlManager() {
+ @Override
+ public void setPolicy(String absPath, AccessControlPolicy policy) {
+ // do nothing
+ }
+ @Override
+ public void removePolicy(String absPath, AccessControlPolicy policy) {
+ // do nothing
+ }
+ @Override
+ public Privilege privilegeFromName(String privilegeName)
+ throws AccessControlException {
+ throw new AccessControlException(privilegeName);
+ }
+ @Override
+ public boolean hasPrivileges(String absPath, Privilege[] privileges) {
+ return true;
+ }
+ @Override
+ public Privilege[] getSupportedPrivileges(String absPath) {
+ return new Privilege[0];
+ }
+ @Override
+ public Privilege[] getPrivileges(String absPath) {
+ return new Privilege[0];
+ }
+ @Override
+ public AccessControlPolicy[] getPolicies(String absPath) {
+ return new AccessControlPolicy[0];
+ }
+ @Override
+ public AccessControlPolicy[] getEffectivePolicies(String absPath) {
+ return new AccessControlPolicy[0];
+ }
+ @Override
+ public AccessControlPolicyIterator getApplicablePolicies(String absPath) {
+ return AccessControlPolicyIteratorAdapter.EMPTY;
+ }
+ });
}
/**