You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2017/06/27 11:42:01 UTC
svn commit: r1800051 - in /jackrabbit/oak/trunk/oak-core/src:
main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/
test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/
Author: reschke
Date: Tue Jun 27 11:42:00 2017
New Revision: 1800051
URL: http://svn.apache.org/viewvc?rev=1800051&view=rev
Log:
OAK-6382: Adjust AccessControlList implementations to reflect JCR-4144
(@Override annotation to be fixed once OAK-6389 (Jackrabbit 2.15.4) is implemented)
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlList.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/package-info.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlListTest.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlList.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlList.java?rev=1800051&r1=1800050&r2=1800051&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlList.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlList.java Tue Jun 27 11:42:00 2017
@@ -128,11 +128,23 @@ public abstract class AbstractAccessCont
return PropertyType.UNDEFINED;
}
+ // OAK-6389 @Override
+ public boolean isMultiValueRestriction(String restrictionName) throws RepositoryException {
+ for (RestrictionDefinition definition : getRestrictionProvider().getSupportedRestrictions(getOakPath())) {
+ String jcrName = namePathMapper.getJcrName(definition.getName());
+ if (jcrName.equals(restrictionName)) {
+ return definition.getRequiredType().isArray();
+ }
+ }
+ // not a supported restriction => return false.
+ return false;
+ }
+
+
@Override
public boolean addEntry(Principal principal, Privilege[] privileges, boolean isAllow) throws RepositoryException {
return addEntry(principal, privileges, isAllow, Collections.<String, Value>emptyMap());
}
-
@Override
public boolean addEntry(Principal principal, Privilege[] privileges, boolean isAllow, Map<String, Value> restrictions) throws RepositoryException {
return addEntry(principal, privileges, isAllow, restrictions, null);
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/package-info.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/package-info.java?rev=1800051&r1=1800050&r2=1800051&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/package-info.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/package-info.java Tue Jun 27 11:42:00 2017
@@ -14,9 +14,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-@Version("1.4.0")
+@Version("1.5.0")
@Export(optional = "provide:=true")
package org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol;
-
import aQute.bnd.annotation.Export;
import aQute.bnd.annotation.Version;
\ No newline at end of file
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlListTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlListTest.java?rev=1800051&r1=1800050&r2=1800051&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlListTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlListTest.java Tue Jun 27 11:42:00 2017
@@ -247,4 +247,19 @@ public class AbstractAccessControlListTe
// UNDEFINED for a unknown restriction name:
assertEquals(PropertyType.UNDEFINED, acl.getRestrictionType("unknownRestrictionName"));
}
+
+ @Test
+ public void testIsMultiValueRestriction() throws RepositoryException {
+ AbstractAccessControlList acl = createEmptyACL();
+ for (RestrictionDefinition def : getRestrictionProvider().getSupportedRestrictions(getTestPath())) {
+ boolean isMv = acl.isMultiValueRestriction(getNamePathMapper().getJcrName(def.getName()));
+
+ assertEquals(def.getRequiredType().isArray(), isMv);
+ }
+ }
+
+ @Test
+ public void testIsMultiValueRestrictionForUnknownName() throws RepositoryException {
+ assertFalse(createEmptyACL().isMultiValueRestriction("unknownRestrictionName"));
+ }
}
\ No newline at end of file