You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/10/18 23:21:46 UTC

[sling-org-apache-sling-resourceaccesssecurity-it] branch master created (now c510d3a)

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

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


      at c510d3a  SLING-7167 Adjust READMEs

This branch includes the following new commits:

     new da12c80  SLING-3435 - ResourceAccessSecurity does not secure access for update operations
     new ffca327  SLING-3435 - ResourceAccessSecurity does not secure access for update operations, addition
     new bf5fceb  SLING-3458 - Restrictions imposed by ProviderResourceAccessSecurity should not be discarded by ApplicationResourceAccessSecurity, SLING-3462 - Make ResourceAccessSecurity provider context and application context behave the same way
     new 8528a33  Use latest snapshot
     new 9e2d592  Use released Sling API 2.7.0
     new eb9748a  Update to parent pom v19
     new e989da1  Update .gitignore files
     new 8baa6eb  Clean up usage of SCR annotations
     new 71e4ae2  Updated to parent version 20
     new bff32f8  SLING-3919 - Update versions for integration tests
     new ac2f202  SLING-3930 - Service rankings from ResourceAccessGates are not properly handled
     new 7279cc9  Update to Sling Parent POM 22 with baselining enabled
     new 5a6ab8f  Use released version of the launchpad in ITs
     new 254c192  Correct snapshot versions for ras tests
     new 02b65ad  Add missing licence headers and excludes for rat
     new 8ded38c  SLING-4698 - Set parent.relativePath to empty for all modules
     new dabe9c2  Update to Sling Parent 23
     new a37ba55  SLING-4828 - Tests failing if "test.server.url" is not null but blank
     new 95f3a21  set parent version to 24 and add empty relativePath where missing
     new dce5072  Update the main reactor to parent 25
     new 46de19f  Switch to parent pom 26
     new a22ed57  update to release version 1.0.12 of org.apache.sling.testing.tools
     new 82f449a  Remove a dependency on commons.json that is not needed anymore.
     new c510d3a  SLING-7167 Adjust READMEs

The 24 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


-- 
To stop receiving notification emails like this one, please contact
['"commits@sling.apache.org" <co...@sling.apache.org>'].

[sling-org-apache-sling-resourceaccesssecurity-it] 05/24: Use released Sling API 2.7.0

Posted by ro...@apache.org.
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-it.git

commit 9e2d59298ad623545d53ca70293ab76acf399dae
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Mon Mar 24 13:17:39 2014 +0000

    Use released Sling API 2.7.0
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1580834 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index c1262ba..5d28aea 100644
--- a/pom.xml
+++ b/pom.xml
@@ -326,7 +326,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.api</artifactId>
-            <version>2.7.1-SNAPSHOT</version>
+            <version>2.7.0</version>
         </dependency>
         <dependency>
             <groupId>javax.servlet</groupId>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 08/24: Clean up usage of SCR annotations

Posted by ro...@apache.org.
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-it.git

commit 8baa6eb2275a53be011358564ed91c357fbb922b
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Tue Jul 29 12:48:12 2014 +0000

    Clean up usage of SCR annotations
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1614328 13f79535-47bb-0310-9956-ffa450edef68
---
 .../resourceaccesssecurity/it/impl/gates/ApplicationGate1.java      | 4 ++--
 .../resourceaccesssecurity/it/impl/gates/ApplicationGate2.java      | 4 ++--
 .../it/impl/gates/ApplicationGateDefault.java                       | 4 ++--
 .../resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java | 4 ++--
 .../resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java | 4 ++--
 .../resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java    | 6 +++---
 .../resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java    | 6 +++---
 .../sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java   | 4 ++--
 .../sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java   | 4 ++--
 9 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java
index 766875f..c90a332 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java
@@ -35,8 +35,8 @@ import java.util.Map;
 @Properties({
         @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*", 
                 description="The path is a regular expression for which resources the service should be called"),
-        @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
-        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
+        @Property(name=ResourceAccessGate.OPERATIONS, value="read,update"),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT)
 })
 public class ApplicationGate1 extends AResourceAccessGate implements ResourceAccessGate {
 
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java
index 899e585..b428565 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java
@@ -35,8 +35,8 @@ import java.util.Map;
 @Properties({
         @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*", 
                 description="The path is a regular expression for which resources the service should be called"),
-        @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
-        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
+        @Property(name=ResourceAccessGate.OPERATIONS, value="read,update"),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT)
 })
 public class ApplicationGate2 extends AResourceAccessGate implements ResourceAccessGate {
 
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGateDefault.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGateDefault.java
index 51fdd83..6f7be62 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGateDefault.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGateDefault.java
@@ -36,8 +36,8 @@ import java.util.Map;
 @Properties({
         @Property(name=ResourceAccessGate.PATH, label="Path", value="^((?!(/test/secured-provider/read|/test/unsecured-provider/read)).*|/test/(un|)secured-provider/read(-update|)/prov/.*)", 
                 description="The path is a regular expression for which resources the service should be called"),
-        @Property(name=ResourceAccessGate.OPERATIONS, value="", propertyPrivate=true),
-        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
+        @Property(name=ResourceAccessGate.OPERATIONS, value=""),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT)
 })
 public class ApplicationGateDefault extends AllowingResourceAccessGate implements ResourceAccessGate {
 
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
index c31eba2..81e2616 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
@@ -35,8 +35,8 @@ import java.util.Map;
 @Properties({
         @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*", 
                 description="The path is a regular expression for which resources the service should be called"),
-        @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
-        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
+        @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update"),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT)
 })
 public class FinalApplicationGate1 extends AResourceAccessGate implements ResourceAccessGate {
 
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java
index 05f6646..caf41ac 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java
@@ -35,8 +35,8 @@ import java.util.Map;
 @Properties({
         @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*", 
                 description="The path is a regular expression for which resources the service should be called"),
-        @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
-        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
+        @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update"),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT)
 })
 public class FinalApplicationGate2 extends AResourceAccessGate implements ResourceAccessGate {
 
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java
index 34f1b28..00785aa 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java
@@ -36,9 +36,9 @@ import java.util.Map;
 @Properties({
         @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(prov|mixed)/.*", 
                 description="The path is a regular expression for which resources the service should be called"),
-        @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
-        @Property(name = Constants.SERVICE_RANKING, intValue = 10, propertyPrivate = false),
-        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
+        @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update"),
+        @Property(name = Constants.SERVICE_RANKING, intValue = 10),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT)
 })
 public class FinalProviderGate1 extends AResourceAccessGate implements ResourceAccessGate {
 
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java
index d6653a7..156efb1 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java
@@ -36,9 +36,9 @@ import java.util.Map;
 @Properties({
         @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(prov|mixed)/.*", 
                 description="The path is a regular expression for which resources the service should be called"),
-        @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
-        @Property(name = Constants.SERVICE_RANKING, intValue = 5, propertyPrivate = false),
-        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
+        @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update"),
+        @Property(name = Constants.SERVICE_RANKING, intValue = 5),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT)
 })
 public class FinalProviderGate2 extends AResourceAccessGate implements ResourceAccessGate {
 
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java
index 10e2a13..3befff6 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java
@@ -29,8 +29,8 @@ import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
 @Properties({
         @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(prov|mixed)/.*", 
                 description="The path is a regular expression for which resources the service should be called"),
-        @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
-        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
+        @Property(name=ResourceAccessGate.OPERATIONS, value="read,update"),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT)
 })
 public class ProviderGate1 extends AResourceAccessGate implements ResourceAccessGate {
 
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java
index a397bd2..9e9dae5 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java
@@ -35,8 +35,8 @@ import java.util.Map;
 @Properties({
         @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(prov|mixed)/.*", 
                 description="The path is a regular expression for which resources the service should be called"),
-        @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
-        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
+        @Property(name=ResourceAccessGate.OPERATIONS, value="read,update"),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT)
 })
 public class ProviderGate2 extends AResourceAccessGate implements ResourceAccessGate {
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 21/24: Switch to parent pom 26

Posted by ro...@apache.org.
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-it.git

commit 46de19f813ce46473e1962c0d115751446efd383
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Sun Jan 3 14:07:46 2016 +0000

    Switch to parent pom 26
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1722720 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 2c0fd38..f394dde 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling</artifactId>
-        <version>25</version>
+        <version>26</version>
         <relativePath/>
     </parent>
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 04/24: Use latest snapshot

Posted by ro...@apache.org.
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-it.git

commit 8528a333e9e0c99e8c15926401ed36abc79848d5
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Wed Mar 19 23:57:19 2014 +0000

    Use latest snapshot
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1579469 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index ed5a5cc..c1262ba 100644
--- a/pom.xml
+++ b/pom.xml
@@ -326,7 +326,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.api</artifactId>
-            <version>2.6.1-SNAPSHOT</version>
+            <version>2.7.1-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>javax.servlet</groupId>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 13/24: Use released version of the launchpad in ITs

Posted by ro...@apache.org.
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-it.git

commit 5a6ab8f5c83ad4b0b9031ef0f0f7f58de1efb5ed
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Mon Nov 3 21:23:07 2014 +0000

    Use released version of the launchpad in ITs
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1636447 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 18bce5d..dab8dc5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -295,7 +295,7 @@
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.launchpad</artifactId>
             <classifier>standalone</classifier>
-            <version>7-SNAPSHOT</version>
+            <version>7</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 07/24: Update .gitignore files

Posted by ro...@apache.org.
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-it.git

commit e989da1aa640451c5d8e170d0a1a095147d27415
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Fri May 2 09:38:33 2014 +0000

    Update .gitignore files
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1591844 13f79535-47bb-0310-9956-ffa450edef68
---
 .gitignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..2bc7989
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/sling

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 22/24: update to release version 1.0.12 of org.apache.sling.testing.tools

Posted by ro...@apache.org.
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-it.git

commit a22ed5783765462a81d13718e6c884887830f37b
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Mon Feb 1 21:13:26 2016 +0000

    update to release version 1.0.12 of org.apache.sling.testing.tools
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1728007 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index f394dde..01b8192 100644
--- a/pom.xml
+++ b/pom.xml
@@ -277,7 +277,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.tools</artifactId>
-            <version>1.0.11-SNAPSHOT</version>
+            <version>1.0.12</version>
             <scope>provided</scope>
         </dependency>
         

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 16/24: SLING-4698 - Set parent.relativePath to empty for all modules

Posted by ro...@apache.org.
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-it.git

commit 8ded38c4550d61897f9b1e20013f4e50b90b1847
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Thu May 7 10:14:40 2015 +0000

    SLING-4698 - Set parent.relativePath to empty for all modules
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1678154 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index a349428..5a39d45 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
         <groupId>org.apache.sling</groupId>
         <artifactId>sling</artifactId>
         <version>22</version>
-        <relativePath>../../../parent/pom.xml</relativePath>
+        <relativePath/>
     </parent>
 
     <artifactId>org.apache.sling.resourceaccesssecurity.it</artifactId>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 18/24: SLING-4828 - Tests failing if "test.server.url" is not null but blank

Posted by ro...@apache.org.
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-it.git

commit a37ba55a69798a59cb2db3122c79144de0d16fbf
Author: Julian Sedding <js...@apache.org>
AuthorDate: Fri Jun 26 16:49:17 2015 +0000

    SLING-4828 - Tests failing if "test.server.url" is not null but blank
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1687810 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 41bba20..a88f830 100644
--- a/pom.xml
+++ b/pom.xml
@@ -277,7 +277,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.tools</artifactId>
-            <version>1.0.8</version>
+            <version>1.0.11-SNAPSHOT</version>
             <scope>provided</scope>
         </dependency>
         

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 20/24: Update the main reactor to parent 25

Posted by ro...@apache.org.
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-it.git

commit dce50723e6cf127b482514c0806623df58a9b01d
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Mon Oct 5 10:03:45 2015 +0000

    Update the main reactor to parent 25
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1706780 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 8a9b3a7..2c0fd38 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling</artifactId>
-        <version>24</version>
+        <version>25</version>
         <relativePath/>
     </parent>
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 14/24: Correct snapshot versions for ras tests

Posted by ro...@apache.org.
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-it.git

commit 254c192b346f3ec06b61076ff1ec3b557988f3cd
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Fri Apr 10 11:50:20 2015 +0000

    Correct snapshot versions for ras tests
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1672618 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pom.xml b/pom.xml
index dab8dc5..ab17b49 100644
--- a/pom.xml
+++ b/pom.xml
@@ -267,7 +267,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.tools</artifactId>
-            <version>1.0.7-SNAPSHOT</version>
+            <version>1.0.8</version>
             <scope>provided</scope>
         </dependency>
         
@@ -351,7 +351,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.resourceaccesssecurity</artifactId>
-            <version>0.0.1-SNAPSHOT</version>
+            <version>1.0.1-SNAPSHOT</version>
         </dependency>
 
     </dependencies>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 12/24: Update to Sling Parent POM 22 with baselining enabled

Posted by ro...@apache.org.
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-it.git

commit 7279cc9d0a1a1eb8992407e30432fcfa6e0fcb17
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Wed Oct 1 06:57:44 2014 +0000

    Update to Sling Parent POM 22 with baselining enabled
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1628622 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 9ef608b..18bce5d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling</artifactId>
-        <version>20</version>
+        <version>22</version>
         <relativePath>../../../parent/pom.xml</relativePath>
     </parent>
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 15/24: Add missing licence headers and excludes for rat

Posted by ro...@apache.org.
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-it.git

commit 02b65adea85ec158e59cc3592cfc3189032b3e40
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Mon Apr 27 15:13:49 2015 +0000

    Add missing licence headers and excludes for rat
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1676295 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml                                                  | 10 ++++++++++
 .../it/impl/gates/ApplicationGate1Ranking100.java        | 16 ++++++++++++++++
 .../it/impl/gates/ApplicationGate1Ranking1000.java       | 16 ++++++++++++++++
 .../it/impl/gates/FinalAppGate1Ranking100.java           | 16 ++++++++++++++++
 .../it/impl/gates/FinalAppGate1Ranking1000.java          | 16 ++++++++++++++++
 .../unsecured/UnsecuredReadAndUpdateProvider.java        | 16 ++++++++++++++++
 .../impl/providers/unsecured/UnsecuredReadProvider.java  | 16 ++++++++++++++++
 7 files changed, 106 insertions(+)

diff --git a/pom.xml b/pom.xml
index ab17b49..a349428 100644
--- a/pom.xml
+++ b/pom.xml
@@ -119,6 +119,16 @@
                     </instructions>
                 </configuration>
             </plugin>
+           <plugin>
+                <groupId>org.apache.rat</groupId>
+                <artifactId>apache-rat-plugin</artifactId>
+                <configuration>
+                    <excludes>
+                        <exclude>sling/**</exclude>
+                        <exclude>derby.log</exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-javadoc-plugin</artifactId>
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking100.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking100.java
index f3648a1..1468557 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking100.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking100.java
@@ -1,3 +1,19 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.gates;
 
 import org.apache.felix.scr.annotations.Component;
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking1000.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking1000.java
index 0989f95..0f5303d 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking1000.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking1000.java
@@ -1,3 +1,19 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.gates;
 
 import org.apache.felix.scr.annotations.Component;
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking100.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking100.java
index ae7f5d2..9a18787 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking100.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking100.java
@@ -1,3 +1,19 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.gates;
 
 import org.apache.felix.scr.annotations.Component;
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking1000.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking1000.java
index 670cec9..7a3638c 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking1000.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking1000.java
@@ -1,3 +1,19 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.gates;
 
 import org.apache.felix.scr.annotations.Component;
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java
index e477f47..63c1c67 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java
@@ -1,3 +1,19 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.providers.unsecured;
 
 
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java
index 579f85d..fd50ccc 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java
@@ -1,3 +1,19 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.providers.unsecured;
 
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 01/24: SLING-3435 - ResourceAccessSecurity does not secure access for update operations

Posted by ro...@apache.org.
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-it.git

commit da12c80697986ebc4a0f5daf607177b3867e8515
Author: Mike Müller <my...@apache.org>
AuthorDate: Sun Mar 16 19:17:41 2014 +0000

    SLING-3435 - ResourceAccessSecurity does not secure access for update operations
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1578141 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml                                            | 359 +++++++++++++++++++++
 .../sling/resourceaccesssecurity/it/impl/Init.java |  68 ++++
 .../it/impl/gates/AResourceAccessGate.java         |  89 +++++
 .../it/impl/gates/ApplicationGate1.java            |  50 +++
 .../it/impl/gates/ApplicationGate2.java            |  50 +++
 .../it/impl/gates/FinalApplicationGate1.java       |  50 +++
 .../it/impl/gates/FinalApplicationGate2.java       |  50 +++
 .../it/impl/gates/FinalProviderGate1.java          |  52 +++
 .../it/impl/gates/FinalProviderGate2.java          |  52 +++
 .../it/impl/gates/ProviderGate1.java               |  44 +++
 .../it/impl/gates/ProviderGate2.java               |  50 +++
 .../SimpleModifiableResourceProvider.java          |  72 +++++
 .../it/impl/providers/SimpleResourceProvider.java  |  67 ++++
 .../SecuredReadAndUpdateResourceProvider.java      |  47 +++
 .../secured/SecuredReadResourceProvider.java       |  37 +++
 .../unsecured/UnsecuredReadAndUpdateProvider.java  |  19 ++
 .../providers/unsecured/UnsecuredReadProvider.java |  18 ++
 .../it/ResourceAccessSecurityTestBase.java         |  98 ++++++
 .../SecuredProviderResourceAccessSecurityTest.java | 110 +++++++
 ...nsecuredProviderResourceAccessSecurityTest.java |  47 +++
 20 files changed, 1429 insertions(+)

diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..df72294
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,359 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.sling</groupId>
+        <artifactId>sling</artifactId>
+        <version>18</version>
+        <relativePath>../../../parent/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>org.apache.sling.resourceaccesssecurity.it</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <packaging>bundle</packaging>
+
+    <name>Apache Resource Access Security Integration Tests</name>
+    <description>
+        Project hat tests functionality for org.apache.sling.resourceaccesssecurity and org.apache.sling.jcr.resourcesecurity bundles.
+    </description>
+    
+    <!-- 
+        To keep the instance under test running and run individual tests
+        against it, use:
+        
+            mvn clean verify -DkeepJarRunning=true -Dhttp.port=8080
+            
+        optionally using jar.executor.vm.options to enable remote debugging,
+        and in another console:
+        
+            mvn -o verify -Dtests.to.run=**/**Test.java -Dtest.server.url=http://localhost:8080
+            
+        optionally using -Dmaven.surefire.debug to enable debugging.            
+     -->
+    <properties>
+        <!-- Set this to run the server on a specific port
+        <http.port></http.port>
+         -->
+         
+        <!-- Set this to run tests against an existing server instance -->
+        <keepJarRunning>false</keepJarRunning>
+        
+        <!-- URL of a server against which to run tests -->
+        <!-- <test.server.url>http://localhost:8080</test.server.url> -->
+        <test.server.url />
+        
+         <!-- Set this to run tests against a specific hostname, if test.server.url is not set-->
+         <test.server.hostname />
+
+        <!-- Set this to use a different username for remote execution of sling junit tests -->
+        <test.server.username />
+
+        <!-- Set this to use a different password for remote execution of sling junit tests -->
+        <test.server.password />
+        
+        <!-- Options for the VM that executes our runnable jar -->
+        <!--<jar.executor.vm.options>-Xmx512m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -Xnoagent -Djava.compiler=NONE</jar.executor.vm.options>  -->
+         <jar.executor.vm.options>-Xmx512m</jar.executor.vm.options> 
+        
+        <!-- Change this to use longer or shorter timeouts for testing -->
+        <sling.testing.timeout.multiplier>1.0</sling.testing.timeout.multiplier>
+        
+        <!-- Set this to run the executable jar in a specified filesystem folder -->
+        <jar.executor.work.folder />
+        
+        <!-- Options for the jar to execute. $JAREXEC_SERVER_PORT$ is replaced by the
+            selected port number -->
+        <jar.executor.jar.options>-p $JAREXEC_SERVER_PORT$</jar.executor.jar.options>
+        
+        <!-- Change this to run selected tests only -->
+        <tests.to.run>**/**Test.java</tests.to.run>
+    </properties>
+    
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/sling/trunk/testing/samples/integration-tests</connection>
+        <developerConnection> scm:svn:https://svn.apache.org/repos/asf/sling/trunk/testing/samples/integration-tests</developerConnection>
+        <url>http://svn.apache.org/viewvc/sling/trunk/testing/samples/integration-tests</url>
+    </scm>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-scr-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.sling</groupId>
+                <artifactId>maven-sling-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-SymbolicName>org.apache.sling.resourceaccesssecurity.it</Bundle-SymbolicName>
+                        <Sling-Initial-Content>SLING-CONTENT/content/test;path:=/content/test;overwrite:=true,
+                            SLING-CONTENT/libs/test;path:=/libs/test;overwrite:=true</Sling-Initial-Content>
+                        <Export-Package>
+                            org.apache.sling.resourceaccesssecurity.it
+                        </Export-Package>
+                    </instructions>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+            </plugin>
+
+           <plugin>
+                <artifactId>maven-clean-plugin</artifactId>
+                <configuration>
+                    <filesets>
+                        <fileset>
+                            <directory>${basedir}</directory>
+                            <includes>
+                                <!-- sling folder is the workdir of the executable jar that we test -->
+                                <include>sling/**</include>
+                            </includes>
+                        </fileset>
+                    </filesets>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>copy-runnable-jar</id>
+                        <goals>
+                            <goal>copy-dependencies</goal>
+                        </goals>
+                            <phase>process-resources</phase>
+                        <configuration>
+                            <includeArtifactIds>org.apache.sling.launchpad</includeArtifactIds>
+                            <excludeTransitive>true</excludeTransitive>
+                            <overWriteReleases>false</overWriteReleases>
+                            <overWriteSnapshots>false</overWriteSnapshots>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <!-- 
+                            Consider all dependencies as candidates to be installed
+                            as additional bundles. We use system properties to define
+                            which bundles to install in which order.  
+                        -->
+                        <id>copy-additional-bundles</id>
+                        <goals>
+                            <goal>copy-dependencies</goal>
+                        </goals>
+                            <phase>process-resources</phase>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/sling/additional-bundles</outputDirectory>
+                            <excludeTransitive>true</excludeTransitive>
+                            <overWriteReleases>false</overWriteReleases>
+                            <overWriteSnapshots>false</overWriteSnapshots>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <!-- Find free ports to run our server -->
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>reserve-server-port</id>
+                        <goals>
+                            <goal>reserve-network-port</goal>
+                        </goals>
+                        <phase>process-resources</phase>
+                        <configuration>
+                            <portNames>
+                                <portName>http.port</portName>
+                            </portNames>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <!-- We run all tests in the integration-tests phase -->
+                    <excludes>
+                        <exclude>**</exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-failsafe-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>integration-test</id>
+                        <goals>
+                            <goal>integration-test</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>verify</id>
+                        <goals>
+                            <goal>verify</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <debugForkedProcess>${maven.surefire.debug}</debugForkedProcess>
+                    <includes>
+                        <include>${tests.to.run}</include>
+                    </includes>
+                    <systemPropertyVariables>
+                        <test.server.url>${test.server.url}</test.server.url>
+                        <test.server.hostname>${test.server.hostname}</test.server.hostname>
+                        <test.server.username>${test.server.username}</test.server.username>
+                        <test.server.password>${test.server.password}</test.server.password>
+                        <server.ready.timeout.seconds>300</server.ready.timeout.seconds>
+                        <jar.executor.server.port>${http.port}</jar.executor.server.port>
+                        <jar.executor.vm.options>${jar.executor.vm.options}</jar.executor.vm.options>
+                        <jar.executor.jar.folder>${project.basedir}/target/dependency</jar.executor.jar.folder>
+                        <jar.executor.jar.name.regexp>org.apache.sling.launchpad.*jar$</jar.executor.jar.name.regexp>
+                        <jar.executor.work.folder>${jar.executor.work.folder}</jar.executor.work.folder>
+                        <jar.executor.jar.options>${jar.executor.jar.options}</jar.executor.jar.options>
+                        <additional.bundles.path>${project.build.directory},${project.build.directory}/sling/additional-bundles</additional.bundles.path>
+                        <keepJarRunning>${keepJarRunning}</keepJarRunning>
+                        <sling.testing.timeout.multiplier>${sling.testing.timeout.multiplier}</sling.testing.timeout.multiplier>
+                        <server.ready.path.1>/:script src="system/sling.js"</server.ready.path.1>
+                        <server.ready.path.2>/.explorer.html:href="/libs/sling/explorer/css/explorer.css"</server.ready.path.2>
+                        <server.ready.path.3>/sling-test/sling/sling-test.html:Sling client library tests</server.ready.path.3>
+                        <start.bundles.timeout.seconds>30</start.bundles.timeout.seconds>
+                        <bundle.install.timeout.seconds>20</bundle.install.timeout.seconds>
+                        
+                        <!-- 
+                            Define additional bundles to install by specifying the beginning of their artifact name.
+                            The bundles are installed in lexical order of these property names.
+                            All bundles must be listed as dependencies in this pom, or they won't be installed. 
+                        -->
+
+                        <sling.additional.bundle.5>org.apache.sling.resourceaccesssecurity-</sling.additional.bundle.5>
+                        <sling.additional.bundle.6>org.apache.sling.jcr.resourcesecurity-</sling.additional.bundle.6>
+                        <sling.additional.bundle.7>${project.build.finalName}.jar</sling.additional.bundle.7>
+                    </systemPropertyVariables>
+                </configuration>
+            </plugin>
+         </plugins>
+    </build>
+
+    <dependencies>
+        <!-- Additional bundles needed by the Sling instance under test -->
+
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.testing.tools</artifactId>
+            <version>1.0.7-SNAPSHOT</version>
+            <scope>provided</scope>
+        </dependency>
+        
+        <!-- sling testing tools bundles requires httpclient -->
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient-osgi</artifactId>
+            <version>4.1.2</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpcore-osgi</artifactId>
+            <version>4.1.2</version>
+            <scope>provided</scope>
+        </dependency>
+        
+        <!-- actual dependencies -->
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.commons.json</artifactId>
+            <version>2.0.6</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.launchpad</artifactId>
+            <classifier>standalone</classifier>
+            <version>7-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>1.5.11</version>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>1.4</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-simple</artifactId>
+            <version>1.5.11</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.8.2</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.api</artifactId>
+            <version>2.6.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>servlet-api</artifactId>
+            <version>2.4</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>jackrabbit-api</artifactId>
+            <version>2.7.2</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>jackrabbit-jcr-commons</artifactId>
+            <version>2.7.2</version>
+        </dependency>
+        <dependency>
+            <groupId>javax.jcr</groupId>
+            <artifactId>jcr</artifactId>
+            <version>2.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.resourceaccesssecurity</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
+
+    </dependencies>
+</project>
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/Init.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/Init.java
new file mode 100644
index 0000000..e8a40b3
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/Init.java
@@ -0,0 +1,68 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl;
+
+import java.security.Principal;
+
+import javax.jcr.Session;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.jackrabbit.api.JackrabbitSession;
+import org.apache.jackrabbit.api.security.user.UserManager;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ResourceResolverFactory;
+import org.apache.sling.api.servlets.SlingAllMethodsServlet;
+
+@Component(metatype = false)
+public class Init extends SlingAllMethodsServlet {
+
+
+    @Reference
+    ResourceResolverFactory resourceResolverFactory;
+
+    @Activate
+    protected void activate() {
+
+
+        try {
+            ResourceResolver resourceResolver = resourceResolverFactory.getAdministrativeResourceResolver(null);
+
+            Session session = resourceResolver.adaptTo(Session.class);
+
+            JackrabbitSession jackrabbitSession = (JackrabbitSession) session;
+
+            UserManager userManager =  jackrabbitSession.getUserManager();
+
+
+            if (userManager.getAuthorizable("testUser") == null) {
+                userManager.createUser("testUser", "password");
+            }
+
+
+            final Principal testUserPrincipal = new Principal() {
+                public String getName() {
+                    return "testUser";
+                }};
+
+        } catch (Exception e) {
+            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+        }
+    }
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/AResourceAccessGate.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/AResourceAccessGate.java
new file mode 100644
index 0000000..075e9fb
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/AResourceAccessGate.java
@@ -0,0 +1,89 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.resourceaccesssecurity.AllowingResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate.GateResult;
+
+import java.util.Map;
+
+public abstract class AResourceAccessGate extends AllowingResourceAccessGate implements ResourceAccessGate {
+
+
+    @Activate
+    protected void activate(final Map<String, Object> props) {
+    }
+    
+    /**
+     * gets the gate id which will be used to distinguish the different implementations
+     * of the gate
+     * @return
+     */
+    protected abstract String getGateId ();
+
+    @Override
+    public GateResult canRead(Resource resource) {
+        GateResult returnValue = GateResult.DONTCARE;
+        
+        if ( resource.getPath().contains( getGateId() + "-denyread") )
+        {
+            returnValue = GateResult.DENIED;
+        }
+        else if ( resource.getPath().contains( getGateId() + "-allowread") )
+        {
+            returnValue = GateResult.GRANTED;
+        }
+        
+        return returnValue;
+    }
+
+    @Override
+    public boolean hasReadRestrictions(ResourceResolver resourceResolver) {
+        return true;
+    }
+    
+    @Override
+    public GateResult canUpdate(Resource resource) {
+        GateResult returnValue = GateResult.DONTCARE;
+        
+        if ( resource.getPath().contains( getGateId() + "-denyupdate") )
+        {
+            returnValue = GateResult.DENIED;
+        }
+        else if ( resource.getPath().contains( getGateId() + "-allowupdate") )
+        {
+            returnValue = GateResult.GRANTED;
+        }
+        
+        return returnValue;
+    }
+
+    @Override
+    public boolean hasUpdateRestrictions(ResourceResolver resourceResolver) {
+        return true;
+    }
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java
new file mode 100644
index 0000000..dc5982f
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java
@@ -0,0 +1,50 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.resourceaccesssecurity.AllowingResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+
+import java.util.Map;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+        @Property(name=ResourceAccessGate.PATH, label="Path",
+                description="The path is a regular expression for which resources the service should be called"),
+        @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
+})
+public class ApplicationGate1 extends AResourceAccessGate implements ResourceAccessGate {
+
+    public static String GATE_ID = "appgate1";
+    
+    @Override
+    protected String getGateId() {
+        return GATE_ID;
+    }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java
new file mode 100644
index 0000000..d927be0
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java
@@ -0,0 +1,50 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.resourceaccesssecurity.AllowingResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+
+import java.util.Map;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+        @Property(name=ResourceAccessGate.PATH, label="Path",
+                description="The path is a regular expression for which resources the service should be called"),
+        @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
+})
+public class ApplicationGate2 extends AResourceAccessGate implements ResourceAccessGate {
+
+    public static String GATE_ID = "appgate2";
+    
+    @Override
+    protected String getGateId() {
+        return GATE_ID;
+    }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
new file mode 100644
index 0000000..47b4c97
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
@@ -0,0 +1,50 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.resourceaccesssecurity.AllowingResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+
+import java.util.Map;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+        @Property(name=ResourceAccessGate.PATH, label="Path",
+                description="The path is a regular expression for which resources the service should be called"),
+        @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
+})
+public class FinalApplicationGate1 extends AResourceAccessGate implements ResourceAccessGate {
+
+    public static String GATE_ID = "finalappgate1";
+    
+    @Override
+    protected String getGateId() {
+        return GATE_ID;
+    }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java
new file mode 100644
index 0000000..7a95703
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java
@@ -0,0 +1,50 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.resourceaccesssecurity.AllowingResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+
+import java.util.Map;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+        @Property(name=ResourceAccessGate.PATH, label="Path",
+                description="The path is a regular expression for which resources the service should be called"),
+        @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
+})
+public class FinalApplicationGate2 extends AResourceAccessGate implements ResourceAccessGate {
+
+    public static String GATE_ID = "finalappgate2";
+    
+    @Override
+    protected String getGateId() {
+        return GATE_ID;
+    }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java
new file mode 100644
index 0000000..445a706
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java
@@ -0,0 +1,52 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.resourceaccesssecurity.AllowingResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+import org.osgi.framework.Constants;
+
+import java.util.Map;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+        @Property(name=ResourceAccessGate.PATH, label="Path",
+                description="The path is a regular expression for which resources the service should be called"),
+        @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
+        @Property(name = Constants.SERVICE_RANKING, intValue = 10, propertyPrivate = false),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
+})
+public class FinalProviderGate1 extends AResourceAccessGate implements ResourceAccessGate {
+
+    public static String GATE_ID = "finalprovidergate1";
+    
+    @Override
+    protected String getGateId() {
+        return GATE_ID;
+    }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java
new file mode 100644
index 0000000..ff86ff9
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java
@@ -0,0 +1,52 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.resourceaccesssecurity.AllowingResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+import org.osgi.framework.Constants;
+
+import java.util.Map;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+        @Property(name=ResourceAccessGate.PATH, label="Path",
+                description="The path is a regular expression for which resources the service should be called"),
+        @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
+        @Property(name = Constants.SERVICE_RANKING, intValue = 5, propertyPrivate = false),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
+})
+public class FinalProviderGate2 extends AResourceAccessGate implements ResourceAccessGate {
+
+    public static String GATE_ID = "finalprovidergate2";
+    
+    @Override
+    protected String getGateId() {
+        return GATE_ID;
+    }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java
new file mode 100644
index 0000000..7b6d773
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java
@@ -0,0 +1,44 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+        @Property(name=ResourceAccessGate.PATH, label="Path",
+                description="The path is a regular expression for which resources the service should be called"),
+        @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
+})
+public class ProviderGate1 extends AResourceAccessGate implements ResourceAccessGate {
+
+    public static String GATE_ID = "providergate1";
+    
+    @Override
+    protected String getGateId() {
+        return GATE_ID;
+    }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java
new file mode 100644
index 0000000..8dda05d
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java
@@ -0,0 +1,50 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.resourceaccesssecurity.AllowingResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+
+import java.util.Map;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+        @Property(name=ResourceAccessGate.PATH, label="Path",
+                description="The path is a regular expression for which resources the service should be called"),
+        @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
+})
+public class ProviderGate2 extends AResourceAccessGate implements ResourceAccessGate {
+
+    public static String GATE_ID = "providergate2";
+    
+    @Override
+    protected String getGateId() {
+        return GATE_ID;
+    }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/SimpleModifiableResourceProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/SimpleModifiableResourceProvider.java
new file mode 100644
index 0000000..5b6cdb6
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/SimpleModifiableResourceProvider.java
@@ -0,0 +1,72 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.providers;
+
+import org.apache.sling.api.resource.ModifiableValueMap;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ResourceWrapper;
+import org.apache.sling.api.resource.ValueMap;
+import org.apache.sling.api.wrappers.ModifiableValueMapDecorator;
+import org.apache.sling.api.wrappers.ValueMapDecorator;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+public class SimpleModifiableResourceProvider extends SimpleResourceProvider {
+    static Map<String, Object> properties = new ConcurrentHashMap<String, Object>();
+
+    static {
+        properties.put("initialProperty", "initialValue");
+    }
+
+
+    @Override
+    public Resource getResource(ResourceResolver resourceResolver, String path) {
+        Resource resource = super.getResource(resourceResolver, path);
+
+        if (resource != null) {
+            resource = new ModifiableResource(resource);
+        }
+
+        return resource;
+    }
+
+
+    public class ModifiableResource extends ResourceWrapper {
+        /**
+         * Creates a new wrapper instance delegating all method calls to the given
+         * <code>resource</code>.
+         */
+        public ModifiableResource(Resource resource) {
+            super(resource);
+        }
+
+        @Override
+        public <AdapterType> AdapterType adaptTo(Class<AdapterType> type) {
+            if (type.equals(ModifiableValueMap.class)) {
+                return (AdapterType) new ModifiableValueMapDecorator(properties);
+            }
+            else if (type.equals(Map.class) || type.equals(ValueMap.class)) {
+                return (AdapterType) new ValueMapDecorator(properties);
+            }
+
+            return super.adaptTo(type);    //To change body of overridden methods use File | Settings | File Templates.
+        }
+    }
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/SimpleResourceProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/SimpleResourceProvider.java
new file mode 100644
index 0000000..a81c898
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/SimpleResourceProvider.java
@@ -0,0 +1,67 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.providers;
+
+
+import org.apache.sling.api.adapter.AdapterManager;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.SyntheticResource;
+
+import javax.servlet.http.HttpServletRequest;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.util.HashMap;
+import java.util.Iterator;
+
+public class SimpleResourceProvider {
+    public Resource getResource(ResourceResolver resourceResolver, HttpServletRequest httpServletRequest, String path) {
+        return getResource(resourceResolver, path);
+    }
+
+    public Resource getResource(ResourceResolver resourceResolver, String path) {
+        if (path.contains("/nonexisting/")) {
+            return null;
+        }
+        return new SyntheticResource(resourceResolver, path, "test/resource"){
+            @SuppressWarnings("unchecked")
+            public <AdapterType> AdapterType adaptTo(Class<AdapterType> type) {
+                AdapterType result = super.adaptTo(type);
+                
+                if ( result == null && type == InputStream.class )
+                {
+                    try {
+                        result = (AdapterType) new ByteArrayInputStream("Test".getBytes("UTF-8") );
+                    } catch (UnsupportedEncodingException e) {
+                        // TODO Auto-generated catch block
+                        e.printStackTrace();
+                    }
+                }
+                
+                return result;
+            }
+            
+        };
+    }
+
+    public Iterator<Resource> listChildren(Resource resource) {
+        return null;
+    }
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadAndUpdateResourceProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadAndUpdateResourceProvider.java
new file mode 100644
index 0000000..9a75601
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadAndUpdateResourceProvider.java
@@ -0,0 +1,47 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.providers.secured;
+
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.ModifiableValueMap;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceProvider;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ResourceWrapper;
+import org.apache.sling.api.wrappers.ModifiableValueMapDecorator;
+import org.apache.sling.resourceaccesssecurity.it.impl.providers.SimpleModifiableResourceProvider;
+import org.apache.sling.resourceaccesssecurity.it.impl.providers.SimpleResourceProvider;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+@Component(metatype = true, label = "Secured ResourceProvider")
+@Service(value = ResourceProvider.class)
+@Properties({
+        @Property(name = ResourceProvider.ROOTS, value = "/providers/secured/read-update" ),
+        @Property(name = ResourceProvider.USE_RESOURCE_ACCESS_SECURITY, boolValue=true, propertyPrivate=true),
+        @Property(name = ResourceProvider.OWNS_ROOTS, boolValue=true, propertyPrivate=true)
+})
+public class SecuredReadAndUpdateResourceProvider extends SimpleModifiableResourceProvider implements ResourceProvider {
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadResourceProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadResourceProvider.java
new file mode 100644
index 0000000..a6dcddd
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadResourceProvider.java
@@ -0,0 +1,37 @@
+/*
+ * 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.sling.resourceaccesssecurity.it.impl.providers.secured;
+
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.ResourceProvider;
+import org.apache.sling.resourceaccesssecurity.it.impl.providers.SimpleResourceProvider;
+
+@Component(metatype = true, label = "Secured ResourceProvider")
+@Service(value = ResourceProvider.class)
+@Properties({
+        @Property(name = ResourceProvider.ROOTS, value = "/providers/secured/read" ),
+        @Property(name = ResourceProvider.USE_RESOURCE_ACCESS_SECURITY, boolValue=true, propertyPrivate=true),
+        @Property(name = ResourceProvider.OWNS_ROOTS, boolValue=true, propertyPrivate=true)
+})
+public class SecuredReadResourceProvider extends SimpleResourceProvider implements ResourceProvider {
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java
new file mode 100644
index 0000000..a34ef8c
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java
@@ -0,0 +1,19 @@
+package org.apache.sling.resourceaccesssecurity.it.impl.providers.unsecured;
+
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.ResourceProvider;
+import org.apache.sling.resourceaccesssecurity.it.impl.providers.SimpleModifiableResourceProvider;
+import org.apache.sling.resourceaccesssecurity.it.impl.providers.SimpleResourceProvider;
+
+@Component(metatype = true, label = "Unsecured ResourceProvider")
+@Service(value = ResourceProvider.class)
+@Properties({
+        @Property(name = ResourceProvider.ROOTS, value = "/providers/unsecured/read-update" )
+
+})
+public class UnsecuredReadAndUpdateProvider extends SimpleModifiableResourceProvider implements ResourceProvider {
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java
new file mode 100644
index 0000000..7ee83c2
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java
@@ -0,0 +1,18 @@
+package org.apache.sling.resourceaccesssecurity.it.impl.providers.unsecured;
+
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.ResourceProvider;
+import org.apache.sling.resourceaccesssecurity.it.impl.providers.SimpleResourceProvider;
+
+@Component(metatype = true, label = "Unsecured ResourceProvider")
+@Service(value = ResourceProvider.class)
+@Properties({
+        @Property(name = ResourceProvider.ROOTS, value = "/providers/unsecured/read" )
+
+})
+public class UnsecuredReadProvider extends SimpleResourceProvider implements ResourceProvider {
+}
diff --git a/src/test/java/org/apache/sling/resourceaccesssecurity/it/ResourceAccessSecurityTestBase.java b/src/test/java/org/apache/sling/resourceaccesssecurity/it/ResourceAccessSecurityTestBase.java
new file mode 100644
index 0000000..fb6c35e
--- /dev/null
+++ b/src/test/java/org/apache/sling/resourceaccesssecurity/it/ResourceAccessSecurityTestBase.java
@@ -0,0 +1,98 @@
+/*
+ * 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.sling.resourceaccesssecurity.it;
+
+
+import org.apache.http.NameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.sling.testing.tools.sling.SlingTestBase;
+import org.junit.Before;
+import org.junit.BeforeClass;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+public class ResourceAccessSecurityTestBase extends SlingTestBase {
+
+    public static final String TEST_USERNAME = "testUser";
+    public static final String TEST_PASSWORD = "password";
+
+
+    protected String getTestUsername() {
+        return TEST_USERNAME;
+    }
+
+    protected String getTestPassword() {
+        return TEST_PASSWORD;
+    }
+
+
+    protected void testRead(String username, String password,
+                                String path, int expectedStatus,
+                                String... expectedContent) throws Exception {
+        if ( username == null )
+        {
+            // call without credentials
+            getRequestExecutor().execute(
+                    getRequestBuilder().buildGetRequest(path)
+            ).assertStatus(expectedStatus).assertContentContains(expectedContent);
+        }
+        else
+        {
+            // call with credentials
+            getRequestExecutor().execute(
+                    getRequestBuilder().buildGetRequest(path)
+                           .withCredentials(username, password)
+            ).assertStatus(expectedStatus).assertContentContains(expectedContent);
+            
+        }
+    }
+
+    protected String testUpdate(String username, String password,
+                              String path, int expectedStatus,
+                              String... expectedContent) throws Exception {
+        String addedValue = "addedValue" + UUID.randomUUID().toString();
+        List<NameValuePair> params = new ArrayList<NameValuePair>();
+        params.add(new BasicNameValuePair("addedProperty", addedValue));
+
+        if ( username == null )
+        {
+            // call without credentials
+            getRequestExecutor().execute(
+                    getRequestBuilder().buildPostRequest(path)
+                            .withEntity(new UrlEncodedFormEntity(params))
+            ).assertStatus(expectedStatus).assertContentContains(expectedContent);
+        }
+        else
+        {
+            // call with credentials
+            getRequestExecutor().execute(
+                    getRequestBuilder().buildPostRequest(path)
+                            .withEntity(new UrlEncodedFormEntity(params))
+            ).assertStatus(expectedStatus).assertContentContains(expectedContent);
+           
+        }
+
+        return addedValue;
+    }
+
+}
diff --git a/src/test/java/org/apache/sling/resourceaccesssecurity/it/SecuredProviderResourceAccessSecurityTest.java b/src/test/java/org/apache/sling/resourceaccesssecurity/it/SecuredProviderResourceAccessSecurityTest.java
new file mode 100644
index 0000000..4029002
--- /dev/null
+++ b/src/test/java/org/apache/sling/resourceaccesssecurity/it/SecuredProviderResourceAccessSecurityTest.java
@@ -0,0 +1,110 @@
+/*
+ * 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.sling.resourceaccesssecurity.it;
+
+
+import org.junit.Test;
+
+public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSecurityTestBase {
+
+    @Test
+    public void testNonExistingResource() throws Exception {
+        String path = "/providers/secured/noresource.json";
+
+        testRead(getServerUsername(), getServerPassword(), path, 404);
+        testRead(getTestUsername(), getTestPassword(), path, 404);
+    }
+
+    @Test
+    public void testAllowedReadAccess() throws Exception {
+        String path = "/providers/secured/read/providergate1-allowread_providergate2-denyread/test.json";
+
+        testRead(getServerUsername(), getServerPassword(), path, 200);
+        testRead(getTestUsername(), getTestPassword(), path, 200);
+        testRead(null, null, path, 200);
+    }
+
+    @Test
+    public void testDeniedReadAccessFromNonModifiableProvider() throws Exception {
+        String path = "/providers/secured/read/providergate1-denyread/test.json";
+
+        testRead(getServerUsername(), getServerPassword(), path, 404);
+        testRead(getTestUsername(), getTestPassword(), path, 404);
+        testRead(null, null, path, 404);
+    }
+
+    @Test
+    public void testDeniedReadAccessFromModifiableProvider() throws Exception {
+        String path = "/providers/secured/read-update/providergate1-denyread/test.json";
+
+        testRead(getServerUsername(), getServerPassword(), path, 404);
+        testRead(getTestUsername(), getTestPassword(), path, 404);
+    }
+
+
+    @Test
+    public void testNotDefinedReadAccess() throws Exception {
+        String path = "/providers/secured/read-update/providergate2-denyupdate/test.json";
+
+        testRead(getServerUsername(), getServerPassword(), path, 404);
+        testRead(getTestUsername(), getTestPassword(), path, 404);
+        testRead(null, null, path, 404);
+    }
+
+
+    @Test
+    public void testAllowedReadAndUpdate() throws Exception {
+        String path = "/providers/secured/read-update/providergate2-allowupdate_providergate1-allowread/test.json";
+
+        testRead(getTestUsername(), getTestPassword(), path, 200);
+        testUpdate(getTestUsername(), getTestPassword(), path, 200);
+    }
+
+
+    @Test
+    public void testUpdateAllowedUpdateAllowedRead() throws Exception {
+        String allowPath = "/providers/secured/read-update/providergate1-allowread_providergate1-allowupdate/test.json";
+
+        testUpdate(getTestUsername(), getTestPassword(), allowPath, 200);
+    }
+
+    @Test
+    public void testUpdateAllowedUpdateDeniedRead() throws Exception {
+        String path = "/providers/secured/read-update/providergate2-allowupdate_providergate1-denyread/test.json";
+
+        testRead(getTestUsername(), getTestPassword(), path, 404);
+        testUpdate(getTestUsername(), getTestPassword(), path, 500, "UnsupportedOperationException");
+    }
+
+    @Test
+    public void testUpdateDeniedUpdateDeniedRead() throws Exception {
+        String path = "/providers/secured/read-update/providergate2-denyupdate_providergate1-denyread/test.json";
+
+        testRead(getTestUsername(), getTestPassword(), path, 404);
+        testUpdate(getTestUsername(), getTestPassword(), path, 500, "UnsupportedOperationException");
+    }
+
+    @Test
+    public void testUpdateDeniedUpdateAllowedRead() throws Exception {
+        String path = "/providers/secured/read-update/providergate2-denyupdate_providergate1-allowread_appgate1-denyupdate/test.json";
+
+        testRead(getTestUsername(), getTestPassword(), path, 200);
+        testUpdate(getTestUsername(), getTestPassword(), path, 500, "is not modifiable");
+    }
+    
+}
diff --git a/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java b/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java
new file mode 100644
index 0000000..7895dc6
--- /dev/null
+++ b/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java
@@ -0,0 +1,47 @@
+/*
+ * 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.sling.resourceaccesssecurity.it;
+
+
+import org.junit.Test;
+
+public class UnsecuredProviderResourceAccessSecurityTest extends ResourceAccessSecurityTestBase {
+
+    @Test
+    public void testDeniedReadAccess() throws Exception {
+        String path = "/providers/unsecured/read/providergate1-denyread/test.json";
+
+        // can be read anyway
+        testRead(getTestUsername(), getTestPassword(), path, 200);
+
+    }
+
+    @Test
+    public void testReadNonExistingResource() throws Exception {
+        String path = "/providers/unsecured/nonexisting/test.json";
+
+        testRead(getTestUsername(), getTestPassword(), path, 404);
+    }
+
+    @Test
+    public void testReadFromNonExistingProvider() throws Exception {
+        String path = "/providers/nonexisting/test.json";
+
+        testRead(getTestUsername(), getTestPassword(), path, 404);
+    }
+}

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 24/24: SLING-7167 Adjust READMEs

Posted by ro...@apache.org.
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-it.git

commit c510d3a18f8f1bae564fee4be075b7fafe3fbd92
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Tue Oct 3 09:25:57 2017 +0000

    SLING-7167 Adjust READMEs
    
    add missing README
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1810717 13f79535-47bb-0310-9956-ffa450edef68
---
 README.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/README.md b/README.md
new file mode 100644
index 0000000..f05a789
--- /dev/null
+++ b/README.md
@@ -0,0 +1,3 @@
+# Apache Sling Resource Access Security Integration Tests
+
+This module is part of the [Apache Sling](https://sling.apache.org) project.

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 03/24: SLING-3458 - Restrictions imposed by ProviderResourceAccessSecurity should not be discarded by ApplicationResourceAccessSecurity, SLING-3462 - Make ResourceAccessSecurity provider context and application context behave the same way

Posted by ro...@apache.org.
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-it.git

commit bf5fceb164d7e9d7789868891b53028255d3f699
Author: Mike Müller <my...@apache.org>
AuthorDate: Wed Mar 19 12:40:59 2014 +0000

    SLING-3458 - Restrictions imposed by ProviderResourceAccessSecurity should not be discarded by ApplicationResourceAccessSecurity,
    SLING-3462 - Make ResourceAccessSecurity provider context and application context behave the same way
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1579213 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml                                            |  9 ++--
 .../it/impl/gates/AResourceAccessGate.java         |  4 +-
 .../it/impl/gates/ApplicationGate1.java            |  2 +-
 .../it/impl/gates/ApplicationGate2.java            |  2 +-
 ...ationGate1.java => ApplicationGateDefault.java} | 55 +++++++++++++++++++---
 .../it/impl/gates/FinalApplicationGate1.java       |  2 +-
 .../it/impl/gates/FinalApplicationGate2.java       |  2 +-
 .../it/impl/gates/FinalProviderGate1.java          |  2 +-
 .../it/impl/gates/FinalProviderGate2.java          |  2 +-
 .../it/impl/gates/ProviderGate1.java               |  2 +-
 .../it/impl/gates/ProviderGate2.java               |  2 +-
 .../SecuredReadAndUpdateResourceProvider.java      |  2 +-
 .../secured/SecuredReadResourceProvider.java       |  2 +-
 .../unsecured/UnsecuredReadAndUpdateProvider.java  |  2 +-
 .../providers/unsecured/UnsecuredReadProvider.java |  2 +-
 .../SecuredProviderResourceAccessSecurityTest.java | 53 ++++++++++++++++-----
 ...nsecuredProviderResourceAccessSecurityTest.java |  6 +--
 17 files changed, 111 insertions(+), 40 deletions(-)

diff --git a/pom.xml b/pom.xml
index df72294..ed5a5cc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,9 +31,9 @@
     <version>0.0.1-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
-    <name>Apache Resource Access Security Integration Tests</name>
+    <name>Apache Sling Resource Access Security Integration Tests</name>
     <description>
-        Project hat tests functionality for org.apache.sling.resourceaccesssecurity and org.apache.sling.jcr.resourcesecurity bundles.
+        Project that tests functionality for org.apache.sling.resourceaccesssecurity bundle.
     </description>
     
     <!-- 
@@ -71,8 +71,8 @@
         <test.server.password />
         
         <!-- Options for the VM that executes our runnable jar -->
-        <!--<jar.executor.vm.options>-Xmx512m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -Xnoagent -Djava.compiler=NONE</jar.executor.vm.options>  -->
-         <jar.executor.vm.options>-Xmx512m</jar.executor.vm.options> 
+        <!--<jar.executor.vm.options>-Xmx512m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -Xnoagent -Djava.compiler=NONE</jar.executor.vm.options> -->
+        <jar.executor.vm.options>-Xmx512m</jar.executor.vm.options> 
         
         <!-- Change this to use longer or shorter timeouts for testing -->
         <sling.testing.timeout.multiplier>1.0</sling.testing.timeout.multiplier>
@@ -254,7 +254,6 @@
                         -->
 
                         <sling.additional.bundle.5>org.apache.sling.resourceaccesssecurity-</sling.additional.bundle.5>
-                        <sling.additional.bundle.6>org.apache.sling.jcr.resourcesecurity-</sling.additional.bundle.6>
                         <sling.additional.bundle.7>${project.build.finalName}.jar</sling.additional.bundle.7>
                     </systemPropertyVariables>
                 </configuration>
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/AResourceAccessGate.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/AResourceAccessGate.java
index 075e9fb..01c5ca5 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/AResourceAccessGate.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/AResourceAccessGate.java
@@ -47,7 +47,7 @@ public abstract class AResourceAccessGate extends AllowingResourceAccessGate imp
 
     @Override
     public GateResult canRead(Resource resource) {
-        GateResult returnValue = GateResult.DONTCARE;
+        GateResult returnValue = GateResult.CANT_DECIDE;
         
         if ( resource.getPath().contains( getGateId() + "-denyread") )
         {
@@ -68,7 +68,7 @@ public abstract class AResourceAccessGate extends AllowingResourceAccessGate imp
     
     @Override
     public GateResult canUpdate(Resource resource) {
-        GateResult returnValue = GateResult.DONTCARE;
+        GateResult returnValue = GateResult.CANT_DECIDE;
         
         if ( resource.getPath().contains( getGateId() + "-denyupdate") )
         {
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java
index dc5982f..766875f 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java
@@ -33,7 +33,7 @@ import java.util.Map;
 @Component
 @Service(value=ResourceAccessGate.class)
 @Properties({
-        @Property(name=ResourceAccessGate.PATH, label="Path",
+        @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*", 
                 description="The path is a regular expression for which resources the service should be called"),
         @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
         @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java
index d927be0..899e585 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java
@@ -33,7 +33,7 @@ import java.util.Map;
 @Component
 @Service(value=ResourceAccessGate.class)
 @Properties({
-        @Property(name=ResourceAccessGate.PATH, label="Path",
+        @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*", 
                 description="The path is a regular expression for which resources the service should be called"),
         @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
         @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGateDefault.java
similarity index 51%
copy from src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
copy to src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGateDefault.java
index 47b4c97..51fdd83 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGateDefault.java
@@ -27,24 +27,65 @@ import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.resourceaccesssecurity.AllowingResourceAccessGate;
 import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate.GateResult;
 
 import java.util.Map;
 
 @Component
 @Service(value=ResourceAccessGate.class)
 @Properties({
-        @Property(name=ResourceAccessGate.PATH, label="Path",
+        @Property(name=ResourceAccessGate.PATH, label="Path", value="^((?!(/test/secured-provider/read|/test/unsecured-provider/read)).*|/test/(un|)secured-provider/read(-update|)/prov/.*)", 
                 description="The path is a regular expression for which resources the service should be called"),
-        @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
+        @Property(name=ResourceAccessGate.OPERATIONS, value="", propertyPrivate=true),
         @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
 })
-public class FinalApplicationGate1 extends AResourceAccessGate implements ResourceAccessGate {
+public class ApplicationGateDefault extends AllowingResourceAccessGate implements ResourceAccessGate {
 
-    public static String GATE_ID = "finalappgate1";
-    
     @Override
-    protected String getGateId() {
-        return GATE_ID;
+    public GateResult canRead(final Resource resource) {
+        return GateResult.GRANTED;
     }
 
+    @Override
+    public GateResult canCreate(final String absPathName,
+            final ResourceResolver resourceResolver) {
+        return GateResult.GRANTED;
+    }
+
+    @Override
+    public GateResult canUpdate(final Resource resource) {
+        return GateResult.GRANTED;
+    }
+
+    @Override
+    public GateResult canDelete(final Resource resource) {
+        return GateResult.GRANTED;
+    }
+
+    @Override
+    public GateResult canExecute(final Resource resource) {
+        return GateResult.GRANTED;
+    }
+
+    @Override
+    public GateResult canReadValue(final Resource resource, final String valueName) {
+        return GateResult.GRANTED;
+    }
+
+    @Override
+    public GateResult canCreateValue(final Resource resource, final String valueName) {
+        return GateResult.GRANTED;
+    }
+
+    @Override
+    public GateResult canUpdateValue(final Resource resource, final String valueName) {
+        return GateResult.GRANTED;
+    }
+
+    @Override
+    public GateResult canDeleteValue(final Resource resource, final String valueName) {
+        return GateResult.GRANTED;
+    }
+
+
 }
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
index 47b4c97..c31eba2 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
@@ -33,7 +33,7 @@ import java.util.Map;
 @Component
 @Service(value=ResourceAccessGate.class)
 @Properties({
-        @Property(name=ResourceAccessGate.PATH, label="Path",
+        @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*", 
                 description="The path is a regular expression for which resources the service should be called"),
         @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
         @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java
index 7a95703..05f6646 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java
@@ -33,7 +33,7 @@ import java.util.Map;
 @Component
 @Service(value=ResourceAccessGate.class)
 @Properties({
-        @Property(name=ResourceAccessGate.PATH, label="Path",
+        @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*", 
                 description="The path is a regular expression for which resources the service should be called"),
         @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
         @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java
index 445a706..34f1b28 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java
@@ -34,7 +34,7 @@ import java.util.Map;
 @Component
 @Service(value=ResourceAccessGate.class)
 @Properties({
-        @Property(name=ResourceAccessGate.PATH, label="Path",
+        @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(prov|mixed)/.*", 
                 description="The path is a regular expression for which resources the service should be called"),
         @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
         @Property(name = Constants.SERVICE_RANKING, intValue = 10, propertyPrivate = false),
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java
index ff86ff9..d6653a7 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java
@@ -34,7 +34,7 @@ import java.util.Map;
 @Component
 @Service(value=ResourceAccessGate.class)
 @Properties({
-        @Property(name=ResourceAccessGate.PATH, label="Path",
+        @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(prov|mixed)/.*", 
                 description="The path is a regular expression for which resources the service should be called"),
         @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
         @Property(name = Constants.SERVICE_RANKING, intValue = 5, propertyPrivate = false),
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java
index 7b6d773..10e2a13 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java
@@ -27,7 +27,7 @@ import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
 @Component
 @Service(value=ResourceAccessGate.class)
 @Properties({
-        @Property(name=ResourceAccessGate.PATH, label="Path",
+        @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(prov|mixed)/.*", 
                 description="The path is a regular expression for which resources the service should be called"),
         @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
         @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java
index 8dda05d..a397bd2 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java
@@ -33,7 +33,7 @@ import java.util.Map;
 @Component
 @Service(value=ResourceAccessGate.class)
 @Properties({
-        @Property(name=ResourceAccessGate.PATH, label="Path",
+        @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(prov|mixed)/.*", 
                 description="The path is a regular expression for which resources the service should be called"),
         @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
         @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadAndUpdateResourceProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadAndUpdateResourceProvider.java
index 9a75601..60d7579 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadAndUpdateResourceProvider.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadAndUpdateResourceProvider.java
@@ -38,7 +38,7 @@ import java.util.concurrent.ConcurrentHashMap;
 @Component(metatype = true, label = "Secured ResourceProvider")
 @Service(value = ResourceProvider.class)
 @Properties({
-        @Property(name = ResourceProvider.ROOTS, value = "/providers/secured/read-update" ),
+        @Property(name = ResourceProvider.ROOTS, value = "/test/secured-provider/read-update" ),
         @Property(name = ResourceProvider.USE_RESOURCE_ACCESS_SECURITY, boolValue=true, propertyPrivate=true),
         @Property(name = ResourceProvider.OWNS_ROOTS, boolValue=true, propertyPrivate=true)
 })
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadResourceProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadResourceProvider.java
index a6dcddd..e3419b8 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadResourceProvider.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadResourceProvider.java
@@ -28,7 +28,7 @@ import org.apache.sling.resourceaccesssecurity.it.impl.providers.SimpleResourceP
 @Component(metatype = true, label = "Secured ResourceProvider")
 @Service(value = ResourceProvider.class)
 @Properties({
-        @Property(name = ResourceProvider.ROOTS, value = "/providers/secured/read" ),
+        @Property(name = ResourceProvider.ROOTS, value = "/test/secured-provider/read" ),
         @Property(name = ResourceProvider.USE_RESOURCE_ACCESS_SECURITY, boolValue=true, propertyPrivate=true),
         @Property(name = ResourceProvider.OWNS_ROOTS, boolValue=true, propertyPrivate=true)
 })
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java
index a34ef8c..e477f47 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java
@@ -12,7 +12,7 @@ import org.apache.sling.resourceaccesssecurity.it.impl.providers.SimpleResourceP
 @Component(metatype = true, label = "Unsecured ResourceProvider")
 @Service(value = ResourceProvider.class)
 @Properties({
-        @Property(name = ResourceProvider.ROOTS, value = "/providers/unsecured/read-update" )
+        @Property(name = ResourceProvider.ROOTS, value = "/test/unsecured-provider/read-update" )
 
 })
 public class UnsecuredReadAndUpdateProvider extends SimpleModifiableResourceProvider implements ResourceProvider {
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java
index 7ee83c2..579f85d 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java
@@ -11,7 +11,7 @@ import org.apache.sling.resourceaccesssecurity.it.impl.providers.SimpleResourceP
 @Component(metatype = true, label = "Unsecured ResourceProvider")
 @Service(value = ResourceProvider.class)
 @Properties({
-        @Property(name = ResourceProvider.ROOTS, value = "/providers/unsecured/read" )
+        @Property(name = ResourceProvider.ROOTS, value = "/test/unsecured-provider/read" )
 
 })
 public class UnsecuredReadProvider extends SimpleResourceProvider implements ResourceProvider {
diff --git a/src/test/java/org/apache/sling/resourceaccesssecurity/it/SecuredProviderResourceAccessSecurityTest.java b/src/test/java/org/apache/sling/resourceaccesssecurity/it/SecuredProviderResourceAccessSecurityTest.java
index 4029002..c9a7e36 100644
--- a/src/test/java/org/apache/sling/resourceaccesssecurity/it/SecuredProviderResourceAccessSecurityTest.java
+++ b/src/test/java/org/apache/sling/resourceaccesssecurity/it/SecuredProviderResourceAccessSecurityTest.java
@@ -22,9 +22,8 @@ import org.junit.Test;
 
 public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSecurityTestBase {
 
-    @Test
     public void testNonExistingResource() throws Exception {
-        String path = "/providers/secured/noresource.json";
+        String path = "/test/secured-provider/noresource.json";
 
         testRead(getServerUsername(), getServerPassword(), path, 404);
         testRead(getTestUsername(), getTestPassword(), path, 404);
@@ -32,7 +31,7 @@ public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSec
 
     @Test
     public void testAllowedReadAccess() throws Exception {
-        String path = "/providers/secured/read/providergate1-allowread_providergate2-denyread/test.json";
+        String path = "/test/secured-provider/read/prov/providergate1-allowread_providergate2-denyread/test.json";
 
         testRead(getServerUsername(), getServerPassword(), path, 200);
         testRead(getTestUsername(), getTestPassword(), path, 200);
@@ -41,7 +40,7 @@ public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSec
 
     @Test
     public void testDeniedReadAccessFromNonModifiableProvider() throws Exception {
-        String path = "/providers/secured/read/providergate1-denyread/test.json";
+        String path = "/test/secured-provider/read/prov/providergate1-denyread/test.json";
 
         testRead(getServerUsername(), getServerPassword(), path, 404);
         testRead(getTestUsername(), getTestPassword(), path, 404);
@@ -50,7 +49,7 @@ public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSec
 
     @Test
     public void testDeniedReadAccessFromModifiableProvider() throws Exception {
-        String path = "/providers/secured/read-update/providergate1-denyread/test.json";
+        String path = "/test/secured-provider/read-update/prov/providergate1-denyread/test.json";
 
         testRead(getServerUsername(), getServerPassword(), path, 404);
         testRead(getTestUsername(), getTestPassword(), path, 404);
@@ -59,7 +58,7 @@ public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSec
 
     @Test
     public void testNotDefinedReadAccess() throws Exception {
-        String path = "/providers/secured/read-update/providergate2-denyupdate/test.json";
+        String path = "/test/secured-provider/read-update/prov/providergate2-denyupdate/test.json";
 
         testRead(getServerUsername(), getServerPassword(), path, 404);
         testRead(getTestUsername(), getTestPassword(), path, 404);
@@ -69,7 +68,7 @@ public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSec
 
     @Test
     public void testAllowedReadAndUpdate() throws Exception {
-        String path = "/providers/secured/read-update/providergate2-allowupdate_providergate1-allowread/test.json";
+        String path = "/test/secured-provider/read-update/prov/providergate2-allowupdate_providergate1-allowread/test.json";
 
         testRead(getTestUsername(), getTestPassword(), path, 200);
         testUpdate(getTestUsername(), getTestPassword(), path, 200);
@@ -78,14 +77,14 @@ public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSec
 
     @Test
     public void testUpdateAllowedUpdateAllowedRead() throws Exception {
-        String allowPath = "/providers/secured/read-update/providergate1-allowread_providergate1-allowupdate/test.json";
+        String allowPath = "/test/secured-provider/read-update/prov/providergate1-allowread_providergate1-allowupdate/test.json";
 
         testUpdate(getTestUsername(), getTestPassword(), allowPath, 200);
     }
 
     @Test
     public void testUpdateAllowedUpdateDeniedRead() throws Exception {
-        String path = "/providers/secured/read-update/providergate2-allowupdate_providergate1-denyread/test.json";
+        String path = "/test/secured-provider/read-update/prov/providergate2-allowupdate_providergate1-denyread/test.json";
 
         testRead(getTestUsername(), getTestPassword(), path, 404);
         testUpdate(getTestUsername(), getTestPassword(), path, 500, "UnsupportedOperationException");
@@ -93,7 +92,7 @@ public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSec
 
     @Test
     public void testUpdateDeniedUpdateDeniedRead() throws Exception {
-        String path = "/providers/secured/read-update/providergate2-denyupdate_providergate1-denyread/test.json";
+        String path = "/test/secured-provider/read-update/prov/providergate2-denyupdate_providergate1-denyread/test.json";
 
         testRead(getTestUsername(), getTestPassword(), path, 404);
         testUpdate(getTestUsername(), getTestPassword(), path, 500, "UnsupportedOperationException");
@@ -101,10 +100,42 @@ public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSec
 
     @Test
     public void testUpdateDeniedUpdateAllowedRead() throws Exception {
-        String path = "/providers/secured/read-update/providergate2-denyupdate_providergate1-allowread_appgate1-denyupdate/test.json";
+        String path = "/test/secured-provider/read-update/prov/providergate2-denyupdate_providergate1-allowread/test.json";
 
         testRead(getTestUsername(), getTestPassword(), path, 200);
         testUpdate(getTestUsername(), getTestPassword(), path, 500, "is not modifiable");
     }
     
+    @Test
+    public void testReadOnlyApplicationAccessGatePresent() throws Exception {
+        String path = "/test/secured-provider/read/app/appgate1_allowread/test.json";
+
+        testRead(getTestUsername(), getTestPassword(), path, 404);
+    }
+    
+    @Test
+    public void testReadMixedAccessGatesPresent() throws Exception {
+        String path1 = "/test/secured-provider/read/mixed/appgate1-allowread_providergate1-denyread/test.json";
+        String path2 = "/test/secured-provider/read/mixed/appgate1-denyread_providergate1-allowread/test.json";
+        String path3 = "/test/secured-provider/read/mixed/appgate1-allowread_providergate1-allowread/test.json";
+
+        testRead(getTestUsername(), getTestPassword(), path1, 404);
+        testRead(getTestUsername(), getTestPassword(), path2, 404);
+        testRead(getTestUsername(), getTestPassword(), path3, 200);
+    }
+    
+    @Test
+    public void testReadNoAccessGatePresent() throws Exception {
+        String path = "/test/secured-provider/read/nogate/test.json";
+
+        testRead(getTestUsername(), getTestPassword(), path, 404);
+    }
+    
+    @Test
+    public void testUpdateNoAccessGatePresent() throws Exception {
+        String path = "/test/secured-provider/read-update/nogate/test.json";
+
+        testUpdate(getTestUsername(), getTestPassword(), path, 500, "UnsupportedOperationException");
+    }
+    
 }
diff --git a/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java b/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java
index 7895dc6..b2351da 100644
--- a/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java
+++ b/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java
@@ -24,7 +24,7 @@ public class UnsecuredProviderResourceAccessSecurityTest extends ResourceAccessS
 
     @Test
     public void testDeniedReadAccess() throws Exception {
-        String path = "/providers/unsecured/read/providergate1-denyread/test.json";
+        String path = "/test/unsecured-provider/read/prov/providergate1-denyread/test.json";
 
         // can be read anyway
         testRead(getTestUsername(), getTestPassword(), path, 200);
@@ -33,14 +33,14 @@ public class UnsecuredProviderResourceAccessSecurityTest extends ResourceAccessS
 
     @Test
     public void testReadNonExistingResource() throws Exception {
-        String path = "/providers/unsecured/nonexisting/test.json";
+        String path = "/test/unsecured-provider/read/nonexisting/test.json";
 
         testRead(getTestUsername(), getTestPassword(), path, 404);
     }
 
     @Test
     public void testReadFromNonExistingProvider() throws Exception {
-        String path = "/providers/nonexisting/test.json";
+        String path = "/test/nonexisting/test.json";
 
         testRead(getTestUsername(), getTestPassword(), path, 404);
     }

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 09/24: Updated to parent version 20

Posted by ro...@apache.org.
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-it.git

commit 71e4ae2eb1f4562b34fa56a5e1736985af6bc35b
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Fri Aug 1 19:16:26 2014 +0000

    Updated to parent version 20
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1615208 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 1de8aa9..a4a8532 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling</artifactId>
-        <version>19</version>
+        <version>20</version>
         <relativePath>../../../parent/pom.xml</relativePath>
     </parent>
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 10/24: SLING-3919 - Update versions for integration tests

Posted by ro...@apache.org.
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-it.git

commit bff32f879cce890aed1869e40d0aaa52a3e9a1ed
Author: Mike Müller <my...@apache.org>
AuthorDate: Tue Sep 9 06:46:01 2014 +0000

    SLING-3919 - Update versions for integration tests
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1623675 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/pom.xml b/pom.xml
index a4a8532..9ef608b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -289,7 +289,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.commons.json</artifactId>
-            <version>2.0.6</version>
+            <version>2.0.8</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
@@ -300,7 +300,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
-            <version>1.5.11</version>
+            <version>1.7.6</version>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
@@ -314,7 +314,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-simple</artifactId>
-            <version>1.5.11</version>
+            <version>1.7.6</version>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -326,7 +326,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.api</artifactId>
-            <version>2.7.0</version>
+            <version>2.8.0</version>
         </dependency>
         <dependency>
             <groupId>javax.servlet</groupId>
@@ -336,12 +336,12 @@
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>jackrabbit-api</artifactId>
-            <version>2.7.2</version>
+            <version>2.7.5</version>
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>jackrabbit-jcr-commons</artifactId>
-            <version>2.7.2</version>
+            <version>2.7.5</version>
         </dependency>
         <dependency>
             <groupId>javax.jcr</groupId>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 06/24: Update to parent pom v19

Posted by ro...@apache.org.
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-it.git

commit eb9748a9f4ee18cc000008179083f4e4b58f7d8e
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Mon Mar 31 14:39:20 2014 +0000

    Update to parent pom v19
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1583337 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 5d28aea..1de8aa9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling</artifactId>
-        <version>18</version>
+        <version>19</version>
         <relativePath>../../../parent/pom.xml</relativePath>
     </parent>
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 02/24: SLING-3435 - ResourceAccessSecurity does not secure access for update operations, addition

Posted by ro...@apache.org.
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-it.git

commit ffca327feee970a18de4079b8281117861654fa5
Author: Mike Müller <my...@apache.org>
AuthorDate: Mon Mar 17 16:01:58 2014 +0000

    SLING-3435 - ResourceAccessSecurity does not secure access for update operations, addition
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1578443 13f79535-47bb-0310-9956-ffa450edef68
---
 src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/Init.java | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/Init.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/Init.java
index e8a40b3..f957de7 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/Init.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/Init.java
@@ -60,6 +60,8 @@ public class Init extends SlingAllMethodsServlet {
                 public String getName() {
                     return "testUser";
                 }};
+                
+            session.save();
 
         } catch (Exception e) {
             e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 11/24: SLING-3930 - Service rankings from ResourceAccessGates are not properly handled

Posted by ro...@apache.org.
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-it.git

commit ac2f202c63cca6b2e6e1fc0f91f5e8b65d623251
Author: Mike Müller <my...@apache.org>
AuthorDate: Sun Sep 14 10:02:54 2014 +0000

    SLING-3930 - Service rankings from ResourceAccessGates are not properly handled
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1624823 13f79535-47bb-0310-9956-ffa450edef68
---
 .../it/impl/gates/ApplicationGate1Ranking100.java  | 28 +++++++++++++++++
 .../it/impl/gates/ApplicationGate1Ranking1000.java | 28 +++++++++++++++++
 .../it/impl/gates/FinalAppGate1Ranking100.java     | 28 +++++++++++++++++
 .../it/impl/gates/FinalAppGate1Ranking1000.java    | 28 +++++++++++++++++
 ...nsecuredProviderResourceAccessSecurityTest.java | 35 ++++++++++++++++++++++
 5 files changed, 147 insertions(+)

diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking100.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking100.java
new file mode 100644
index 0000000..f3648a1
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking100.java
@@ -0,0 +1,28 @@
+package org.apache.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+import org.osgi.framework.Constants;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+        @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*", 
+                description="The path is a regular expression for which resources the service should be called"),
+        @Property(name=ResourceAccessGate.OPERATIONS, value="read,update"),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT),
+        @Property(name = Constants.SERVICE_RANKING, intValue = 100, propertyPrivate = false)
+})
+public class ApplicationGate1Ranking100 extends AResourceAccessGate {
+    
+    public static String GATE_ID = "appgate1ranking100";
+
+    @Override
+    protected String getGateId() {
+        return GATE_ID;
+    }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking1000.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking1000.java
new file mode 100644
index 0000000..0989f95
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking1000.java
@@ -0,0 +1,28 @@
+package org.apache.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+import org.osgi.framework.Constants;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+        @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*", 
+                description="The path is a regular expression for which resources the service should be called"),
+        @Property(name=ResourceAccessGate.OPERATIONS, value="read,update"),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT),
+        @Property(name = Constants.SERVICE_RANKING, intValue = 1000, propertyPrivate = false)
+})
+public class ApplicationGate1Ranking1000 extends AResourceAccessGate {
+    
+    public static String GATE_ID = "appgate1ranking1000";
+
+    @Override
+    protected String getGateId() {
+        return GATE_ID;
+    }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking100.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking100.java
new file mode 100644
index 0000000..ae7f5d2
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking100.java
@@ -0,0 +1,28 @@
+package org.apache.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+import org.osgi.framework.Constants;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+        @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*", 
+                description="The path is a regular expression for which resources the service should be called"),
+        @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update"),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT),
+        @Property(name = Constants.SERVICE_RANKING, intValue = 100, propertyPrivate = false)
+})
+public class FinalAppGate1Ranking100 extends AResourceAccessGate {
+
+    public static String GATE_ID = "finalappgate1ranking100";
+
+    @Override
+    protected String getGateId() {
+        return GATE_ID;
+    }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking1000.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking1000.java
new file mode 100644
index 0000000..670cec9
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking1000.java
@@ -0,0 +1,28 @@
+package org.apache.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+import org.osgi.framework.Constants;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+        @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*", 
+                description="The path is a regular expression for which resources the service should be called"),
+        @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update"),
+        @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT),
+        @Property(name = Constants.SERVICE_RANKING, intValue = 1000, propertyPrivate = false)
+})
+public class FinalAppGate1Ranking1000 extends AResourceAccessGate {
+
+    public static String GATE_ID = "finalappgate1ranking1000";
+
+    @Override
+    protected String getGateId() {
+        return GATE_ID;
+    }
+
+}
diff --git a/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java b/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java
index b2351da..6b5333a 100644
--- a/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java
+++ b/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java
@@ -44,4 +44,39 @@ public class UnsecuredProviderResourceAccessSecurityTest extends ResourceAccessS
 
         testRead(getTestUsername(), getTestPassword(), path, 404);
     }
+    
+    @Test
+    public void testReadOnlyApplicationAccessGatePresent() throws Exception {
+        String path = "/test/unsecured-provider/read/app/appgate1-allowread/test.json";
+
+        testRead(getTestUsername(), getTestPassword(), path, 200);
+    }
+    
+    @Test
+    public void testCantReadOnlyApplicationAccessGatePresent() throws Exception {
+        String path = "/test/unsecured-provider/read/app/appgate1-denyread/test.json";
+
+        testRead(getTestUsername(), getTestPassword(), path, 404);
+    }
+    
+    @Test
+    public void testServiceRanking() throws Exception {
+        String path1 = "/test/unsecured-provider/read/app/appgate1-allowread_finalappgate1ranking1000-denyread/test.json";
+        String path2 = "/test/unsecured-provider/read/app/appgate1-allowread_finalappgate1ranking100-denyread/test.json";
+        String path3 = "/test/unsecured-provider/read/app/finalappgate1-allowread_finalappgate1ranking1000-denyread/test.json";
+        String path4 = "/test/unsecured-provider/read/app/appgate1ranking1000-allowread_finalappgate1ranking100-denyread/test.json";
+        String path5 = "/test/unsecured-provider/read/app/appgate1ranking100-allowread_finalappgate1-denyread/test.json";
+        String path6 = "/test/unsecured-provider/read/app/appgate1-allowread_appgate1ranking1000-denyread/test.json";
+        String path7 = "/test/unsecured-provider/read/app/appgate1ranking100-allowread_appgate1ranking1000-denyread/test.json";
+
+        testRead(getTestUsername(), getTestPassword(), path1, 404);
+        testRead(getTestUsername(), getTestPassword(), path2, 404);
+        testRead(getTestUsername(), getTestPassword(), path3, 404);
+        testRead(getTestUsername(), getTestPassword(), path4, 200);
+        testRead(getTestUsername(), getTestPassword(), path5, 200);
+        testRead(getTestUsername(), getTestPassword(), path6, 200);
+        testRead(getTestUsername(), getTestPassword(), path7, 200);
+    }
+    
+    
 }

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 17/24: Update to Sling Parent 23

Posted by ro...@apache.org.
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-it.git

commit dabe9c2c9557aa9137b28cf38d3f4a8b385cafc5
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Thu Jun 25 13:08:16 2015 +0000

    Update to Sling Parent 23
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1687500 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 5a39d45..41bba20 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling</artifactId>
-        <version>22</version>
+        <version>23</version>
         <relativePath/>
     </parent>
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 23/24: Remove a dependency on commons.json that is not needed anymore.

Posted by ro...@apache.org.
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-it.git

commit 82f449abdff5c9947442551b92efa2363a4d715e
Author: Karl Pauls <pa...@apache.org>
AuthorDate: Tue Mar 28 13:13:06 2017 +0000

    Remove a dependency on commons.json that is not needed anymore.
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1789128 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/pom.xml b/pom.xml
index 01b8192..86fb076 100644
--- a/pom.xml
+++ b/pom.xml
@@ -298,11 +298,6 @@
         <!-- actual dependencies -->
         <dependency>
             <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.commons.json</artifactId>
-            <version>2.0.8</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.launchpad</artifactId>
             <classifier>standalone</classifier>
             <version>7</version>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-resourceaccesssecurity-it] 19/24: set parent version to 24 and add empty relativePath where missing

Posted by ro...@apache.org.
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-it.git

commit 95f3a210d5d28c67f26c5737a4926046c9d0f9da
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Tue Jul 7 08:09:17 2015 +0000

    set parent version to 24 and add empty relativePath where missing
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1689593 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index a88f830..8a9b3a7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling</artifactId>
-        <version>23</version>
+        <version>24</version>
         <relativePath/>
     </parent>
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.