From commits-return-5976-apmail-jackrabbit-commits-archive=jackrabbit.apache.org@jackrabbit.apache.org Tue May 20 07:37:52 2008 Return-Path: Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: (qmail 2173 invoked from network); 20 May 2008 07:37:52 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 20 May 2008 07:37:52 -0000 Received: (qmail 72916 invoked by uid 500); 20 May 2008 07:37:53 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 72876 invoked by uid 500); 20 May 2008 07:37:53 -0000 Mailing-List: contact commits-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list commits@jackrabbit.apache.org Received: (qmail 72867 invoked by uid 99); 20 May 2008 07:37:52 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 May 2008 00:37:52 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 May 2008 07:37:05 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 3A53D23889FF; Tue, 20 May 2008 00:37:21 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r658134 [2/4] - in /jackrabbit/trunk: jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/ jackrabbit-core/src/main/java/org/apache/jackrabbit/commons/iterator/ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ ja... Date: Tue, 20 May 2008 07:37:17 -0000 To: commits@jackrabbit.apache.org From: angela@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080520073721.3A53D23889FF@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/AMContext.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/AMContext.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/AMContext.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/AMContext.java Tue May 20 00:37:15 2008 @@ -17,13 +17,13 @@ package org.apache.jackrabbit.core.security; import org.apache.jackrabbit.core.HierarchyManager; -import org.apache.jackrabbit.core.security.authorization.WorkspaceAccessManager; -import org.apache.jackrabbit.core.security.authorization.AccessControlProvider; import org.apache.jackrabbit.core.fs.FileSystem; +import org.apache.jackrabbit.core.security.authorization.AccessControlProvider; +import org.apache.jackrabbit.core.security.authorization.WorkspaceAccessManager; import org.apache.jackrabbit.spi.commons.conversion.NamePathResolver; -import javax.security.auth.Subject; import javax.jcr.Session; +import javax.security.auth.Subject; import java.io.File; /** Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/AbstractAccessControlManager.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/AbstractAccessControlManager.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/AbstractAccessControlManager.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/AbstractAccessControlManager.java Tue May 20 00:37:15 2008 @@ -16,25 +16,25 @@ */ package org.apache.jackrabbit.core.security; +import org.apache.jackrabbit.api.jsr283.security.AccessControlEntry; +import org.apache.jackrabbit.api.jsr283.security.AccessControlException; +import org.apache.jackrabbit.api.jsr283.security.AccessControlManager; +import org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy; +import org.apache.jackrabbit.api.jsr283.security.AccessControlPolicyIterator; +import org.apache.jackrabbit.api.jsr283.security.Hold; +import org.apache.jackrabbit.api.jsr283.security.Privilege; +import org.apache.jackrabbit.api.jsr283.security.RetentionPolicy; +import org.apache.jackrabbit.commons.iterator.AccessControlPolicyIteratorAdapter; +import org.apache.jackrabbit.core.security.authorization.PrivilegeRegistry; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlManager; -import org.apache.jackrabbit.core.security.jsr283.security.Privilege; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlPolicyIterator; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlPolicy; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlException; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlEntry; -import org.apache.jackrabbit.core.security.jsr283.security.Hold; -import org.apache.jackrabbit.core.security.jsr283.security.RetentionPolicy; -import org.apache.jackrabbit.core.security.authorization.PrivilegeRegistry; -import org.apache.jackrabbit.commons.iterator.AccessControlPolicyIteratorAdapter; +import javax.jcr.AccessDeniedException; import javax.jcr.PathNotFoundException; import javax.jcr.RepositoryException; -import javax.jcr.AccessDeniedException; import javax.jcr.UnsupportedRepositoryOperationException; -import javax.jcr.version.VersionException; import javax.jcr.lock.LockException; +import javax.jcr.version.VersionException; import java.security.Principal; /** Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/DefaultAccessManager.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/DefaultAccessManager.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/DefaultAccessManager.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/DefaultAccessManager.java Tue May 20 00:37:15 2008 @@ -16,27 +16,27 @@ */ package org.apache.jackrabbit.core.security; +import org.apache.jackrabbit.api.jsr283.security.AccessControlEntry; +import org.apache.jackrabbit.api.jsr283.security.AccessControlException; +import org.apache.jackrabbit.api.jsr283.security.AccessControlManager; +import org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy; +import org.apache.jackrabbit.api.jsr283.security.AccessControlPolicyIterator; +import org.apache.jackrabbit.api.jsr283.security.Hold; +import org.apache.jackrabbit.api.jsr283.security.Privilege; +import org.apache.jackrabbit.api.jsr283.security.RetentionPolicy; import org.apache.jackrabbit.commons.iterator.AccessControlPolicyIteratorAdapter; import org.apache.jackrabbit.core.HierarchyManager; import org.apache.jackrabbit.core.ItemId; -import org.apache.jackrabbit.core.security.authorization.PolicyTemplate; import org.apache.jackrabbit.core.security.authorization.AccessControlEditor; import org.apache.jackrabbit.core.security.authorization.AccessControlProvider; -import org.apache.jackrabbit.core.security.authorization.PrivilegeRegistry; -import org.apache.jackrabbit.core.security.authorization.WorkspaceAccessManager; import org.apache.jackrabbit.core.security.authorization.CompiledPermissions; import org.apache.jackrabbit.core.security.authorization.Permission; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlEntry; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlException; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlManager; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlPolicy; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlPolicyIterator; -import org.apache.jackrabbit.core.security.jsr283.security.Privilege; -import org.apache.jackrabbit.core.security.jsr283.security.Hold; -import org.apache.jackrabbit.core.security.jsr283.security.RetentionPolicy; +import org.apache.jackrabbit.core.security.authorization.PolicyTemplate; +import org.apache.jackrabbit.core.security.authorization.PrivilegeRegistry; +import org.apache.jackrabbit.core.security.authorization.WorkspaceAccessManager; import org.apache.jackrabbit.core.security.principal.AdminPrincipal; -import org.apache.jackrabbit.spi.Path; import org.apache.jackrabbit.spi.Name; +import org.apache.jackrabbit.spi.Path; import org.apache.jackrabbit.spi.commons.conversion.NamePathResolver; import org.apache.jackrabbit.spi.commons.name.PathFactoryImpl; import org.slf4j.Logger; @@ -47,14 +47,14 @@ import javax.jcr.PathNotFoundException; import javax.jcr.RepositoryException; import javax.jcr.UnsupportedRepositoryOperationException; -import javax.jcr.version.VersionException; import javax.jcr.lock.LockException; +import javax.jcr.version.VersionException; import javax.security.auth.Subject; import java.security.Principal; +import java.util.ArrayList; import java.util.Collections; -import java.util.Set; import java.util.List; -import java.util.ArrayList; +import java.util.Set; /** * The DefaultAccessManager controls access by evaluating access Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/JackrabbitAccessControlManager.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/JackrabbitAccessControlManager.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/JackrabbitAccessControlManager.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/JackrabbitAccessControlManager.java Tue May 20 00:37:15 2008 @@ -16,13 +16,13 @@ */ package org.apache.jackrabbit.core.security; +import org.apache.jackrabbit.api.jsr283.security.AccessControlException; +import org.apache.jackrabbit.api.jsr283.security.AccessControlManager; import org.apache.jackrabbit.core.security.authorization.PolicyTemplate; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlManager; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlException; import javax.jcr.AccessDeniedException; -import javax.jcr.RepositoryException; import javax.jcr.PathNotFoundException; +import javax.jcr.RepositoryException; import javax.jcr.UnsupportedRepositoryOperationException; import java.security.Principal; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/JackrabbitSecurityManager.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/JackrabbitSecurityManager.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/JackrabbitSecurityManager.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/JackrabbitSecurityManager.java Tue May 20 00:37:15 2008 @@ -16,15 +16,15 @@ */ package org.apache.jackrabbit.core.security; -import org.apache.jackrabbit.core.security.authentication.AuthContext; import org.apache.jackrabbit.api.security.principal.PrincipalManager; import org.apache.jackrabbit.api.security.user.UserManager; import org.apache.jackrabbit.core.config.SecurityConfig; +import org.apache.jackrabbit.core.security.authentication.AuthContext; import javax.jcr.Credentials; +import javax.jcr.Repository; import javax.jcr.RepositoryException; import javax.jcr.Session; -import javax.jcr.Repository; import javax.jcr.UnsupportedRepositoryOperationException; import javax.security.auth.Subject; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/SimpleJBossAccessManager.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/SimpleJBossAccessManager.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/SimpleJBossAccessManager.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/SimpleJBossAccessManager.java Tue May 20 00:37:15 2008 @@ -18,10 +18,10 @@ import org.apache.jackrabbit.core.ItemId; import org.apache.jackrabbit.core.security.authorization.AccessControlProvider; -import org.apache.jackrabbit.core.security.authorization.WorkspaceAccessManager; import org.apache.jackrabbit.core.security.authorization.Permission; -import org.apache.jackrabbit.spi.Path; +import org.apache.jackrabbit.core.security.authorization.WorkspaceAccessManager; import org.apache.jackrabbit.spi.Name; +import org.apache.jackrabbit.spi.Path; import org.slf4j.Logger; import org.slf4j.LoggerFactory; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authentication/Authentication.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authentication/Authentication.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authentication/Authentication.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authentication/Authentication.java Tue May 20 00:37:15 2008 @@ -16,8 +16,8 @@ */ package org.apache.jackrabbit.core.security.authentication; -import javax.jcr.RepositoryException; import javax.jcr.Credentials; +import javax.jcr.RepositoryException; /** * The Authentication interface defines methods to validate Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AbstractAccessControlProvider.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AbstractAccessControlProvider.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AbstractAccessControlProvider.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AbstractAccessControlProvider.java Tue May 20 00:37:15 2008 @@ -16,24 +16,24 @@ */ package org.apache.jackrabbit.core.security.authorization; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.jackrabbit.api.jsr283.security.AccessControlEntry; +import org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy; import org.apache.jackrabbit.core.SessionImpl; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlPolicy; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlEntry; -import org.apache.jackrabbit.core.security.principal.AdminPrincipal; import org.apache.jackrabbit.core.security.SystemPrincipal; +import org.apache.jackrabbit.core.security.principal.AdminPrincipal; import org.apache.jackrabbit.spi.Path; import org.apache.jackrabbit.spi.commons.conversion.NamePathResolver; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import javax.jcr.ItemNotFoundException; import javax.jcr.RepositoryException; import javax.jcr.Session; import javax.jcr.observation.ObservationManager; +import java.security.Principal; import java.util.Iterator; -import java.util.Set; import java.util.Map; -import java.security.Principal; +import java.util.Set; /** * AbstractAccessControlProvider... Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AbstractCompiledPermissions.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AbstractCompiledPermissions.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AbstractCompiledPermissions.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AbstractCompiledPermissions.java Tue May 20 00:37:15 2008 @@ -16,10 +16,10 @@ */ package org.apache.jackrabbit.core.security.authorization; +import org.apache.commons.collections.map.LRUMap; +import org.apache.jackrabbit.spi.Path; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.jackrabbit.spi.Path; -import org.apache.commons.collections.map.LRUMap; import javax.jcr.RepositoryException; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AbstractPolicyEntry.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AbstractPolicyEntry.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AbstractPolicyEntry.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AbstractPolicyEntry.java Tue May 20 00:37:15 2008 @@ -16,15 +16,15 @@ */ package org.apache.jackrabbit.core.security.authorization; +import org.apache.jackrabbit.api.jsr283.security.Privilege; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.jackrabbit.core.security.jsr283.security.Privilege; import java.security.Principal; /** * Simple, immutable implementation of the - * {@link org.apache.jackrabbit.core.security.jsr283.security.AccessControlEntry} + * {@link org.apache.jackrabbit.api.jsr283.security.AccessControlEntry} * and the {@link PolicyEntry} interfaces. */ public abstract class AbstractPolicyEntry implements PolicyEntry { @@ -80,14 +80,14 @@ //-------------------------------------------------< AccessControlEntry >--- /** - * @see org.apache.jackrabbit.core.security.jsr283.security.AccessControlEntry#getPrincipal() + * @see org.apache.jackrabbit.api.jsr283.security.AccessControlEntry#getPrincipal() */ public Principal getPrincipal() { return principal; } /** - * @see org.apache.jackrabbit.core.security.jsr283.security.AccessControlEntry#getPrivileges() + * @see org.apache.jackrabbit.api.jsr283.security.AccessControlEntry#getPrivileges() */ public Privilege[] getPrivileges() { return PrivilegeRegistry.getPrivileges(privileges); Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlConstants.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlConstants.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlConstants.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlConstants.java Tue May 20 00:37:15 2008 @@ -16,8 +16,8 @@ */ package org.apache.jackrabbit.core.security.authorization; -import org.apache.jackrabbit.spi.NameFactory; import org.apache.jackrabbit.spi.Name; +import org.apache.jackrabbit.spi.NameFactory; import org.apache.jackrabbit.spi.commons.name.NameFactoryImpl; /** Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlEditor.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlEditor.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlEditor.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlEditor.java Tue May 20 00:37:15 2008 @@ -16,14 +16,14 @@ */ package org.apache.jackrabbit.core.security.authorization; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlException; -import org.apache.jackrabbit.core.security.jsr283.security.Privilege; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlEntry; +import org.apache.jackrabbit.api.jsr283.security.AccessControlEntry; +import org.apache.jackrabbit.api.jsr283.security.AccessControlException; +import org.apache.jackrabbit.api.jsr283.security.Privilege; +import javax.jcr.AccessDeniedException; +import javax.jcr.PathNotFoundException; import javax.jcr.RepositoryException; import javax.jcr.UnsupportedRepositoryOperationException; -import javax.jcr.PathNotFoundException; -import javax.jcr.AccessDeniedException; import java.security.Principal; /** Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlProvider.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlProvider.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlProvider.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlProvider.java Tue May 20 00:37:15 2008 @@ -16,8 +16,8 @@ */ package org.apache.jackrabbit.core.security.authorization; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlEntry; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlPolicy; +import org.apache.jackrabbit.api.jsr283.security.AccessControlEntry; +import org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy; import org.apache.jackrabbit.spi.Path; import javax.jcr.ItemNotFoundException; @@ -79,7 +79,7 @@ * @throws ItemNotFoundException If no Node with the specified * absPath exists. * @throws RepositoryException If another error occurs. - * @see org.apache.jackrabbit.core.security.jsr283.security.AccessControlManager#getEffectivePolicy(String) + * @see org.apache.jackrabbit.api.jsr283.security.AccessControlManager#getEffectivePolicy(String) */ AccessControlPolicy getPolicy(Path absPath) throws ItemNotFoundException, RepositoryException; @@ -94,7 +94,7 @@ * @throws ItemNotFoundException If no Node with the specified * absPath exists. * @throws RepositoryException If an error occurs. - * @see org.apache.jackrabbit.core.security.jsr283.security.AccessControlManager#getEffectiveAccessControlEntries(String) + * @see org.apache.jackrabbit.api.jsr283.security.AccessControlManager#getEffectiveAccessControlEntries(String) */ AccessControlEntry[] getAccessControlEntries(Path absPath) throws RepositoryException; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlProviderFactory.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlProviderFactory.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlProviderFactory.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlProviderFactory.java Tue May 20 00:37:15 2008 @@ -16,8 +16,8 @@ */ package org.apache.jackrabbit.core.security.authorization; -import org.apache.jackrabbit.core.security.JackrabbitSecurityManager; import org.apache.jackrabbit.core.config.WorkspaceSecurityConfig; +import org.apache.jackrabbit.core.security.JackrabbitSecurityManager; import javax.jcr.RepositoryException; import javax.jcr.Session; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/PolicyEntry.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/PolicyEntry.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/PolicyEntry.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/PolicyEntry.java Tue May 20 00:37:15 2008 @@ -16,11 +16,11 @@ */ package org.apache.jackrabbit.core.security.authorization; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlEntry; +import org.apache.jackrabbit.api.jsr283.security.AccessControlEntry; /** * This is one Entry in an {@link PolicyTemplate} or an - * {@link org.apache.jackrabbit.core.security.jsr283.security.AccessControlPolicy}

+ * {@link org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy}

* In the previous case the entry must be detached from the effective ac-content. */ public interface PolicyEntry extends AccessControlEntry { Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/PolicyTemplate.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/PolicyTemplate.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/PolicyTemplate.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/PolicyTemplate.java Tue May 20 00:37:15 2008 @@ -16,8 +16,8 @@ */ package org.apache.jackrabbit.core.security.authorization; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlException; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlPolicy; +import org.apache.jackrabbit.api.jsr283.security.AccessControlException; +import org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy; import javax.jcr.RepositoryException; @@ -25,7 +25,7 @@ * PolicyTemplate is the editable view of an AccessControlPolicy and detached * from the later. Therefore modifications made to the template will not take * effect, until it is - * {@link org.apache.jackrabbit.core.security.jsr283.security.AccessControlManager#setPolicy(String, AccessControlPolicy) + * {@link org.apache.jackrabbit.api.jsr283.security.AccessControlManager#setPolicy(String, AccessControlPolicy) * written back} and {@link javax.jcr.Session#save() saved}. */ public interface PolicyTemplate extends AccessControlPolicy { Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/PrivilegeRegistry.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/PrivilegeRegistry.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/PrivilegeRegistry.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/PrivilegeRegistry.java Tue May 20 00:37:15 2008 @@ -16,18 +16,18 @@ */ package org.apache.jackrabbit.core.security.authorization; -import org.apache.jackrabbit.core.security.jsr283.security.Privilege; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlException; +import org.apache.jackrabbit.api.jsr283.security.AccessControlException; +import org.apache.jackrabbit.api.jsr283.security.Privilege; -import java.util.HashMap; -import java.util.Map; +import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; -import java.util.Set; +import java.util.HashMap; import java.util.HashSet; -import java.util.Arrays; import java.util.Iterator; import java.util.List; -import java.util.ArrayList; +import java.util.Map; +import java.util.Set; /** * The PrivilegeSet represents a set of {@link Privilege}s. Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLEditor.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLEditor.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLEditor.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLEditor.java Tue May 20 00:37:15 2008 @@ -16,35 +16,35 @@ */ package org.apache.jackrabbit.core.security.authorization.acl; -import org.apache.jackrabbit.core.SessionImpl; +import org.apache.jackrabbit.api.jsr283.security.AccessControlEntry; +import org.apache.jackrabbit.api.jsr283.security.AccessControlException; +import org.apache.jackrabbit.api.jsr283.security.Privilege; +import org.apache.jackrabbit.api.security.principal.PrincipalManager; import org.apache.jackrabbit.core.NodeImpl; import org.apache.jackrabbit.core.SecurityItemModifier; +import org.apache.jackrabbit.core.SessionImpl; +import org.apache.jackrabbit.core.security.authorization.AccessControlConstants; import org.apache.jackrabbit.core.security.authorization.AccessControlEditor; +import org.apache.jackrabbit.core.security.authorization.PolicyEntry; import org.apache.jackrabbit.core.security.authorization.PolicyTemplate; -import org.apache.jackrabbit.core.security.authorization.AccessControlConstants; import org.apache.jackrabbit.core.security.authorization.PrivilegeRegistry; -import org.apache.jackrabbit.core.security.authorization.PolicyEntry; -import org.apache.jackrabbit.api.security.principal.PrincipalManager; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlException; -import org.apache.jackrabbit.core.security.jsr283.security.Privilege; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlEntry; -import org.apache.jackrabbit.spi.commons.conversion.NameParser; -import org.apache.jackrabbit.spi.commons.conversion.NameException; import org.apache.jackrabbit.spi.Name; +import org.apache.jackrabbit.spi.commons.conversion.NameException; +import org.apache.jackrabbit.spi.commons.conversion.NameParser; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jcr.Session; -import javax.jcr.RepositoryException; +import javax.jcr.AccessDeniedException; import javax.jcr.Node; +import javax.jcr.PathNotFoundException; +import javax.jcr.RepositoryException; +import javax.jcr.Session; import javax.jcr.Value; import javax.jcr.ValueFactory; -import javax.jcr.PathNotFoundException; -import javax.jcr.AccessDeniedException; import java.security.Principal; -import java.util.List; import java.util.ArrayList; import java.util.Collections; +import java.util.List; /** * ACLEditor... Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLImpl.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLImpl.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLImpl.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLImpl.java Tue May 20 00:37:15 2008 @@ -16,17 +16,17 @@ */ package org.apache.jackrabbit.core.security.authorization.acl; +import org.apache.jackrabbit.api.jsr283.security.AccessControlException; +import org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy; import org.apache.jackrabbit.core.ItemId; import org.apache.jackrabbit.core.NodeId; import org.apache.jackrabbit.core.security.authorization.Permission; import org.apache.jackrabbit.core.security.authorization.PrivilegeRegistry; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlException; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlPolicy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jcr.RepositoryException; import javax.jcr.Item; +import javax.jcr.RepositoryException; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; @@ -223,14 +223,14 @@ //------------------------------------------------< AccessControlPolicy >--- /** * @return the name of the current ACL, - * @see org.apache.jackrabbit.core.security.jsr283.security.AccessControlPolicy#getName() + * @see org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy#getName() */ public String getName() throws RepositoryException { return POLICY_NAME; } /** - * @see org.apache.jackrabbit.core.security.jsr283.security.AccessControlPolicy#getDescription() + * @see org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy#getDescription() */ public String getDescription() throws RepositoryException { // TODO Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLProvider.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLProvider.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLProvider.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLProvider.java Tue May 20 00:37:15 2008 @@ -17,6 +17,9 @@ package org.apache.jackrabbit.core.security.authorization.acl; import org.apache.jackrabbit.api.JackrabbitSession; +import org.apache.jackrabbit.api.jsr283.security.AccessControlEntry; +import org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy; +import org.apache.jackrabbit.api.jsr283.security.Privilege; import org.apache.jackrabbit.api.security.principal.PrincipalManager; import org.apache.jackrabbit.core.NodeId; import org.apache.jackrabbit.core.NodeImpl; @@ -33,9 +36,6 @@ import org.apache.jackrabbit.core.security.authorization.PolicyEntry; import org.apache.jackrabbit.core.security.authorization.PolicyTemplate; import org.apache.jackrabbit.core.security.authorization.PrivilegeRegistry; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlEntry; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlPolicy; -import org.apache.jackrabbit.core.security.jsr283.security.Privilege; import org.apache.jackrabbit.core.security.principal.PrincipalImpl; import org.apache.jackrabbit.spi.Path; import org.apache.jackrabbit.spi.commons.name.PathFactoryImpl; @@ -44,11 +44,11 @@ import org.slf4j.LoggerFactory; import javax.jcr.ItemNotFoundException; +import javax.jcr.Node; import javax.jcr.NodeIterator; import javax.jcr.RepositoryException; import javax.jcr.Session; import javax.jcr.Value; -import javax.jcr.Node; import javax.jcr.observation.Event; import javax.jcr.observation.EventIterator; import javax.jcr.observation.EventListener; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLTemplate.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLTemplate.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLTemplate.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLTemplate.java Tue May 20 00:37:15 2008 @@ -16,29 +16,29 @@ */ package org.apache.jackrabbit.core.security.authorization.acl; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlException; +import org.apache.commons.collections.map.ListOrderedMap; +import org.apache.jackrabbit.api.jsr283.security.AccessControlException; +import org.apache.jackrabbit.api.security.principal.PrincipalManager; +import org.apache.jackrabbit.core.NodeImpl; +import org.apache.jackrabbit.core.SessionImpl; +import org.apache.jackrabbit.core.security.authorization.AccessControlConstants; import org.apache.jackrabbit.core.security.authorization.PolicyEntry; import org.apache.jackrabbit.core.security.authorization.PolicyTemplate; import org.apache.jackrabbit.core.security.authorization.PrivilegeRegistry; -import org.apache.jackrabbit.core.security.authorization.AccessControlConstants; -import org.apache.jackrabbit.core.NodeImpl; -import org.apache.jackrabbit.core.SessionImpl; -import org.apache.jackrabbit.api.security.principal.PrincipalManager; -import org.apache.commons.collections.map.ListOrderedMap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jcr.RepositoryException; import javax.jcr.NodeIterator; +import javax.jcr.RepositoryException; import javax.jcr.Value; import java.security.Principal; -import java.util.Map; -import java.util.Iterator; -import java.util.List; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.Set; -import java.util.Collections; /** * {@link PolicyTemplate}-Implementation for the resource-based {@link ACLImpl}. @@ -259,14 +259,14 @@ //------------------------------------------------< AccessControlPolicy >--- /** - * @see org.apache.jackrabbit.core.security.jsr283.security.AccessControlPolicy#getName() + * @see org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy#getName() */ public String getName() throws RepositoryException { return name; } /** - * @see org.apache.jackrabbit.core.security.jsr283.security.AccessControlPolicy#getDescription() + * @see org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy#getDescription() */ public String getDescription() throws RepositoryException { return description; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/DefaultACL.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/DefaultACL.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/DefaultACL.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/DefaultACL.java Tue May 20 00:37:15 2008 @@ -17,8 +17,8 @@ package org.apache.jackrabbit.core.security.authorization.acl; import org.apache.jackrabbit.core.NodeId; -import org.apache.jackrabbit.core.security.authorization.PrivilegeRegistry; import org.apache.jackrabbit.core.security.authorization.Permission; +import org.apache.jackrabbit.core.security.authorization.PrivilegeRegistry; import javax.jcr.RepositoryException; import java.util.Collections; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/combined/CombinedEditor.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/combined/CombinedEditor.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/combined/CombinedEditor.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/combined/CombinedEditor.java Tue May 20 00:37:15 2008 @@ -16,17 +16,17 @@ */ package org.apache.jackrabbit.core.security.authorization.combined; +import org.apache.jackrabbit.api.jsr283.security.AccessControlException; +import org.apache.jackrabbit.api.jsr283.security.Privilege; import org.apache.jackrabbit.api.security.principal.PrincipalManager; import org.apache.jackrabbit.core.NodeImpl; import org.apache.jackrabbit.core.SessionImpl; import org.apache.jackrabbit.core.security.authorization.AccessControlConstants; import org.apache.jackrabbit.core.security.authorization.AccessControlEditor; +import org.apache.jackrabbit.core.security.authorization.PolicyEntry; import org.apache.jackrabbit.core.security.authorization.PolicyTemplate; import org.apache.jackrabbit.core.security.authorization.PrivilegeRegistry; -import org.apache.jackrabbit.core.security.authorization.PolicyEntry; import org.apache.jackrabbit.core.security.authorization.acl.ACLEditor; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlException; -import org.apache.jackrabbit.core.security.jsr283.security.Privilege; import org.apache.jackrabbit.core.security.principal.ItemBasedPrincipal; import org.apache.jackrabbit.core.security.principal.PrincipalImpl; import org.apache.jackrabbit.spi.Name; @@ -37,11 +37,11 @@ import org.slf4j.LoggerFactory; import javax.jcr.NodeIterator; +import javax.jcr.PathNotFoundException; import javax.jcr.PropertyType; import javax.jcr.RepositoryException; import javax.jcr.Value; import javax.jcr.ValueFactory; -import javax.jcr.PathNotFoundException; import java.security.Principal; import java.util.ArrayList; import java.util.List; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/combined/CombinedProvider.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/combined/CombinedProvider.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/combined/CombinedProvider.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/combined/CombinedProvider.java Tue May 20 00:37:15 2008 @@ -16,22 +16,22 @@ */ package org.apache.jackrabbit.core.security.authorization.combined; +import org.apache.jackrabbit.api.jsr283.security.AccessControlEntry; +import org.apache.jackrabbit.api.security.principal.PrincipalManager; import org.apache.jackrabbit.core.NodeImpl; import org.apache.jackrabbit.core.SessionImpl; import org.apache.jackrabbit.core.observation.SynchronousEventListener; import org.apache.jackrabbit.core.security.SecurityConstants; -import org.apache.jackrabbit.api.security.principal.PrincipalManager; import org.apache.jackrabbit.core.security.authorization.AbstractAccessControlProvider; import org.apache.jackrabbit.core.security.authorization.AbstractCompiledPermissions; import org.apache.jackrabbit.core.security.authorization.AccessControlConstants; import org.apache.jackrabbit.core.security.authorization.AccessControlEditor; import org.apache.jackrabbit.core.security.authorization.AccessControlProvider; import org.apache.jackrabbit.core.security.authorization.CompiledPermissions; -import org.apache.jackrabbit.core.security.authorization.PrivilegeRegistry; import org.apache.jackrabbit.core.security.authorization.Permission; import org.apache.jackrabbit.core.security.authorization.PolicyEntry; import org.apache.jackrabbit.core.security.authorization.PolicyTemplate; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlEntry; +import org.apache.jackrabbit.core.security.authorization.PrivilegeRegistry; import org.apache.jackrabbit.core.security.principal.PrincipalImpl; import org.apache.jackrabbit.spi.Path; import org.apache.jackrabbit.spi.commons.name.PathFactoryImpl; @@ -39,21 +39,21 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.jcr.Item; +import javax.jcr.Node; import javax.jcr.RepositoryException; import javax.jcr.Session; -import javax.jcr.Node; -import javax.jcr.Item; import javax.jcr.observation.Event; -import javax.jcr.observation.EventListener; import javax.jcr.observation.EventIterator; +import javax.jcr.observation.EventListener; import java.security.Principal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; import java.util.Iterator; +import java.util.List; import java.util.Map; import java.util.Set; -import java.util.HashSet; -import java.util.List; -import java.util.ArrayList; -import java.util.Arrays; /** * CombinedProvider... Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/combined/PolicyTemplateImpl.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/combined/PolicyTemplateImpl.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/combined/PolicyTemplateImpl.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/combined/PolicyTemplateImpl.java Tue May 20 00:37:15 2008 @@ -16,18 +16,18 @@ */ package org.apache.jackrabbit.core.security.authorization.combined; +import org.apache.jackrabbit.api.jsr283.security.AccessControlException; import org.apache.jackrabbit.core.security.authorization.PolicyEntry; import org.apache.jackrabbit.core.security.authorization.PolicyTemplate; import org.apache.jackrabbit.core.security.authorization.PrivilegeRegistry; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.jcr.RepositoryException; import java.security.Principal; import java.util.ArrayList; -import java.util.List; import java.util.Iterator; +import java.util.List; /** * PolicyTemplateImpl... @@ -91,14 +91,14 @@ //------------------------------------------------< AccessControlPolicy >--- /** - * @see org.apache.jackrabbit.core.security.jsr283.security.AccessControlPolicy#getName() + * @see org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy#getName() */ public String getName() throws RepositoryException { return getClass().getName(); } /** - * @see org.apache.jackrabbit.core.security.jsr283.security.AccessControlPolicy#getName() + * @see org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy#getName() */ public String getDescription() throws RepositoryException { return "Template for the user-based ACL: each ACL defining the access permissions for a single principal."; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/AbstractPrincipalIterator.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/AbstractPrincipalIterator.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/AbstractPrincipalIterator.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/AbstractPrincipalIterator.java Tue May 20 00:37:15 2008 @@ -16,9 +16,9 @@ */ package org.apache.jackrabbit.core.security.principal; +import org.apache.jackrabbit.api.security.principal.PrincipalIterator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.jackrabbit.api.security.principal.PrincipalIterator; import java.security.Principal; import java.util.NoSuchElementException; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/DefaultPrincipalProvider.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/DefaultPrincipalProvider.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/DefaultPrincipalProvider.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/DefaultPrincipalProvider.java Tue May 20 00:37:15 2008 @@ -24,8 +24,8 @@ import org.apache.jackrabbit.api.security.user.Authorizable; import org.apache.jackrabbit.api.security.user.Group; import org.apache.jackrabbit.api.security.user.UserManager; -import org.apache.jackrabbit.core.security.user.UserManagerImpl; import org.apache.jackrabbit.core.SessionImpl; +import org.apache.jackrabbit.core.security.user.UserManagerImpl; import org.apache.jackrabbit.spi.commons.conversion.NameResolver; import org.apache.jackrabbit.util.Text; import org.slf4j.Logger; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/PrincipalIteratorAdapter.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/PrincipalIteratorAdapter.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/PrincipalIteratorAdapter.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/PrincipalIteratorAdapter.java Tue May 20 00:37:15 2008 @@ -16,9 +16,9 @@ */ package org.apache.jackrabbit.core.security.principal; +import org.apache.jackrabbit.api.security.principal.PrincipalIterator; import org.apache.jackrabbit.commons.iterator.RangeIteratorAdapter; import org.apache.jackrabbit.commons.iterator.RangeIteratorDecorator; -import org.apache.jackrabbit.api.security.principal.PrincipalIterator; import java.security.Principal; import java.util.Collection; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/simple/SimpleAccessManager.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/simple/SimpleAccessManager.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/simple/SimpleAccessManager.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/simple/SimpleAccessManager.java Tue May 20 00:37:15 2008 @@ -16,6 +16,10 @@ */ package org.apache.jackrabbit.core.security.simple; +import org.apache.jackrabbit.api.jsr283.security.AccessControlEntry; +import org.apache.jackrabbit.api.jsr283.security.AccessControlException; +import org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy; +import org.apache.jackrabbit.api.jsr283.security.Privilege; import org.apache.jackrabbit.core.HierarchyManager; import org.apache.jackrabbit.core.ItemId; import org.apache.jackrabbit.core.security.AMContext; @@ -28,10 +32,6 @@ import org.apache.jackrabbit.core.security.authorization.PolicyTemplate; import org.apache.jackrabbit.core.security.authorization.PrivilegeRegistry; import org.apache.jackrabbit.core.security.authorization.WorkspaceAccessManager; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlEntry; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlException; -import org.apache.jackrabbit.core.security.jsr283.security.AccessControlPolicy; -import org.apache.jackrabbit.core.security.jsr283.security.Privilege; import org.apache.jackrabbit.spi.Name; import org.apache.jackrabbit.spi.Path; import org.apache.jackrabbit.spi.commons.conversion.NamePathResolver; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/simple/SimpleLoginModule.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/simple/SimpleLoginModule.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/simple/SimpleLoginModule.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/simple/SimpleLoginModule.java Tue May 20 00:37:15 2008 @@ -16,20 +16,20 @@ */ package org.apache.jackrabbit.core.security.simple; +import org.apache.jackrabbit.core.security.authentication.AbstractLoginModule; +import org.apache.jackrabbit.core.security.authentication.Authentication; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.jackrabbit.core.security.authentication.Authentication; -import org.apache.jackrabbit.core.security.authentication.AbstractLoginModule; -import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.login.LoginException; -import javax.security.auth.Subject; -import javax.jcr.Session; import javax.jcr.Credentials; import javax.jcr.RepositoryException; -import java.util.Map; +import javax.jcr.Session; +import javax.security.auth.Subject; +import javax.security.auth.callback.CallbackHandler; +import javax.security.auth.login.LoginException; import java.security.Principal; import java.security.acl.Group; +import java.util.Map; /** * SimpleLoginModule... Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/simple/SimpleSecurityManager.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/simple/SimpleSecurityManager.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/simple/SimpleSecurityManager.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/simple/SimpleSecurityManager.java Tue May 20 00:37:15 2008 @@ -16,6 +16,9 @@ */ package org.apache.jackrabbit.core.security.simple; +import org.apache.jackrabbit.api.security.principal.PrincipalIterator; +import org.apache.jackrabbit.api.security.principal.PrincipalManager; +import org.apache.jackrabbit.api.security.user.UserManager; import org.apache.jackrabbit.core.RepositoryImpl; import org.apache.jackrabbit.core.SessionImpl; import org.apache.jackrabbit.core.config.AccessManagerConfig; @@ -26,18 +29,15 @@ import org.apache.jackrabbit.core.security.AnonymousPrincipal; import org.apache.jackrabbit.core.security.JackrabbitSecurityManager; import org.apache.jackrabbit.core.security.UserPrincipal; -import org.apache.jackrabbit.api.security.principal.PrincipalIterator; -import org.apache.jackrabbit.api.security.principal.PrincipalManager; -import org.apache.jackrabbit.core.security.principal.PrincipalIteratorAdapter; -import org.apache.jackrabbit.api.security.user.UserManager; import org.apache.jackrabbit.core.security.authentication.AuthContext; import org.apache.jackrabbit.core.security.authentication.AuthContextProvider; import org.apache.jackrabbit.core.security.principal.AdminPrincipal; -import org.apache.jackrabbit.core.security.principal.ProviderRegistryImpl; import org.apache.jackrabbit.core.security.principal.EveryonePrincipal; +import org.apache.jackrabbit.core.security.principal.PrincipalIteratorAdapter; import org.apache.jackrabbit.core.security.principal.PrincipalManagerImpl; import org.apache.jackrabbit.core.security.principal.PrincipalProvider; import org.apache.jackrabbit.core.security.principal.PrincipalProviderRegistry; +import org.apache.jackrabbit.core.security.principal.ProviderRegistryImpl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -52,10 +52,10 @@ import java.security.acl.Group; import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.HashSet; /** * SimpleSecurityManager: simple implementation ignoring both Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/ImpersonationImpl.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/ImpersonationImpl.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/ImpersonationImpl.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/ImpersonationImpl.java Tue May 20 00:37:15 2008 @@ -16,17 +16,17 @@ */ package org.apache.jackrabbit.core.security.user; -import org.apache.jackrabbit.core.security.SystemPrincipal; -import org.apache.jackrabbit.api.security.user.Authorizable; -import org.apache.jackrabbit.api.security.user.Impersonation; +import org.apache.jackrabbit.api.security.principal.NoSuchPrincipalException; import org.apache.jackrabbit.api.security.principal.PrincipalIterator; import org.apache.jackrabbit.api.security.principal.PrincipalManager; -import org.apache.jackrabbit.api.security.principal.NoSuchPrincipalException; -import org.apache.jackrabbit.core.security.principal.PrincipalIteratorAdapter; -import org.apache.jackrabbit.core.security.principal.AdminPrincipal; -import org.apache.jackrabbit.core.security.principal.PrincipalImpl; +import org.apache.jackrabbit.api.security.user.Authorizable; +import org.apache.jackrabbit.api.security.user.Impersonation; import org.apache.jackrabbit.core.NodeImpl; import org.apache.jackrabbit.core.PropertyImpl; +import org.apache.jackrabbit.core.security.SystemPrincipal; +import org.apache.jackrabbit.core.security.principal.AdminPrincipal; +import org.apache.jackrabbit.core.security.principal.PrincipalImpl; +import org.apache.jackrabbit.core.security.principal.PrincipalIteratorAdapter; import org.apache.jackrabbit.value.StringValue; import org.slf4j.Logger; import org.slf4j.LoggerFactory; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/IndexNodeResolver.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/IndexNodeResolver.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/IndexNodeResolver.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/IndexNodeResolver.java Tue May 20 00:37:15 2008 @@ -16,9 +16,9 @@ */ package org.apache.jackrabbit.core.security.user; -import org.apache.jackrabbit.util.ISO9075; import org.apache.jackrabbit.spi.Name; import org.apache.jackrabbit.spi.commons.conversion.NamePathResolver; +import org.apache.jackrabbit.util.ISO9075; import javax.jcr.Node; import javax.jcr.NodeIterator; @@ -26,9 +26,9 @@ import javax.jcr.Session; import javax.jcr.query.Query; import javax.jcr.query.QueryManager; +import java.util.Collections; import java.util.Iterator; import java.util.Set; -import java.util.Collections; /** * Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/NodeResolver.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/NodeResolver.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/NodeResolver.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/NodeResolver.java Tue May 20 00:37:15 2008 @@ -16,10 +16,10 @@ */ package org.apache.jackrabbit.core.security.user; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.apache.jackrabbit.spi.Name; import org.apache.jackrabbit.spi.commons.conversion.NamePathResolver; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import javax.jcr.Node; import javax.jcr.NodeIterator; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/TraversingNodeResolver.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/TraversingNodeResolver.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/TraversingNodeResolver.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/TraversingNodeResolver.java Tue May 20 00:37:15 2008 @@ -28,15 +28,15 @@ import javax.jcr.Node; import javax.jcr.NodeIterator; import javax.jcr.PathNotFoundException; +import javax.jcr.Property; import javax.jcr.RepositoryException; import javax.jcr.Session; -import javax.jcr.Property; import javax.jcr.Value; import java.util.Collection; +import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.Set; -import java.util.Collections; import java.util.regex.PatternSyntaxException; /** Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserAccessControlProvider.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserAccessControlProvider.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserAccessControlProvider.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserAccessControlProvider.java Tue May 20 00:37:15 2008 @@ -16,11 +16,11 @@ */ package org.apache.jackrabbit.core.security.user; +import org.apache.jackrabbit.api.security.user.Authorizable; +import org.apache.jackrabbit.api.security.user.UserManager; import org.apache.jackrabbit.core.NodeImpl; import org.apache.jackrabbit.core.SessionImpl; import org.apache.jackrabbit.core.observation.SynchronousEventListener; -import org.apache.jackrabbit.api.security.user.Authorizable; -import org.apache.jackrabbit.api.security.user.UserManager; import org.apache.jackrabbit.core.security.authorization.AbstractAccessControlProvider; import org.apache.jackrabbit.core.security.authorization.AbstractCompiledPermissions; import org.apache.jackrabbit.core.security.authorization.AccessControlProvider; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserImpl.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserImpl.java?rev=658134&r1=658133&r2=658134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserImpl.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserImpl.java Tue May 20 00:37:15 2008 @@ -16,10 +16,10 @@ */ package org.apache.jackrabbit.core.security.user; -import org.apache.jackrabbit.core.NodeImpl; import org.apache.jackrabbit.api.security.user.Authorizable; import org.apache.jackrabbit.api.security.user.Impersonation; import org.apache.jackrabbit.api.security.user.User; +import org.apache.jackrabbit.core.NodeImpl; import org.apache.jackrabbit.core.security.authentication.CryptedSimpleCredentials; import org.apache.jackrabbit.core.security.principal.AdminPrincipal; import org.apache.jackrabbit.util.Text; Added: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/AbstractAccessControlTest.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/AbstractAccessControlTest.java?rev=658134&view=auto ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/AbstractAccessControlTest.java (added) +++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/AbstractAccessControlTest.java Tue May 20 00:37:15 2008 @@ -0,0 +1,107 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.jackrabbit.api.jsr283.security; + +import org.apache.jackrabbit.core.SessionImpl; +import org.apache.jackrabbit.test.AbstractJCRTest; +import org.apache.jackrabbit.test.NotExecutableException; + +import javax.jcr.RepositoryException; +import javax.jcr.Session; +import javax.jcr.UnsupportedRepositoryOperationException; + +/** + * AbstractAccessControlTest... + */ +public abstract class AbstractAccessControlTest extends AbstractJCRTest { + + protected AccessControlManager acMgr; + + protected void setUp() throws Exception { + super.setUp(); + + acMgr = getAccessControlManager(superuser); + } + + protected static AccessControlManager getAccessControlManager(Session s) throws RepositoryException, NotExecutableException { + // TODO: fix (Replace by Session) test as soon as jackrabbit implements 283 + if (!(s instanceof SessionImpl)) { + throw new NotExecutableException(); + } + // TODO: uncomment again. + // checkSupportedOption(Repository.OPTION_SIMPLE_ACCESS_CONTROL_SUPPORTED); + try { + return ((SessionImpl) s).getAccessControlManager(); + } catch (UnsupportedRepositoryOperationException e) { + throw new NotExecutableException(); + } + } + + protected static void checkSupportedOption(Session s, String option) throws NotExecutableException { + if (Boolean.FALSE.toString().equals(s.getRepository().getDescriptor(option))) { + throw new NotExecutableException(); + } + } + + protected void checkCanReadAc(String path) throws RepositoryException, NotExecutableException { + if (!acMgr.hasPrivileges(path, new Privilege[] {getPrivilege(Privilege.READ_ACCESS_CONTROL)})) { + throw new NotExecutableException(); + } + } + + protected void checkCanModifyAc(String path) throws RepositoryException, NotExecutableException { + if (!acMgr.hasPrivileges(path, new Privilege[] {getPrivilege(Privilege.MODIFY_ACCESS_CONTROL)})) { + throw new NotExecutableException(); + } + } + + protected String getPathToNonExistingNode() throws RepositoryException { + String name = "nonexisting"; + String path = name; + int i = 0; + while (testRootNode.hasNode(path)) { + path = name + i; + i++; + } + + path = testRootNode.getPath() + "/" + path; + return path; + } + + protected String getPathToProperty() throws RepositoryException { + String path = testRootNode.getPath() + "/" + jcrPrimaryType; + // TODO: remove cast to SessionImpl again once 283 is released. + if (((SessionImpl) superuser).nodeExists(path)) { + throw new RepositoryException("Path " + path + " should point to property."); + } + return path; + } + + private Privilege getPrivilege(String name) throws NotExecutableException { + try { + Privilege[] supported = acMgr.getSupportedPrivileges(testRootNode.getPath()); + for (int i = 0; i < supported.length; i++) { + if (supported[i].getName().equals(name)) { + return supported[i]; + } + } + throw new NotExecutableException("Unable to retrieve privilege with name "+ name); + } catch (RepositoryException e) { + throw new NotExecutableException("Unable to retrieve privilege with name "+ name); + } + } +} \ No newline at end of file Propchange: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/AbstractAccessControlTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/AbstractAccessControlTest.java ------------------------------------------------------------------------------ svn:keywords = author date id revision url Added: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/AccessControlDiscoveryTest.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/AccessControlDiscoveryTest.java?rev=658134&view=auto ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/AccessControlDiscoveryTest.java (added) +++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/AccessControlDiscoveryTest.java Tue May 20 00:37:15 2008 @@ -0,0 +1,186 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.jackrabbit.api.jsr283.security; + +import org.apache.jackrabbit.test.NotExecutableException; + +import javax.jcr.PathNotFoundException; +import javax.jcr.RepositoryException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * AccessControlDiscoveryTest... + */ +public class AccessControlDiscoveryTest extends AbstractAccessControlTest { + + private Privilege getPrivilege(String name) throws RepositoryException, NotExecutableException { + Privilege[] privileges = acMgr.getSupportedPrivileges(testRootNode.getPath()); + for (int i = 0; i < privileges.length; i++) { + if (name.equals(privileges[i].getName())) { + return privileges[i]; + } + } + throw new NotExecutableException(); + } + + public void testGetSupportedPrivileges() throws RepositoryException { + // retrieving supported privileges: + // Quote from spec: + // "[...] it returns the privileges that the repository supports." + Privilege[] privileges = acMgr.getSupportedPrivileges(testRootNode.getPath()); + + // Quote from spec: + // "A repository must support the following standard privileges." + List names = new ArrayList(privileges.length); + for (int i = 0; i < privileges.length; i++) { + names.add(privileges[i].getName()); + } + + // test if those privileges are present: + String msg = "A repository must support the privilege "; + assertTrue(msg + Privilege.READ, names.contains(Privilege.READ)); + assertTrue(msg + Privilege.ADD_CHILD_NODES, names.contains(Privilege.ADD_CHILD_NODES)); + assertTrue(msg + Privilege.REMOVE_CHILD_NODES, names.contains(Privilege.REMOVE_CHILD_NODES)); + assertTrue(msg + Privilege.MODIFY_PROPERTIES, names.contains(Privilege.MODIFY_PROPERTIES)); + assertTrue(msg + Privilege.READ_ACCESS_CONTROL, names.contains(Privilege.READ_ACCESS_CONTROL)); + assertTrue(msg + Privilege.MODIFY_ACCESS_CONTROL, names.contains(Privilege.MODIFY_ACCESS_CONTROL)); + assertTrue(msg + Privilege.WRITE, names.contains(Privilege.WRITE)); + assertTrue(msg + Privilege.ALL, names.contains(Privilege.ALL)); + } + + public void testAllPrivilegeContainsAll() throws RepositoryException, NotExecutableException { + Privilege[] supported = acMgr.getSupportedPrivileges(testRootNode.getPath()); + + Set allSet = new HashSet(); + Privilege all = getPrivilege(Privilege.ALL); + allSet.addAll(Arrays.asList(all.getAggregatePrivileges())); + + String msg = "The all privilege must also contain "; + for (int i=0; i < supported.length; i++) { + Privilege sp = supported[i]; + if (sp.isAggregate()) { + Collection col = Arrays.asList(sp.getAggregatePrivileges()); + assertTrue(msg + sp.getName(), allSet.containsAll(col)); + } else { + assertTrue(msg + sp.getName(), allSet.contains(sp)); + } + } + } + + public void testAllPrivilege() throws RepositoryException, NotExecutableException { + Privilege all = getPrivilege(Privilege.ALL); + assertFalse("All privilege must be not be abstract.", all.isAbstract()); + assertTrue("All privilege must be an aggregate privilege.", all.isAggregate()); + assertEquals("The name of the all privilege must be " + Privilege.ALL, all.getName(), Privilege.ALL); + } + + public void testWritePrivilege() throws RepositoryException, NotExecutableException { + Privilege w = getPrivilege(Privilege.WRITE); + assertTrue("Write privilege must be an aggregate privilege.", w.isAggregate()); + assertEquals("The name of the write privilege must be " + Privilege.WRITE, w.getName(), Privilege.WRITE); + } + + public void testGetPrivileges() throws RepositoryException { + acMgr.getPrivileges(testRootNode.getPath()); + } + + public void testGetPrivilegesOnNonExistingNode() throws RepositoryException { + String path = getPathToNonExistingNode(); + try { + acMgr.getPrivileges(path); + fail("AccessControlManager.getPrivileges for an invalid absPath must throw PathNotFoundException."); + } catch (PathNotFoundException e) { + // ok + } + } + + public void testGetPrivilegesOnProperty() throws RepositoryException, NotExecutableException { + String path = getPathToProperty(); + try { + acMgr.getPrivileges(path); + fail("AccessControlManager.getPrivileges for a property path must throw PathNotFoundException."); + } catch (PathNotFoundException e) { + // ok + } + } + + public void testHasPrivileges() throws RepositoryException { + Privilege[] privs = acMgr.getPrivileges(testRootNode.getPath()); + assertTrue(acMgr.hasPrivileges(testRootNode.getPath(), privs)); + } + + public void testHasIndividualPrivileges() throws RepositoryException { + Privilege[] privs = acMgr.getPrivileges(testRootNode.getPath()); + + for (int i = 0; i < privs.length; i++) { + Privilege[] single = new Privilege[] {privs[i]}; + assertTrue(acMgr.hasPrivileges(testRootNode.getPath(), single)); + } + } + + public void testNotHasPrivileges() throws RepositoryException, NotExecutableException { + Privilege[] privs = acMgr.getPrivileges(testRootNode.getPath()); + Privilege all = getPrivilege(Privilege.ALL); + + // remove all privileges that are granted. + Set notGranted = new HashSet(Arrays.asList(all.getAggregatePrivileges())); + for (int i = 0; i < privs.length; i++) { + if (privs[i].isAggregate()) { + notGranted.removeAll(Arrays.asList(privs[i].getAggregatePrivileges())); + } else { + notGranted.remove(privs[i]); + } + } + + // make sure that either 'all' are granted or the 'diff' is denied. + if (notGranted.isEmpty()) { + assertTrue(acMgr.hasPrivileges(testRootNode.getPath(), new Privilege[] {all})); + } else { + Privilege[] toTest = (Privilege[]) notGranted.toArray(new Privilege[notGranted.size()]); + assertTrue(!acMgr.hasPrivileges(testRootNode.getPath(), toTest)); + } + } + + public void testHasPrivilegesOnNotExistingNode() throws RepositoryException { + String path = getPathToNonExistingNode(); + try { + acMgr.hasPrivileges(path, new Privilege[0]); + fail("AccessControlManager.hasPrivileges for an invalid absPath must throw PathNotFoundException."); + } catch (PathNotFoundException e) { + // success + } + } + + public void testHasPrivilegesOnProperty() throws RepositoryException, NotExecutableException { + String path = getPathToProperty(); + try { + acMgr.hasPrivileges(path, new Privilege[0]); + fail("AccessControlManager.hasPrivileges for a property path must throw PathNotFoundException."); + } catch (PathNotFoundException e) { + // success + } + } + + public void testHasPrivilegesEmptyArray() throws RepositoryException, NotExecutableException { + assertTrue(acMgr.hasPrivileges(testRootNode.getPath(), new Privilege[0])); + } +} \ No newline at end of file Propchange: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/AccessControlDiscoveryTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/AccessControlDiscoveryTest.java ------------------------------------------------------------------------------ svn:keywords = author date id revision url