Index: oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManager.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManager.java (revision 1865090) +++ oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManager.java (date 1565946119000) @@ -204,20 +204,23 @@ //-------------------------------------< 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 principals) { + public AccessControlPolicy[] getEffectivePolicies(@NotNull Set principals) { // editing by 'principal' is not supported return new AccessControlPolicy[0]; } Index: oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalBasedAccessControlManager.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalBasedAccessControlManager.java (revision 1865092) +++ oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalBasedAccessControlManager.java (date 1565946119000) @@ -105,8 +105,9 @@ //-------------------------------------< 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 @@ 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 @@ return (policy == null) ? new JackrabbitAccessControlPolicy[0] : new JackrabbitAccessControlPolicy[]{policy}; } + @NotNull @Override - public AccessControlPolicy[] getEffectivePolicies(Set principals) throws RepositoryException { + public AccessControlPolicy[] getEffectivePolicies(@NotNull Set principals) throws RepositoryException { // this implementation only takes effect if the complete set of principals can be handled. see also // PrincipalBasedAuthorizationConfiguration.getPermissionProvider if (canHandle(principals)) { Index: oak-authorization-principalbased/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalPolicyImplTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-authorization-principalbased/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalPolicyImplTest.java (revision 1865092) +++ oak-authorization-principalbased/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalPolicyImplTest.java (date 1565945571000) @@ -595,18 +595,21 @@ 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); } Index: oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImpl.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImpl.java (revision 1865090) +++ oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImpl.java (date 1565945680000) @@ -696,7 +696,7 @@ } @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"); } Index: oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACL.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACL.java (revision 1865090) +++ oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACL.java (date 1565945680000) @@ -83,9 +83,9 @@ //----------------------------------------< JackrabbitAccessControlList >--- @Override - public boolean addEntry(Principal principal, Privilege[] privileges, - boolean isAllow, Map restrictions, - Map mvRestrictions) throws RepositoryException { + public boolean addEntry(@NotNull Principal principal, @NotNull Privilege[] privileges, + boolean isAllow, @Nullable Map restrictions, + @Nullable Map 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 @@ } @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); Index: oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManager.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManager.java (revision 1865090) +++ oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManager.java (date 1565946119000) @@ -132,8 +132,9 @@ } //-------------------------------------< JackrabbitAccessControlManager >--- + @NotNull @Override - public JackrabbitAccessControlPolicy[] getApplicablePolicies(Principal principal) throws RepositoryException { + public JackrabbitAccessControlPolicy[] getApplicablePolicies(@NotNull Principal principal) throws RepositoryException { ImmutableList.Builder policies = ImmutableList.builder(); for (AccessControlManager acMgr : acMgrs) { if (acMgr instanceof JackrabbitAccessControlManager && acMgr instanceof PolicyOwner) { @@ -144,8 +145,9 @@ 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 policies = ImmutableList.builder(); for (AccessControlManager acMgr : acMgrs) { if (acMgr instanceof JackrabbitAccessControlManager) { @@ -156,8 +158,9 @@ return l.toArray(new JackrabbitAccessControlPolicy[0]); } + @NotNull @Override - public AccessControlPolicy[] getEffectivePolicies(Set principals) throws RepositoryException { + public AccessControlPolicy[] getEffectivePolicies(@NotNull Set principals) throws RepositoryException { ImmutableList.Builder policies = ImmutableList.builder(); for (AccessControlManager acMgr : acMgrs) { if (acMgr instanceof JackrabbitAccessControlManager) { Index: oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeManagerImpl.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeManagerImpl.java (revision 1865090) +++ oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeManagerImpl.java (date 1565946119000) @@ -53,6 +53,7 @@ } //---------------------------------------------------< PrivilegeManager >--- + @NotNull @Override public Privilege[] getRegisteredPrivileges() { Set privileges = new HashSet<>(); @@ -62,8 +63,9 @@ 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 @@ } } + @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."); } Index: oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImplTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImplTest.java (revision 1865090) +++ oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImplTest.java (date 1565944114000) @@ -2246,18 +2246,18 @@ } @Override - public boolean addEntry(Principal principal, Privilege[] privileges, - boolean isAllow, Map restrictions) { + public boolean addEntry(@NotNull Principal principal, @NotNull Privilege[] privileges, + boolean isAllow, @Nullable Map restrictions) { throw new UnsupportedOperationException(); } @Override - public boolean addEntry(Principal principal, Privilege[] privileges, boolean isAllow, Map restrictions, Map mvRestrictions) { + public boolean addEntry(@NotNull Principal principal, @NotNull Privilege[] privileges, boolean isAllow, @Nullable Map restrictions, @Nullable Map mvRestrictions) { throw new UnsupportedOperationException(); } @Override - public void orderBefore(AccessControlEntry srcEntry, AccessControlEntry destEntry) { + public void orderBefore(@NotNull AccessControlEntry srcEntry, @Nullable AccessControlEntry destEntry) { throw new UnsupportedOperationException(); } Index: oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACLTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACLTest.java (revision 1865090) +++ oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACLTest.java (date 1565945608000) @@ -321,15 +321,18 @@ 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; } Index: oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/EntryTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/EntryTest.java (revision 1865090) +++ oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/EntryTest.java (date 1565945571000) @@ -43,6 +43,8 @@ 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 @@ 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 @@ 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; } Index: oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/predefined/PredefinedAuthorizationConfiguration.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/predefined/PredefinedAuthorizationConfiguration.java (revision 1865090) +++ oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/predefined/PredefinedAuthorizationConfiguration.java (date 1565946119000) @@ -91,18 +91,21 @@ 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 set) { + public AccessControlPolicy[] getEffectivePolicies(@NotNull Set set) { return new AccessControlPolicy[0]; } }; Index: oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/readonly/ReadOnlyAuthorizationConfiguration.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/readonly/ReadOnlyAuthorizationConfiguration.java (revision 1865090) +++ oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/readonly/ReadOnlyAuthorizationConfiguration.java (date 1565946119000) @@ -201,18 +201,21 @@ 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 set) { + public AccessControlPolicy[] getEffectivePolicies(@NotNull Set set) { return new AccessControlPolicy[] {ReadOnlyPolicy.INSTANCE}; } }; Index: oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/accesscontrol/L5_AccessControlListImplTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/accesscontrol/L5_AccessControlListImplTest.java (revision 1865090) +++ oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/accesscontrol/L5_AccessControlListImplTest.java (date 1565944301000) @@ -38,6 +38,8 @@ 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 @@ 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; } Index: oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/JackrabbitAccessControlManagerDelegator.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/JackrabbitAccessControlManagerDelegator.java (revision 1865090) +++ oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/JackrabbitAccessControlManagerDelegator.java (date 1565946119000) @@ -31,6 +31,7 @@ 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 @@ 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("getApplicablePolicies") { @NotNull @@ -62,8 +64,9 @@ }); } + @NotNull @Override - public JackrabbitAccessControlPolicy[] getPolicies(final Principal principal) + public JackrabbitAccessControlPolicy[] getPolicies(@NotNull final Principal principal) throws RepositoryException { return delegate.perform(new SessionOperation("getPolicies") { @NotNull @@ -74,8 +77,9 @@ }); } + @NotNull @Override - public AccessControlPolicy[] getEffectivePolicies(final Set principals) + public AccessControlPolicy[] getEffectivePolicies(@NotNull final Set principals) throws RepositoryException { return delegate.perform(new SessionOperation("getEffectivePolicies") { @NotNull @@ -87,8 +91,8 @@ } @Override - public boolean hasPrivileges(final String absPath, final Set principals, - final Privilege[] privileges) throws RepositoryException { + public boolean hasPrivileges(@Nullable final String absPath, @NotNull final Set principals, + @NotNull final Privilege[] privileges) throws RepositoryException { return delegate.perform(new SessionOperation("hasPrivileges") { @NotNull @Override @@ -98,8 +102,9 @@ }); } + @NotNull @Override - public Privilege[] getPrivileges(final String absPath, final Set principals) + public Privilege[] getPrivileges(@Nullable final String absPath, @NotNull final Set principals) throws RepositoryException { return delegate.perform(new SessionOperation("getPrivileges") { @NotNull Index: oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PrivilegeManagerDelegator.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PrivilegeManagerDelegator.java (revision 1865090) +++ oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PrivilegeManagerDelegator.java (date 1565946119000) @@ -28,6 +28,7 @@ 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 @@ this.delegate = delegate; } + @NotNull @Override public Privilege[] getRegisteredPrivileges() throws RepositoryException { return delegate.perform(new SessionOperation("getRegisteredPrivileges") { @@ -55,8 +57,9 @@ }); } + @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("getPrivilege") { @NotNull @Override @@ -66,8 +69,9 @@ }); } + @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("registerPrivilege", true) { @NotNull @Override Index: oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlList.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlList.java (revision 1865090) +++ oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlList.java (date 1565944114000) @@ -115,7 +115,7 @@ } @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 @@ } @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 @@ @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.emptyMap()); } @Override - public boolean addEntry(Principal principal, Privilege[] privileges, boolean isAllow, Map restrictions) throws RepositoryException { + public boolean addEntry(@NotNull Principal principal, @NotNull Privilege[] privileges, boolean isAllow, @Nullable Map restrictions) throws RepositoryException { return addEntry(principal, privileges, isAllow, restrictions, null); } } Index: oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlManager.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlManager.java (revision 1865090) +++ oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlManager.java (date 1565946119000) @@ -106,6 +106,7 @@ } } + @NotNull @Override public Privilege[] getPrivileges(@Nullable String absPath, @NotNull Set principals) throws RepositoryException { if (getPrincipals().equals(principals)) { Index: oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ACE.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ACE.java (revision 1865090) +++ oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ACE.java (date 1565944301000) @@ -104,7 +104,7 @@ @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 @@ @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)) { Index: oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ImmutableACL.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ImmutableACL.java (revision 1865090) +++ oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ImmutableACL.java (date 1565944114000) @@ -79,18 +79,18 @@ //----------------------------------------< JackrabbitAccessControlList >--- @Override - public boolean addEntry(Principal principal, Privilege[] privileges, - boolean isAllow, Map restrictions) throws AccessControlException { + public boolean addEntry(@NotNull Principal principal, @NotNull Privilege[] privileges, + boolean isAllow, @Nullable Map 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 restrictions, Map mvRestrictions) throws AccessControlException { + public boolean addEntry(@NotNull Principal principal, @NotNull Privilege[] privileges, boolean isAllow, @Nullable Map restrictions, @Nullable Map 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."); } Index: oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/package-info.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/package-info.java (revision 1865090) +++ oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/package-info.java (date 1565946284000) @@ -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; Index: oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlManagerTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlManagerTest.java (revision 1865090) +++ oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlManagerTest.java (date 1565946119000) @@ -449,18 +449,21 @@ 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 set) { + public AccessControlPolicy[] getEffectivePolicies(@NotNull Set set) { throw new UnsupportedOperationException(); } Index: oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/TestACL.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/TestACL.java (revision 1865090) +++ oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/TestACL.java (date 1565946119000) @@ -66,12 +66,12 @@ } @Override - public boolean addEntry(Principal principal, Privilege[] privileges, boolean isAllow, Map restrictions, Map mvRestrictions) { + public boolean addEntry(@NotNull Principal principal, @NotNull Privilege[] privileges, boolean isAllow, @Nullable Map restrictions, @Nullable Map mvRestrictions) { return false; } @Override - public void orderBefore(AccessControlEntry srcEntry, AccessControlEntry destEntry) { + public void orderBefore(@NotNull AccessControlEntry srcEntry, @Nullable AccessControlEntry destEntry) { throw new UnsupportedOperationException(); }