Author: angela
Date: Fri Feb  5 09:34:40 2016
New Revision: 1728622

URL: http://svn.apache.org/viewvc?rev=1728622&view=rev
Log:
OAK-1268 : Add support for composite authorization setup (consistent param 
naming)

Modified:
    
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPermissionProvider.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionProviderImpl.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/AggregatedPermissionProvider.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/AbstractAggrProvider.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeProviderCoverageTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/LimitedScopeProvider.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/NoScopeProvider.java
    
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/CompositeAuthorizationTest.java

Modified: 
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPermissionProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPermissionProvider.java?rev=1728622&r1=1728621&r2=1728622&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPermissionProvider.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPermissionProvider.java
 Fri Feb  5 09:34:40 2016
@@ -229,7 +229,7 @@ class CugPermissionProvider implements A
     }
 
     @Override
-    public long supportedPermissions(@Nonnull TreePermission treePermission, 
@Nullable PropertyState propertyState, long permissions) {
+    public long supportedPermissions(@Nonnull TreePermission treePermission, 
@Nullable PropertyState property, long permissions) {
         long supported = permissions & Permissions.READ;
         if (supported != Permissions.NO_PERMISSION && (treePermission 
instanceof CugTreePermission) && ((CugTreePermission) 
treePermission).isInCug()) {
             return supported;

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionProviderImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionProviderImpl.java?rev=1728622&r1=1728621&r2=1728622&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionProviderImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionProviderImpl.java
 Fri Feb  5 09:34:40 2016
@@ -133,7 +133,7 @@ public class PermissionProviderImpl impl
     }
 
     @Override
-    public long supportedPermissions(@Nonnull TreePermission treePermission, 
@Nullable PropertyState propertyState, long permissions) {
+    public long supportedPermissions(@Nonnull TreePermission treePermission, 
@Nullable PropertyState property, long permissions) {
         return permissions;
     }
 

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/AggregatedPermissionProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/AggregatedPermissionProvider.java?rev=1728622&r1=1728621&r2=1728622&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/AggregatedPermissionProvider.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/AggregatedPermissionProvider.java
 Fri Feb  5 09:34:40 2016
@@ -28,14 +28,12 @@ import org.apache.jackrabbit.oak.spi.sec
 /**
  * Extension of the {@link PermissionProvider} interface that allows it to be
  * used in combination with other provider implementations.
- *
- * TODO This is work in progress (OAK-1268)
  */
 public interface AggregatedPermissionProvider extends PermissionProvider {
 
     /**
      * Allows to determined the set or subset of privileges evaluated by the
-     * implementing permission provider at the specified path or at the 
repository
+     * implementing permission provider for the specified tree or at the 
repository
      * level in case the specified {@code tree} is {@code null}.
      *
      * If the given {@code privilegeBits} is {@code null} an implementation 
returns
@@ -52,17 +50,66 @@ public interface AggregatedPermissionPro
      * for repository level privileges.
      * @param privilegeBits The privilege(s) to be tested or {@code null}
      * @return The set of privileges or the subset of the given {@code 
privilegeBits}
-     * that are supported and evaluated by the the implementation at the given 
{@code tree}
+     * that are supported and evaluated by the implementation at the given 
{@code tree}
      * represented as {@code PrivilegeBits}.
      */
     @Nonnull
     PrivilegeBits supportedPrivileges(@Nullable Tree tree, @Nullable 
PrivilegeBits privilegeBits);
 
+    /**
+     * Allows to determined the set or subset of permissions evaluated by the
+     * implementing permission provider for the specified item (identified by
+     * {@code tree} and optionally {@code property}) or at the repository level
+     * in case the specified {@code tree} is {@code null}.
+     *
+     * Returning {@link Permissions#NO_PERMISSION} indicates that this 
implementation
+     * is not in charge of evaluating the specified permissions for the
+     * specified item and thus will be ignored while computing the composite
+     * result of {@link PermissionProvider#isGranted(Tree, PropertyState, 
long)}.
+     *
+     * @param tree The tree for which the permissions will be evaluated or 
{@code null}
+     * for repository level privileges.
+     * @param property The target property or {@code null}.
+     * @param permissions The permisisons to be tested
+     * @return The subset of the given {@code permissions} that are supported 
and
+     * evaluated by the implementation for the given item.
+     */
     long supportedPermissions(@Nullable Tree tree, @Nullable PropertyState 
property, long permissions);
 
+    /**
+     * Allows to determined the set or subset of permissions evaluated by the
+     * implementing permission provider for the specified location.
+     *
+     * Returning {@link Permissions#NO_PERMISSION} indicates that this 
implementation
+     * is not in charge of evaluating the specified permissions for the
+     * specified location and thus will be ignored while computing the 
composite
+     * result of {@link PermissionProvider#isGranted(String, String)} and
+     * {@link AggregatedPermissionProvider#isGranted(TreeLocation, long)}.
+     *
+     * @param location The tree location for which the permissions will be 
evaluated.
+     * @param permissions The permisisons to be tested
+     * @return The subset of the given {@code permissions} that are supported 
and
+     * evaluated by the implementation for the given location.
+     */
     long supportedPermissions(@Nonnull TreeLocation location, long 
permissions);
 
-    long supportedPermissions(@Nonnull TreePermission treePermission, 
@Nullable PropertyState propertyState, long permissions);
+    /**
+     * Allows to determined the set or subset of permissions evaluated by the
+     * implementing permission provider for the specified tree permission (plus
+     * optionally {@code property}).
+     *
+     * Returning {@link Permissions#NO_PERMISSION} indicates that this 
implementation
+     * is not in charge of evaluating the specified permissions for the
+     * specified tree permission and thus will be ignored while computing the 
composite
+     * result of {@link TreePermission#isGranted(long, PropertyState)} and 
{@link TreePermission#isGranted(long)}.
+     *
+     * @param treePermission The target tree permission.
+     * @param property The target property or {@code null}.
+     * @param permissions The permisisons to be tested
+     * @return The subset of the given {@code permissions} that are supported 
and
+     * evaluated by the implementation for the given tree permissions.
+     */
+    long supportedPermissions(@Nonnull TreePermission treePermission, 
@Nullable PropertyState property, long permissions);
 
     /**
      * Test if the specified permissions are granted for the set of {@code 
Principal}s

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/AbstractAggrProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/AbstractAggrProvider.java?rev=1728622&r1=1728621&r2=1728622&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/AbstractAggrProvider.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/AbstractAggrProvider.java
 Fri Feb  5 09:34:40 2016
@@ -66,7 +66,7 @@ abstract class AbstractAggrProvider impl
     }
 
     @Override
-    public long supportedPermissions(@Nonnull TreePermission treePermission, 
@Nullable PropertyState propertyState, long permissions) {
+    public long supportedPermissions(@Nonnull TreePermission treePermission, 
@Nullable PropertyState property, long permissions) {
         return permissions;
     }
 

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeProviderCoverageTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeProviderCoverageTest.java?rev=1728622&r1=1728621&r2=1728622&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeProviderCoverageTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeProviderCoverageTest.java
 Fri Feb  5 09:34:40 2016
@@ -287,7 +287,7 @@ public class CompositeProviderCoverageTe
         }
 
         @Override
-        public long supportedPermissions(@Nonnull TreePermission 
treePermission, @Nullable PropertyState propertyState, long permissions) {
+        public long supportedPermissions(@Nonnull TreePermission 
treePermission, @Nullable PropertyState property, long permissions) {
             return permissions & Permissions.READ_NODE;
         }
 

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/LimitedScopeProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/LimitedScopeProvider.java?rev=1728622&r1=1728621&r2=1728622&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/LimitedScopeProvider.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/LimitedScopeProvider.java
 Fri Feb  5 09:34:40 2016
@@ -190,7 +190,7 @@ class LimitedScopeProvider extends Abstr
     }
 
     @Override
-    public long supportedPermissions(@Nonnull TreePermission treePermission, 
@Nullable PropertyState propertyState, long permissions) {
+    public long supportedPermissions(@Nonnull TreePermission treePermission, 
@Nullable PropertyState property, long permissions) {
         if (treePermission instanceof TestTreePermission && 
isSupported(((TestTreePermission) treePermission).path)) {
             return permissions & Permissions.WRITE;
         } else {

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/NoScopeProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/NoScopeProvider.java?rev=1728622&r1=1728621&r2=1728622&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/NoScopeProvider.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/NoScopeProvider.java
 Fri Feb  5 09:34:40 2016
@@ -56,7 +56,7 @@ final class NoScopeProvider extends Abst
     }
 
     @Override
-    public long supportedPermissions(@Nonnull TreePermission treePermission, 
@Nullable PropertyState propertyState, long permissions) {
+    public long supportedPermissions(@Nonnull TreePermission treePermission, 
@Nullable PropertyState property, long permissions) {
         return Permissions.NO_PERMISSION;
     }
 

Modified: 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/CompositeAuthorizationTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/CompositeAuthorizationTest.java?rev=1728622&r1=1728621&r2=1728622&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/CompositeAuthorizationTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/CompositeAuthorizationTest.java
 Fri Feb  5 09:34:40 2016
@@ -257,7 +257,7 @@ public class CompositeAuthorizationTest
         }
 
         @Override
-        public long supportedPermissions(@Nonnull TreePermission 
treePermission, @Nullable PropertyState propertyState, long permissions) {
+        public long supportedPermissions(@Nonnull TreePermission 
treePermission, @Nullable PropertyState property, long permissions) {
             return permissions;
         }
 


Reply via email to