This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity.git

commit 9519a4cac9d837d2b5a1d14e876cb680ad260cf4
Author: Mike Müller <[email protected]>
AuthorDate: Sat Sep 13 18:57:41 2014 +0000

    SLING-3929 - Methods ResourceAccessGate#has<opt>Restrictions are not used 
by ResourceAccessSecurity
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1624774 
13f79535-47bb-0310-9956-ffa450edef68
---
 .../impl/ResourceAccessSecurityImpl.java           | 27 +++++++++++++++++-----
 1 file changed, 21 insertions(+), 6 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/resourceaccesssecurity/impl/ResourceAccessSecurityImpl.java
 
b/src/main/java/org/apache/sling/resourceaccesssecurity/impl/ResourceAccessSecurityImpl.java
index 53adb79..4504cc1 100644
--- 
a/src/main/java/org/apache/sling/resourceaccesssecurity/impl/ResourceAccessSecurityImpl.java
+++ 
b/src/main/java/org/apache/sling/resourceaccesssecurity/impl/ResourceAccessSecurityImpl.java
@@ -119,7 +119,10 @@ public abstract class ResourceAccessSecurityImpl 
implements ResourceAccessSecuri
                 noGateMatched = false;
                 final ResourceAccessGateHandler resourceAccessGateHandler  = 
accessGateHandlers.next();
 
-                final GateResult gateResult = 
resourceAccessGateHandler.getResourceAccessGate().canRead(resource);
+                final GateResult gateResult = !resourceAccessGateHandler
+                        
.getResourceAccessGate().hasReadRestrictions(resource.getResourceResolver()) ? 
GateResult.GRANTED
+                        : resourceAccessGateHandler.getResourceAccessGate()
+                                .canRead(resource);
                 if (!canReadAllValues && gateResult == GateResult.GRANTED) {
                     if 
(resourceAccessGateHandler.getResourceAccessGate().canReadAllValues(resource)) {
                         canReadAllValues = true;
@@ -136,7 +139,7 @@ public abstract class ResourceAccessSecurityImpl implements 
ResourceAccessSecuri
                 } else if (finalGateResult != GateResult.GRANTED && gateResult 
!= GateResult.CANT_DECIDE) {
                     finalGateResult = gateResult;
                 }
-                // stop checking if the operation is final and the result not 
GateResult.DONTCARE
+                // stop checking if the operation is final and the result not 
GateResult.CANT_DECIDE
                 if (gateResult != GateResult.CANT_DECIDE  && 
resourceAccessGateHandler.isFinalOperation(ResourceAccessGate.Operation.READ)) {
                     break;
                 }
@@ -182,7 +185,10 @@ public abstract class ResourceAccessSecurityImpl 
implements ResourceAccessSecuri
                 noGateMatched = false;
                 final ResourceAccessGateHandler resourceAccessGateHandler  = 
handlers.next();
 
-                final GateResult gateResult = 
resourceAccessGateHandler.getResourceAccessGate().canCreate(path, resolver);
+                final GateResult gateResult = !resourceAccessGateHandler
+                        
.getResourceAccessGate().hasCreateRestrictions(resolver) ? GateResult.GRANTED
+                        : resourceAccessGateHandler.getResourceAccessGate()
+                                .canCreate(path, resolver);
                 if (finalGateResult == null) {
                     finalGateResult = gateResult;
                 } else if (finalGateResult != GateResult.GRANTED && gateResult 
!= GateResult.CANT_DECIDE) {
@@ -219,7 +225,10 @@ public abstract class ResourceAccessSecurityImpl 
implements ResourceAccessSecuri
                 noGateMatched = false;
                 final ResourceAccessGateHandler resourceAccessGateHandler  = 
handlers.next();
 
-                final GateResult gateResult = 
resourceAccessGateHandler.getResourceAccessGate().canUpdate(resource);
+                final GateResult gateResult = !resourceAccessGateHandler
+                        
.getResourceAccessGate().hasUpdateRestrictions(resource.getResourceResolver()) 
? GateResult.GRANTED
+                        : resourceAccessGateHandler.getResourceAccessGate()
+                                .canUpdate(resource);
                 if (finalGateResult == null) {
                     finalGateResult = gateResult;
                 } else if (finalGateResult != GateResult.GRANTED && gateResult 
!= GateResult.CANT_DECIDE) {
@@ -256,7 +265,10 @@ public abstract class ResourceAccessSecurityImpl 
implements ResourceAccessSecuri
                 noGateMatched = false;
                 final ResourceAccessGateHandler resourceAccessGateHandler  = 
handlers.next();
 
-                final GateResult gateResult = 
resourceAccessGateHandler.getResourceAccessGate().canDelete(resource);
+                final GateResult gateResult = !resourceAccessGateHandler
+                        
.getResourceAccessGate().hasDeleteRestrictions(resource.getResourceResolver()) 
? GateResult.GRANTED
+                        : resourceAccessGateHandler.getResourceAccessGate()
+                                .canDelete(resource);
                 if (finalGateResult == null) {
                     finalGateResult = gateResult;
                 } else if (finalGateResult != GateResult.GRANTED && gateResult 
!= GateResult.CANT_DECIDE) {
@@ -293,7 +305,10 @@ public abstract class ResourceAccessSecurityImpl 
implements ResourceAccessSecuri
                 noGateMatched = false;
                 final ResourceAccessGateHandler resourceAccessGateHandler  = 
handlers.next();
 
-                final GateResult gateResult = 
resourceAccessGateHandler.getResourceAccessGate().canExecute(resource);
+                final GateResult gateResult = !resourceAccessGateHandler
+                        
.getResourceAccessGate().hasExecuteRestrictions(resource.getResourceResolver()) 
? GateResult.GRANTED
+                        : resourceAccessGateHandler.getResourceAccessGate()
+                                .canExecute(resource);
                 if (finalGateResult == null) {
                     finalGateResult = gateResult;
                 } else if (finalGateResult != GateResult.GRANTED && gateResult 
!= GateResult.CANT_DECIDE) {

-- 
To stop receiving notification emails like this one, please contact
"[email protected]" <[email protected]>.

Reply via email to