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 an...@apache.org on 2019/08/19 08:15:14 UTC

svn commit: r1865417 - in /jackrabbit/oak/trunk: oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/ oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/prin...

Author: angela
Date: Mon Aug 19 08:15:13 2019
New Revision: 1865417

URL: http://svn.apache.org/viewvc?rev=1865417&view=rev
Log:
OAK-8545 : Nullable/Notnull Annotations for Authorization API -> adjust implementations accordingly

Modified:
    jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManager.java
    jackrabbit/oak/trunk/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalBasedAccessControlManager.java
    jackrabbit/oak/trunk/oak-authorization-principalbased/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalPolicyImplTest.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACL.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImpl.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManager.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeManagerImpl.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACLTest.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImplTest.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/EntryTest.java
    jackrabbit/oak/trunk/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/predefined/PredefinedAuthorizationConfiguration.java
    jackrabbit/oak/trunk/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/readonly/ReadOnlyAuthorizationConfiguration.java
    jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/accesscontrol/L5_AccessControlListImplTest.java
    jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/JackrabbitAccessControlManagerDelegator.java
    jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PrivilegeManagerDelegator.java
    jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ACE.java
    jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlList.java
    jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlManager.java
    jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ImmutableACL.java
    jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/package-info.java
    jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlManagerTest.java
    jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/TestACL.java

Modified: jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManager.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManager.java (original)
+++ jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManager.java Mon Aug 19 08:15:13 2019
@@ -204,20 +204,23 @@ class CugAccessControlManager extends Ab
 
     //-------------------------------------< JackrabbitAccessControlManager >---
 
+    @NotNull
     @Override
-    public JackrabbitAccessControlPolicy[] getApplicablePolicies(Principal principal) {
+    public JackrabbitAccessControlPolicy[] getApplicablePolicies(@NotNull Principal principal) {
         // editing by 'principal' is not supported
         return new JackrabbitAccessControlPolicy[0];
     }
 
+    @NotNull
     @Override
-    public JackrabbitAccessControlPolicy[] getPolicies(Principal principal) {
+    public JackrabbitAccessControlPolicy[] getPolicies(@NotNull Principal principal) {
         // editing by 'principal' is not supported
         return new JackrabbitAccessControlPolicy[0];
     }
 
+    @NotNull
     @Override
-    public AccessControlPolicy[] getEffectivePolicies(Set<Principal> principals) {
+    public AccessControlPolicy[] getEffectivePolicies(@NotNull Set<Principal> principals) {
         // editing by 'principal' is not supported
         return new AccessControlPolicy[0];
     }

Modified: jackrabbit/oak/trunk/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalBasedAccessControlManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalBasedAccessControlManager.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalBasedAccessControlManager.java (original)
+++ jackrabbit/oak/trunk/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalBasedAccessControlManager.java Mon Aug 19 08:15:13 2019
@@ -105,8 +105,9 @@ class PrincipalBasedAccessControlManager
 
     //-------------------------------------< JackrabbitAccessControlManager >---
 
+    @NotNull
     @Override
-    public JackrabbitAccessControlPolicy[] getApplicablePolicies(Principal principal) throws RepositoryException {
+    public JackrabbitAccessControlPolicy[] getApplicablePolicies(@NotNull Principal principal) throws RepositoryException {
         if (canHandle(principal)) {
             String oakPath = filter.getOakPath(principal);
             Tree tree = getTree(oakPath, Permissions.READ_ACCESS_CONTROL, true);
@@ -117,8 +118,9 @@ class PrincipalBasedAccessControlManager
         return new JackrabbitAccessControlPolicy[0];
     }
 
+    @NotNull
     @Override
-    public JackrabbitAccessControlPolicy[] getPolicies(Principal principal) throws RepositoryException {
+    public JackrabbitAccessControlPolicy[] getPolicies(@NotNull Principal principal) throws RepositoryException {
         JackrabbitAccessControlPolicy policy = null;
         if (canHandle(principal)) {
             policy = createPolicy(principal, false);
@@ -126,8 +128,9 @@ class PrincipalBasedAccessControlManager
         return (policy == null) ? new JackrabbitAccessControlPolicy[0] : new JackrabbitAccessControlPolicy[]{policy};
     }
 
+    @NotNull
     @Override
-    public AccessControlPolicy[] getEffectivePolicies(Set<Principal> principals) throws RepositoryException {
+    public AccessControlPolicy[] getEffectivePolicies(@NotNull Set<Principal> principals) throws RepositoryException {
         // this implementation only takes effect if the complete set of principals can be handled. see also
         // PrincipalBasedAuthorizationConfiguration.getPermissionProvider
         if (canHandle(principals)) {

Modified: jackrabbit/oak/trunk/oak-authorization-principalbased/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalPolicyImplTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-authorization-principalbased/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalPolicyImplTest.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-authorization-principalbased/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalPolicyImplTest.java (original)
+++ jackrabbit/oak/trunk/oak-authorization-principalbased/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalPolicyImplTest.java Mon Aug 19 08:15:13 2019
@@ -595,18 +595,21 @@ public class PrincipalPolicyImplTest ext
                 return entry.isAllow();
             }
 
+            @NotNull
             @Override
             public String[] getRestrictionNames() throws RepositoryException {
                 return entry.getRestrictionNames();
             }
 
+            @Nullable
             @Override
-            public Value getRestriction(String s) throws ValueFormatException, RepositoryException {
+            public Value getRestriction(@NotNull String s) throws ValueFormatException, RepositoryException {
                 return entry.getRestriction(s);
             }
 
+            @Nullable
             @Override
-            public Value[] getRestrictions(String s) throws RepositoryException {
+            public Value[] getRestrictions(@NotNull String s) throws RepositoryException {
                 return entry.getRestrictions(s);
             }
 

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACL.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACL.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACL.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACL.java Mon Aug 19 08:15:13 2019
@@ -83,9 +83,9 @@ abstract class ACL extends AbstractAcces
 
     //----------------------------------------< JackrabbitAccessControlList >---
     @Override
-    public boolean addEntry(Principal principal, Privilege[] privileges,
-                            boolean isAllow, Map<String, Value> restrictions,
-                            Map<String, Value[]> mvRestrictions) throws RepositoryException {
+    public boolean addEntry(@NotNull Principal principal, @NotNull Privilege[] privileges,
+                            boolean isAllow, @Nullable Map<String, Value> restrictions,
+                            @Nullable Map<String, Value[]> mvRestrictions) throws RepositoryException {
         if (privileges == null || privileges.length == 0) {
             throw new AccessControlException("Privileges may not be null nor an empty array");
         }
@@ -112,7 +112,7 @@ abstract class ACL extends AbstractAcces
     }
 
     @Override
-    public void orderBefore(AccessControlEntry srcEntry, AccessControlEntry destEntry) throws RepositoryException {
+    public void orderBefore(@NotNull AccessControlEntry srcEntry, @Nullable AccessControlEntry destEntry) throws RepositoryException {
         ACE src = checkACE(srcEntry);
         ACE dest = (destEntry == null) ? null : checkACE(destEntry);
 

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImpl.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImpl.java Mon Aug 19 08:15:13 2019
@@ -696,7 +696,7 @@ public class AccessControlManagerImpl ex
         }
 
         @Override
-        public void orderBefore(AccessControlEntry srcEntry, AccessControlEntry destEntry) throws RepositoryException {
+        public void orderBefore(@NotNull AccessControlEntry srcEntry, @Nullable AccessControlEntry destEntry) throws RepositoryException {
             throw new UnsupportedRepositoryOperationException("reordering is not supported");
         }
 

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManager.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManager.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManager.java Mon Aug 19 08:15:13 2019
@@ -132,8 +132,9 @@ class CompositeAccessControlManager exte
     }
 
     //-------------------------------------< JackrabbitAccessControlManager >---
+    @NotNull
     @Override
-    public JackrabbitAccessControlPolicy[] getApplicablePolicies(Principal principal) throws RepositoryException {
+    public JackrabbitAccessControlPolicy[] getApplicablePolicies(@NotNull Principal principal) throws RepositoryException {
         ImmutableList.Builder<JackrabbitAccessControlPolicy> policies = ImmutableList.builder();
         for (AccessControlManager acMgr : acMgrs) {
             if (acMgr instanceof JackrabbitAccessControlManager && acMgr instanceof PolicyOwner) {
@@ -144,8 +145,9 @@ class CompositeAccessControlManager exte
         return l.toArray(new JackrabbitAccessControlPolicy[0]);
     }
 
+    @NotNull
     @Override
-    public JackrabbitAccessControlPolicy[] getPolicies(Principal principal) throws RepositoryException {
+    public JackrabbitAccessControlPolicy[] getPolicies(@NotNull Principal principal) throws RepositoryException {
         ImmutableList.Builder<JackrabbitAccessControlPolicy> policies = ImmutableList.builder();
         for (AccessControlManager acMgr : acMgrs) {
             if (acMgr instanceof JackrabbitAccessControlManager) {
@@ -156,8 +158,9 @@ class CompositeAccessControlManager exte
         return l.toArray(new JackrabbitAccessControlPolicy[0]);
     }
 
+    @NotNull
     @Override
-    public AccessControlPolicy[] getEffectivePolicies(Set<Principal> principals) throws RepositoryException {
+    public AccessControlPolicy[] getEffectivePolicies(@NotNull Set<Principal> principals) throws RepositoryException {
         ImmutableList.Builder<AccessControlPolicy> policies = ImmutableList.builder();
         for (AccessControlManager acMgr : acMgrs) {
             if (acMgr instanceof JackrabbitAccessControlManager) {

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeManagerImpl.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeManagerImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeManagerImpl.java Mon Aug 19 08:15:13 2019
@@ -53,6 +53,7 @@ class PrivilegeManagerImpl implements Pr
     }
 
     //---------------------------------------------------< PrivilegeManager >---
+    @NotNull
     @Override
     public Privilege[] getRegisteredPrivileges() {
         Set<Privilege> privileges = new HashSet<>();
@@ -62,8 +63,9 @@ class PrivilegeManagerImpl implements Pr
         return privileges.toArray(new Privilege[0]);
     }
 
+    @NotNull
     @Override
-    public Privilege getPrivilege(String privilegeName) throws RepositoryException {
+    public Privilege getPrivilege(@NotNull String privilegeName) throws RepositoryException {
         PrivilegeDefinition def = getPrivilegeDefinition(getOakName(privilegeName));
         if (def == null) {
             throw new AccessControlException("No such privilege " + privilegeName);
@@ -72,9 +74,10 @@ class PrivilegeManagerImpl implements Pr
         }
     }
 
+    @NotNull
     @Override
-    public Privilege registerPrivilege(String privilegeName, boolean isAbstract,
-                                       String[] declaredAggregateNames) throws RepositoryException {
+    public Privilege registerPrivilege(@NotNull String privilegeName, boolean isAbstract,
+                                       @Nullable String[] declaredAggregateNames) throws RepositoryException {
         if (root.hasPendingChanges()) {
             throw new InvalidItemStateException("Attempt to register a new privilege while there are pending changes.");
         }

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACLTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACLTest.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACLTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACLTest.java Mon Aug 19 08:15:13 2019
@@ -321,15 +321,18 @@ public class ACLTest extends AbstractAcc
                 return false;
             }
 
+            @NotNull
             public String[] getRestrictionNames() {
                 return new String[0];
             }
 
-            public Value getRestriction(String restrictionName) {
+            @Nullable
+            public Value getRestriction(@NotNull String restrictionName) {
                 return null;
             }
 
-            public Value[] getRestrictions(String restrictionName) {
+            @Nullable
+            public Value[] getRestrictions(@NotNull String restrictionName) {
                 return null;
             }
 

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImplTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImplTest.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImplTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImplTest.java Mon Aug 19 08:15:13 2019
@@ -2246,18 +2246,18 @@ public class AccessControlManagerImplTes
         }
 
         @Override
-        public boolean addEntry(Principal principal, Privilege[] privileges,
-                                boolean isAllow, Map<String, Value> restrictions) {
+        public boolean addEntry(@NotNull Principal principal, @NotNull Privilege[] privileges,
+                                boolean isAllow, @Nullable Map<String, Value> restrictions) {
             throw new UnsupportedOperationException();
         }
 
         @Override
-        public boolean addEntry(Principal principal, Privilege[] privileges, boolean isAllow, Map<String, Value> restrictions, Map<String, Value[]> mvRestrictions) {
+        public boolean addEntry(@NotNull Principal principal, @NotNull Privilege[] privileges, boolean isAllow, @Nullable Map<String, Value> restrictions, @Nullable Map<String, Value[]> mvRestrictions) {
             throw new UnsupportedOperationException();
         }
 
         @Override
-        public void orderBefore(AccessControlEntry srcEntry, AccessControlEntry destEntry) {
+        public void orderBefore(@NotNull AccessControlEntry srcEntry, @Nullable AccessControlEntry destEntry) {
             throw new UnsupportedOperationException();
         }
 

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/EntryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/EntryTest.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/EntryTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/EntryTest.java Mon Aug 19 08:15:13 2019
@@ -43,6 +43,8 @@ import org.apache.jackrabbit.oak.spi.sec
 import org.apache.jackrabbit.oak.spi.security.authorization.restriction.Restriction;
 import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeBits;
 import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeConstants;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -473,15 +475,18 @@ public class EntryTest extends AbstractA
                 return true;
             }
 
+            @NotNull
             public String[] getRestrictionNames() {
                 return new String[0];
             }
 
-            public Value getRestriction(String restrictionName) {
+            @Nullable
+            public Value getRestriction(@NotNull String restrictionName) {
                 return null;
             }
 
-            public Value[] getRestrictions(String restrictionName) {
+            @Nullable
+            public Value[] getRestrictions(@NotNull String restrictionName) {
                 return null;
             }
 
@@ -562,15 +567,18 @@ public class EntryTest extends AbstractA
                 return true;
             }
 
+            @NotNull
             public String[] getRestrictionNames() {
                 return new String[0];
             }
 
-            public Value getRestriction(String restrictionName) {
+            @Nullable
+            public Value getRestriction(@NotNull String restrictionName) {
                 return null;
             }
 
-            public Value[] getRestrictions(String restrictionName) {
+            @Nullable
+            public Value[] getRestrictions(@NotNull String restrictionName) {
                 return null;
             }
 

Modified: jackrabbit/oak/trunk/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/predefined/PredefinedAuthorizationConfiguration.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/predefined/PredefinedAuthorizationConfiguration.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/predefined/PredefinedAuthorizationConfiguration.java (original)
+++ jackrabbit/oak/trunk/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/predefined/PredefinedAuthorizationConfiguration.java Mon Aug 19 08:15:13 2019
@@ -91,18 +91,21 @@ public final class PredefinedAuthorizati
                 throw new AccessControlException();
             }
 
+            @NotNull
             @Override
-            public JackrabbitAccessControlPolicy[] getApplicablePolicies(Principal principal) {
+            public JackrabbitAccessControlPolicy[] getApplicablePolicies(@NotNull Principal principal) {
                 return new JackrabbitAccessControlPolicy[0];
             }
 
+            @NotNull
             @Override
-            public JackrabbitAccessControlPolicy[] getPolicies(Principal principal) {
+            public JackrabbitAccessControlPolicy[] getPolicies(@NotNull Principal principal) {
                 return new JackrabbitAccessControlPolicy[0];
             }
 
+            @NotNull
             @Override
-            public AccessControlPolicy[] getEffectivePolicies(Set<Principal> set) {
+            public AccessControlPolicy[] getEffectivePolicies(@NotNull Set<Principal> set) {
                 return new AccessControlPolicy[0];
             }
         };

Modified: jackrabbit/oak/trunk/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/readonly/ReadOnlyAuthorizationConfiguration.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/readonly/ReadOnlyAuthorizationConfiguration.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/readonly/ReadOnlyAuthorizationConfiguration.java (original)
+++ jackrabbit/oak/trunk/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/readonly/ReadOnlyAuthorizationConfiguration.java Mon Aug 19 08:15:13 2019
@@ -201,18 +201,21 @@ public final class ReadOnlyAuthorization
                 throw new AccessControlException();
             }
 
+            @NotNull
             @Override
-            public JackrabbitAccessControlPolicy[] getApplicablePolicies(Principal principal) {
+            public JackrabbitAccessControlPolicy[] getApplicablePolicies(@NotNull Principal principal) {
                 return new JackrabbitAccessControlPolicy[0];
             }
 
+            @NotNull
             @Override
-            public JackrabbitAccessControlPolicy[] getPolicies(Principal principal) {
+            public JackrabbitAccessControlPolicy[] getPolicies(@NotNull Principal principal) {
                 return new JackrabbitAccessControlPolicy[0];
             }
 
+            @NotNull
             @Override
-            public AccessControlPolicy[] getEffectivePolicies(Set<Principal> set) {
+            public AccessControlPolicy[] getEffectivePolicies(@NotNull Set<Principal> set) {
                 return new AccessControlPolicy[] {ReadOnlyPolicy.INSTANCE};
             }
         };

Modified: jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/accesscontrol/L5_AccessControlListImplTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/accesscontrol/L5_AccessControlListImplTest.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/accesscontrol/L5_AccessControlListImplTest.java (original)
+++ jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/accesscontrol/L5_AccessControlListImplTest.java Mon Aug 19 08:15:13 2019
@@ -38,6 +38,8 @@ import org.apache.jackrabbit.oak.securit
 import org.apache.jackrabbit.oak.spi.security.principal.PrincipalImpl;
 import org.apache.jackrabbit.test.AbstractJCRTest;
 import org.apache.jackrabbit.test.NotExecutableException;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 
 import static org.junit.Assert.assertArrayEquals;
 
@@ -249,15 +251,18 @@ public class L5_AccessControlListImplTes
                     return false;
                 }
 
+                @NotNull
                 public String[] getRestrictionNames() {
                     return new String[0];
                 }
 
-                public Value getRestriction(String restrictionName) {
+                @Nullable
+                public Value getRestriction(@NotNull String restrictionName) {
                     return null;
                 }
 
-                public Value[] getRestrictions(String restrictionName) {
+                @Nullable
+                public Value[] getRestrictions(@NotNull String restrictionName) {
                     return null;
                 }
 

Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/JackrabbitAccessControlManagerDelegator.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/JackrabbitAccessControlManagerDelegator.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/JackrabbitAccessControlManagerDelegator.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/JackrabbitAccessControlManagerDelegator.java Mon Aug 19 08:15:13 2019
@@ -31,6 +31,7 @@ import org.apache.jackrabbit.api.securit
 import org.apache.jackrabbit.api.security.JackrabbitAccessControlPolicy;
 import org.apache.jackrabbit.oak.jcr.session.operation.SessionOperation;
 import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 
 /**
  * This implementation of {@code JackrabbitAccessControlManager} delegates back to a
@@ -50,8 +51,9 @@ public class JackrabbitAccessControlMana
         this.jcrACManager = new AccessControlManagerDelegator(delegate, acManager);
     }
 
+    @NotNull
     @Override
-    public JackrabbitAccessControlPolicy[] getApplicablePolicies(final Principal principal)
+    public JackrabbitAccessControlPolicy[] getApplicablePolicies(@NotNull final Principal principal)
             throws RepositoryException {
         return delegate.perform(new SessionOperation<JackrabbitAccessControlPolicy[]>("getApplicablePolicies") {
             @NotNull
@@ -62,8 +64,9 @@ public class JackrabbitAccessControlMana
         });
     }
 
+    @NotNull
     @Override
-    public JackrabbitAccessControlPolicy[] getPolicies(final Principal principal)
+    public JackrabbitAccessControlPolicy[] getPolicies(@NotNull final Principal principal)
             throws RepositoryException {
         return delegate.perform(new SessionOperation<JackrabbitAccessControlPolicy[]>("getPolicies") {
             @NotNull
@@ -74,8 +77,9 @@ public class JackrabbitAccessControlMana
         });
     }
 
+    @NotNull
     @Override
-    public AccessControlPolicy[] getEffectivePolicies(final Set<Principal> principals)
+    public AccessControlPolicy[] getEffectivePolicies(@NotNull final Set<Principal> principals)
             throws RepositoryException {
         return delegate.perform(new SessionOperation<AccessControlPolicy[]>("getEffectivePolicies") {
             @NotNull
@@ -87,8 +91,8 @@ public class JackrabbitAccessControlMana
     }
 
     @Override
-    public boolean hasPrivileges(final String absPath, final Set<Principal> principals,
-            final Privilege[] privileges) throws RepositoryException {
+    public boolean hasPrivileges(@Nullable final String absPath, @NotNull final Set<Principal> principals,
+                                 @NotNull final Privilege[] privileges) throws RepositoryException {
         return delegate.perform(new SessionOperation<Boolean>("hasPrivileges") {
             @NotNull
             @Override
@@ -98,8 +102,9 @@ public class JackrabbitAccessControlMana
         });
     }
 
+    @NotNull
     @Override
-    public Privilege[] getPrivileges(final String absPath, final Set<Principal> principals)
+    public Privilege[] getPrivileges(@Nullable final String absPath, @NotNull final Set<Principal> principals)
             throws RepositoryException {
         return delegate.perform(new SessionOperation<Privilege[]>("getPrivileges") {
             @NotNull

Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PrivilegeManagerDelegator.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PrivilegeManagerDelegator.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PrivilegeManagerDelegator.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PrivilegeManagerDelegator.java Mon Aug 19 08:15:13 2019
@@ -28,6 +28,7 @@ import javax.jcr.security.Privilege;
 import org.apache.jackrabbit.api.security.authorization.PrivilegeManager;
 import org.apache.jackrabbit.oak.jcr.session.operation.SessionOperation;
 import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 
 /**
  * This implementation of {@code PrivilegeManager} delegates back to a
@@ -44,6 +45,7 @@ public class PrivilegeManagerDelegator i
         this.delegate = delegate;
     }
 
+    @NotNull
     @Override
     public Privilege[] getRegisteredPrivileges() throws RepositoryException {
         return delegate.perform(new SessionOperation<Privilege[]>("getRegisteredPrivileges") {
@@ -55,8 +57,9 @@ public class PrivilegeManagerDelegator i
         });
     }
 
+    @NotNull
     @Override
-    public Privilege getPrivilege(final String privilegeName) throws AccessControlException, RepositoryException {
+    public Privilege getPrivilege(@NotNull final String privilegeName) throws AccessControlException, RepositoryException {
         return delegate.perform(new SessionOperation<Privilege>("getPrivilege") {
             @NotNull
             @Override
@@ -66,8 +69,9 @@ public class PrivilegeManagerDelegator i
         });
     }
 
+    @NotNull
     @Override
-    public Privilege registerPrivilege(final String privilegeName, final boolean isAbstract, final String[] declaredAggregateNames) throws AccessDeniedException, NamespaceException, RepositoryException {
+    public Privilege registerPrivilege(@NotNull final String privilegeName, final boolean isAbstract, @Nullable final String[] declaredAggregateNames) throws AccessDeniedException, NamespaceException, RepositoryException {
         return delegate.perform(new SessionOperation<Privilege>("registerPrivilege", true) {
             @NotNull
             @Override

Modified: jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ACE.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ACE.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ACE.java (original)
+++ jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ACE.java Mon Aug 19 08:15:13 2019
@@ -104,7 +104,7 @@ public abstract class ACE implements Jac
 
     @Nullable
     @Override
-    public Value getRestriction(String restrictionName) throws RepositoryException {
+    public Value getRestriction(@NotNull String restrictionName) throws RepositoryException {
         for (Restriction restriction : restrictions) {
             String jcrName = getJcrName(restriction);
             if (jcrName.equals(restrictionName)) {
@@ -124,7 +124,7 @@ public abstract class ACE implements Jac
 
     @Nullable
     @Override
-    public Value[] getRestrictions(String restrictionName) {
+    public Value[] getRestrictions(@NotNull String restrictionName) {
         for (Restriction restriction : restrictions) {
             String jcrName = getJcrName(restriction);
             if (jcrName.equals(restrictionName)) {

Modified: jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlList.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlList.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlList.java (original)
+++ jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlList.java Mon Aug 19 08:15:13 2019
@@ -115,7 +115,7 @@ public abstract class AbstractAccessCont
     }
 
     @Override
-    public int getRestrictionType(String restrictionName) {
+    public int getRestrictionType(@NotNull String restrictionName) {
         for (RestrictionDefinition definition : getRestrictionProvider().getSupportedRestrictions(getOakPath())) {
             String jcrName = namePathMapper.getJcrName(definition.getName());
             if (jcrName.equals(restrictionName)) {
@@ -128,7 +128,7 @@ public abstract class AbstractAccessCont
     }
 
     @Override
-    public boolean isMultiValueRestriction(String restrictionName) {
+    public boolean isMultiValueRestriction(@NotNull String restrictionName) {
         for (RestrictionDefinition definition : getRestrictionProvider().getSupportedRestrictions(getOakPath())) {
             String jcrName = namePathMapper.getJcrName(definition.getName());
             if (jcrName.equals(restrictionName)) {
@@ -141,11 +141,11 @@ public abstract class AbstractAccessCont
 
 
     @Override
-    public boolean addEntry(Principal principal, Privilege[] privileges, boolean isAllow) throws RepositoryException {
+    public boolean addEntry(@NotNull Principal principal, @NotNull 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 {
+    public boolean addEntry(@NotNull Principal principal, @NotNull Privilege[] privileges, boolean isAllow, @Nullable Map<String, Value> restrictions) throws RepositoryException {
         return addEntry(principal, privileges, isAllow, restrictions, null);
     }
 }

Modified: jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlManager.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlManager.java (original)
+++ jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlManager.java Mon Aug 19 08:15:13 2019
@@ -106,6 +106,7 @@ public abstract class AbstractAccessCont
         }
     }
 
+    @NotNull
     @Override
     public Privilege[] getPrivileges(@Nullable String absPath, @NotNull Set<Principal> principals) throws RepositoryException {
         if (getPrincipals().equals(principals)) {

Modified: jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ImmutableACL.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ImmutableACL.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ImmutableACL.java (original)
+++ jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ImmutableACL.java Mon Aug 19 08:15:13 2019
@@ -79,18 +79,18 @@ public class ImmutableACL extends Abstra
     //----------------------------------------< JackrabbitAccessControlList >---
 
     @Override
-    public boolean addEntry(Principal principal, Privilege[] privileges,
-                            boolean isAllow, Map<String, Value> restrictions) throws AccessControlException {
+    public boolean addEntry(@NotNull Principal principal, @NotNull Privilege[] privileges,
+                            boolean isAllow, @Nullable Map<String, Value> restrictions) throws AccessControlException {
         throw new AccessControlException("Immutable ACL. Use AccessControlManager#getPolicy or #getApplicablePolicies in order to obtain an modifiable ACL.");
     }
 
     @Override
-    public boolean addEntry(Principal principal, Privilege[] privileges, boolean isAllow, Map<String, Value> restrictions, Map<String, Value[]> mvRestrictions) throws AccessControlException {
+    public boolean addEntry(@NotNull Principal principal, @NotNull Privilege[] privileges, boolean isAllow, @Nullable Map<String, Value> restrictions, @Nullable Map<String, Value[]> mvRestrictions) throws AccessControlException {
         throw new AccessControlException("Immutable ACL. Use AccessControlManager#getPolicy or #getApplicablePolicies in order to obtain an modifiable ACL.");
     }
 
     @Override
-    public void orderBefore(AccessControlEntry srcEntry, AccessControlEntry destEntry) throws AccessControlException {
+    public void orderBefore(@NotNull AccessControlEntry srcEntry, @Nullable AccessControlEntry destEntry) throws AccessControlException {
         throw new AccessControlException("Immutable ACL. Use AccessControlManager#getPolicy or #getApplicablePolicy in order to obtain a modifiable ACL.");
     }
 

Modified: jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/package-info.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/package-info.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/package-info.java (original)
+++ jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/package-info.java Mon Aug 19 08:15:13 2019
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-@Version("1.6.0")
+@Version("1.6.1")
 package org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol;
 
 import org.osgi.annotation.versioning.Version;

Modified: jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlManagerTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlManagerTest.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlManagerTest.java (original)
+++ jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlManagerTest.java Mon Aug 19 08:15:13 2019
@@ -449,18 +449,21 @@ public class AbstractAccessControlManage
             super(root, namePathMapper, securityProvider);
         }
 
+        @NotNull
         @Override
-        public JackrabbitAccessControlPolicy[] getApplicablePolicies(Principal principal) {
+        public JackrabbitAccessControlPolicy[] getApplicablePolicies(@NotNull Principal principal) {
             throw new UnsupportedOperationException();
         }
 
+        @NotNull
         @Override
-        public JackrabbitAccessControlPolicy[] getPolicies(Principal principal) {
+        public JackrabbitAccessControlPolicy[] getPolicies(@NotNull Principal principal) {
             throw new UnsupportedOperationException();
         }
 
+        @NotNull
         @Override
-        public AccessControlPolicy[] getEffectivePolicies(Set<Principal> set) {
+        public AccessControlPolicy[] getEffectivePolicies(@NotNull Set<Principal> set) {
             throw new UnsupportedOperationException();
         }
 

Modified: jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/TestACL.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/TestACL.java?rev=1865417&r1=1865416&r2=1865417&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/TestACL.java (original)
+++ jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/TestACL.java Mon Aug 19 08:15:13 2019
@@ -66,12 +66,12 @@ public class TestACL extends AbstractAcc
     }
 
     @Override
-    public boolean addEntry(Principal principal, Privilege[] privileges, boolean isAllow, Map<String, Value> restrictions, Map<String, Value[]> mvRestrictions) {
+    public boolean addEntry(@NotNull Principal principal, @NotNull Privilege[] privileges, boolean isAllow, @Nullable Map<String, Value> restrictions, @Nullable Map<String, Value[]> mvRestrictions) {
         return false;
     }
 
     @Override
-    public void orderBefore(AccessControlEntry srcEntry, AccessControlEntry destEntry) {
+    public void orderBefore(@NotNull AccessControlEntry srcEntry, @Nullable AccessControlEntry destEntry) {
         throw new UnsupportedOperationException();
     }