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 2015/03/31 14:41:34 UTC

svn commit: r1670318 [2/3] - in /jackrabbit/oak/trunk: oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/ oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ ...

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ReadOnlyNodeTypeManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ReadOnlyNodeTypeManager.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ReadOnlyNodeTypeManager.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ReadOnlyNodeTypeManager.java Tue Mar 31 12:41:32 2015
@@ -343,6 +343,7 @@ public abstract class ReadOnlyNodeTypeMa
 
     //-------------------------------------------------< DefinitionProvider >---
 
+    @Nonnull
     @Override
     public NodeDefinition getRootDefinition() throws RepositoryException {
         return new RootNodeDefinition(this);
@@ -358,6 +359,7 @@ public abstract class ReadOnlyNodeTypeMa
         return effective.getNodeDefinition(nodeName, null);
     }
 
+    @Nonnull
     @Override
     public NodeDefinition getDefinition(
             @Nonnull Tree parent, @Nonnull Tree targetNode)

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/PropertyTemplate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/PropertyTemplate.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/PropertyTemplate.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/PropertyTemplate.java Tue Mar 31 12:41:32 2015
@@ -16,6 +16,8 @@
  */
 package org.apache.jackrabbit.oak.plugins.segment;
 
+import javax.annotation.Nonnull;
+
 import static com.google.common.base.Preconditions.checkNotNull;
 
 import org.apache.jackrabbit.oak.api.PropertyState;
@@ -67,7 +69,7 @@ class PropertyTemplate implements Compar
     //--------------------------------------------------------< Comparable >--
 
     @Override
-    public int compareTo(PropertyTemplate template) {
+    public int compareTo(@Nonnull PropertyTemplate template) {
         checkNotNull(template);
         return ComparisonChain.start()
                 .compare(hashCode(), template.hashCode()) // important

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeBuilder.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeBuilder.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeBuilder.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeBuilder.java Tue Mar 31 12:41:32 2015
@@ -19,6 +19,8 @@ package org.apache.jackrabbit.oak.plugin
 import java.io.IOException;
 import java.io.InputStream;
 
+import javax.annotation.Nonnull;
+
 import org.apache.jackrabbit.oak.api.Blob;
 import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
@@ -91,6 +93,7 @@ public class SegmentNodeBuilder extends
 
     //-------------------------------------------------------< NodeBuilder >--
 
+    @Nonnull
     @Override
     public SegmentNodeState getNodeState() {
         NodeState state = super.getNodeState();

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeState.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeState.java Tue Mar 31 12:41:32 2015
@@ -105,7 +105,7 @@ public class SegmentNodeState extends Re
     }
 
     @Override
-    public boolean hasProperty(String name) {
+    public boolean hasProperty(@Nonnull String name) {
         checkNotNull(name);
         Template template = getTemplate();
         if (JCR_PRIMARYTYPE.equals(name)) {
@@ -118,7 +118,7 @@ public class SegmentNodeState extends Re
     }
 
     @Override @CheckForNull
-    public PropertyState getProperty(String name) {
+    public PropertyState getProperty(@Nonnull String name) {
         checkNotNull(name);
         Template template = getTemplate();
         PropertyState property = null;
@@ -214,7 +214,7 @@ public class SegmentNodeState extends Re
     }
 
     @Override
-    public boolean getBoolean(String name) {
+    public boolean getBoolean(@Nonnull String name) {
         return Boolean.TRUE.toString().equals(getValueAsString(name, BOOLEAN));
     }
 
@@ -234,17 +234,17 @@ public class SegmentNodeState extends Re
     }
 
     @Override @Nonnull
-    public Iterable<String> getStrings(String name) {
+    public Iterable<String> getStrings(@Nonnull String name) {
         return getValuesAsStrings(name, STRINGS);
     }
 
     @Override @CheckForNull
-    public String getName(String name) {
+    public String getName(@Nonnull String name) {
         return getValueAsString(name, NAME);
     }
 
     @Override @Nonnull
-    public Iterable<String> getNames(String name) {
+    public Iterable<String> getNames(@Nonnull String name) {
         return getValuesAsStrings(name, NAMES);
     }
 
@@ -365,7 +365,7 @@ public class SegmentNodeState extends Re
     }
 
     @Override
-    public boolean hasChildNode(String name) {
+    public boolean hasChildNode(@Nonnull String name) {
         String childName = getTemplate().getChildName();
         if (childName == Template.ZERO_CHILD_NODES) {
             return false;
@@ -377,7 +377,7 @@ public class SegmentNodeState extends Re
     }
 
     @Override @Nonnull
-    public NodeState getChildNode(String name) {
+    public NodeState getChildNode(@Nonnull String name) {
         String childName = getTemplate().getChildName();
         if (childName == Template.MANY_CHILD_NODES) {
             MapEntry child = getChildNodeMap().getEntry(name);

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeLocation.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeLocation.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeLocation.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeLocation.java Tue Mar 31 12:41:32 2015
@@ -247,6 +247,7 @@ public abstract class TreeLocation {
             this.name = "";
         }
 
+        @Nonnull
         @Override
         public TreeLocation getParent() {
             return parent;
@@ -260,6 +261,7 @@ public abstract class TreeLocation {
             return false;
         }
 
+        @Nonnull
         @Override
         public String getPath() {
             return parent == this ? "" : PathUtils.concat(parent.getPath(), name);

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/impl/ImmutableTree.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/impl/ImmutableTree.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/impl/ImmutableTree.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/impl/ImmutableTree.java Tue Mar 31 12:41:32 2015
@@ -111,7 +111,7 @@ public final class ImmutableTree extends
     //-------------------------------------------------------< AbstractTree >---
     @Override
     @Nonnull
-    protected ImmutableTree createChild(String name) {
+    protected ImmutableTree createChild(@Nonnull String name) {
         return new ImmutableTree(this, name, nodeBuilder.getNodeState().getChildNode(name));
     }
 

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenAuthentication.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenAuthentication.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenAuthentication.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenAuthentication.java Tue Mar 31 12:41:32 2015
@@ -18,6 +18,7 @@ package org.apache.jackrabbit.oak.securi
 
 import java.util.Date;
 import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 import javax.jcr.Credentials;
 import javax.security.auth.login.LoginException;
 
@@ -49,7 +50,7 @@ class TokenAuthentication implements Aut
 
     //-----------------------------------------------------< Authentication >---
     @Override
-    public boolean authenticate(Credentials credentials) throws LoginException {
+    public boolean authenticate(@Nullable Credentials credentials) throws LoginException {
         if (tokenProvider != null && credentials instanceof TokenCredentials) {
             TokenCredentials tc = (TokenCredentials) credentials;
             if (!validateCredentials(tc)) {

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImpl.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImpl.java Tue Mar 31 12:41:32 2015
@@ -91,7 +91,7 @@ public class TokenConfigurationImpl exte
 
     @Nonnull
     @Override
-    public List<? extends ValidatorProvider> getValidators(String workspaceName, Set<Principal> principals, MoveTracker moveTracker) {
+    public List<? extends ValidatorProvider> getValidators(@Nonnull String workspaceName, @Nonnull Set<Principal> principals, @Nonnull MoveTracker moveTracker) {
         ValidatorProvider vp = new TokenValidatorProvider(getSecurityProvider().getParameters(UserConfiguration.NAME));
         return ImmutableList.of(vp);
     }

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenLoginModule.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenLoginModule.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenLoginModule.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenLoginModule.java Tue Mar 31 12:41:32 2015
@@ -190,6 +190,7 @@ public final class TokenLoginModule exte
     }
 
     //------------------------------------------------< AbstractLoginModule >---
+    @Nonnull
     @Override
     protected Set<Class> getSupportedCredentials() {
         return Collections.<Class>singleton(TokenCredentials.class);

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenProviderImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenProviderImpl.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenProviderImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenProviderImpl.java Tue Mar 31 12:41:32 2015
@@ -131,7 +131,7 @@ class TokenProviderImpl implements Token
      *         {@code false} otherwise.
      */
     @Override
-    public boolean doCreateToken(Credentials credentials) {
+    public boolean doCreateToken(@Nonnull Credentials credentials) {
         SimpleCredentials sc = extractSimpleCredentials(credentials);
         if (sc == null) {
             return false;
@@ -152,7 +152,7 @@ class TokenProviderImpl implements Token
      *         be created.
      */
     @Override
-    public TokenInfo createToken(Credentials credentials) {
+    public TokenInfo createToken(@Nonnull Credentials credentials) {
         SimpleCredentials sc = extractSimpleCredentials(credentials);
         TokenInfo tokenInfo = null;
         if (sc != null) {
@@ -184,11 +184,11 @@ class TokenProviderImpl implements Token
      *         be created.
      */
     @Override
-    public TokenInfo createToken(String userId, Map<String, ?> attributes) {
+    public TokenInfo createToken(@Nonnull String userId, @Nonnull Map<String, ?> attributes) {
         String error = "Failed to create login token. ";
         User user = getUser(userId);
         NodeUtil tokenParent = getTokenParent(user);
-        if (tokenParent != null) {
+        if (tokenParent != null && user != null) {
             try {
                 String id = user.getID();
                 long creationTime = new Date().getTime();
@@ -243,7 +243,7 @@ class TokenProviderImpl implements Token
      *         associated with a valid user.
      */
     @Override
-    public TokenInfo getTokenInfo(String token) {
+    public TokenInfo getTokenInfo(@Nonnull String token) {
         int pos = token.indexOf(DELIM);
         String nodeId = (pos == -1) ? token : token.substring(0, pos);
         Tree tokenTree = identifierManager.getTree(nodeId);
@@ -471,11 +471,13 @@ class TokenProviderImpl implements Token
 
         //------------------------------------------------------< TokenInfo >---
 
+        @Nonnull
         @Override
         public String getUserId() {
             return userId;
         }
 
+        @Nonnull
         @Override
         public String getToken() {
             return token;
@@ -558,11 +560,13 @@ class TokenProviderImpl implements Token
             return true;
         }
 
+        @Nonnull
         @Override
         public Map<String, String> getPrivateAttributes() {
             return Collections.unmodifiableMap(mandatoryAttributes);
         }
 
+        @Nonnull
         @Override
         public Map<String, String> getPublicAttributes() {
             return Collections.unmodifiableMap(publicAttributes);

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/user/LoginModuleImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/user/LoginModuleImpl.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/user/LoginModuleImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/user/LoginModuleImpl.java Tue Mar 31 12:41:32 2015
@@ -23,6 +23,7 @@ import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import javax.annotation.CheckForNull;
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 import javax.jcr.Credentials;
 import javax.jcr.GuestCredentials;
@@ -164,6 +165,7 @@ public final class LoginModuleImpl exten
     }
 
     //------------------------------------------------< AbstractLoginModule >---
+    @Nonnull
     @Override
     protected Set<Class> getSupportedCredentials() {
         return SUPPORTED_CREDENTIALS;

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java Tue Mar 31 12:41:32 2015
@@ -125,6 +125,7 @@ public class AuthorizationConfigurationI
         return NAME;
     }
 
+    @Nonnull
     @Override
     public Context getContext() {
         return AuthorizationContext.getInstance();
@@ -138,14 +139,15 @@ public class AuthorizationConfigurationI
 
     @Nonnull
     @Override
-    public List<? extends CommitHook> getCommitHooks(String workspaceName) {
+    public List<? extends CommitHook> getCommitHooks(@Nonnull String workspaceName) {
         return ImmutableList.of(
                 new VersionablePathHook(workspaceName),
                 new PermissionHook(workspaceName, getRestrictionProvider()));
     }
 
+    @Nonnull
     @Override
-    public List<ValidatorProvider> getValidators(String workspaceName, Set<Principal> principals, MoveTracker moveTracker) {
+    public List<ValidatorProvider> getValidators(@Nonnull String workspaceName, @Nonnull Set<Principal> principals, @Nonnull MoveTracker moveTracker) {
         return ImmutableList.of(
                 new PermissionStoreValidatorProvider(),
                 new PermissionValidatorProvider(getSecurityProvider(), workspaceName, principals, moveTracker),
@@ -159,8 +161,9 @@ public class AuthorizationConfigurationI
     }
 
     //-----------------------------------------< AccessControlConfiguration >---
+    @Nonnull
     @Override
-    public AccessControlManager getAccessControlManager(Root root, NamePathMapper namePathMapper) {
+    public AccessControlManager getAccessControlManager(@Nonnull Root root, @Nonnull NamePathMapper namePathMapper) {
         return new AccessControlManagerImpl(root, namePathMapper, getSecurityProvider());
     }
 
@@ -177,7 +180,7 @@ public class AuthorizationConfigurationI
 
     @Nonnull
     @Override
-    public PermissionProvider getPermissionProvider(Root root, String workspaceName, Set<Principal> principals) {
+    public PermissionProvider getPermissionProvider(@Nonnull Root root, @Nonnull String workspaceName, @Nonnull Set<Principal> principals) {
         return new PermissionProviderImpl(root, workspaceName, principals, this);
     }
 

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationContext.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationContext.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationContext.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationContext.java Tue Mar 31 12:41:32 2015
@@ -40,7 +40,7 @@ final class AuthorizationContext impleme
 
     //------------------------------------------------------------< Context >---
     @Override
-    public boolean definesProperty(Tree parent, PropertyState property) {
+    public boolean definesProperty(@Nonnull Tree parent, @Nonnull PropertyState property) {
         return definesTree(parent);
     }
 
@@ -51,13 +51,13 @@ final class AuthorizationContext impleme
     }
 
     @Override
-    public boolean definesTree(Tree tree) {
+    public boolean definesTree(@Nonnull Tree tree) {
         String ntName = TreeUtil.getPrimaryTypeName(tree);
         return AC_NODETYPE_NAMES.contains(ntName) || PERMISSION_NODETYPE_NAMES.contains(ntName);
     }
 
     @Override
-    public boolean definesLocation(TreeLocation location) {
+    public boolean definesLocation(@Nonnull TreeLocation location) {
         Tree tree = location.getTree();
         if (tree != null && location.exists()) {
             PropertyState p = location.getProperty();

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlImporter.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlImporter.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlImporter.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlImporter.java Tue Mar 31 12:41:32 2015
@@ -23,6 +23,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import javax.annotation.CheckForNull;
+import javax.annotation.Nonnull;
 import javax.jcr.PropertyType;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
@@ -83,9 +84,9 @@ public class AccessControlImporter imple
     //----------------------------------------------< ProtectedItemImporter >---
 
     @Override
-    public boolean init(Session session, Root root, NamePathMapper namePathMapper,
+    public boolean init(@Nonnull Session session, @Nonnull Root root, @Nonnull NamePathMapper namePathMapper,
             boolean isWorkspaceImport, int uuidBehavior,
-            ReferenceChangeTracker referenceTracker, SecurityProvider securityProvider) {
+            @Nonnull ReferenceChangeTracker referenceTracker, @Nonnull SecurityProvider securityProvider) {
         if (initialized) {
             throw new IllegalStateException("Already initialized");
         }
@@ -117,7 +118,7 @@ public class AccessControlImporter imple
     //----------------------------------------------< ProtectedNodeImporter >---
 
     @Override
-    public boolean start(Tree protectedParent) throws RepositoryException {
+    public boolean start(@Nonnull Tree protectedParent) throws RepositoryException {
         checkInitialized();
 
         // the acl node must have been added during the regular import before
@@ -127,7 +128,7 @@ public class AccessControlImporter imple
     }
 
     @Override
-    public void end(Tree protectedParent) throws RepositoryException {
+    public void end(@Nonnull Tree protectedParent) throws RepositoryException {
         if (acl != null) {
             acMgr.setPolicy(acl.getPath(), acl);
             acl = null;
@@ -137,7 +138,7 @@ public class AccessControlImporter imple
     }
 
     @Override
-    public void startChildInfo(NodeInfo childInfo, List<PropInfo> propInfos) throws RepositoryException {
+    public void startChildInfo(@Nonnull NodeInfo childInfo, @Nonnull List<PropInfo> propInfos) throws RepositoryException {
         checkInitialized();
         String ntName = childInfo.getPrimaryTypeName();
         if (NT_REP_GRANT_ACE.equals(ntName) || NT_REP_DENY_ACE.equals(ntName)) {

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=1670318&r1=1670317&r2=1670318&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 Tue Mar 31 12:41:32 2015
@@ -379,7 +379,7 @@ public class AccessControlManagerImpl ex
 
     //--------------------------------------------------------< PolicyOwner >---
     @Override
-    public boolean defines(String absPath, AccessControlPolicy accessControlPolicy) {
+    public boolean defines(String absPath, @Nonnull AccessControlPolicy accessControlPolicy) {
         try {
             return Util.isValidPolicy(getOakPath(absPath), accessControlPolicy);
         } catch (RepositoryException e) {

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=1670318&r1=1670317&r2=1670318&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 Tue Mar 31 12:41:32 2015
@@ -59,6 +59,7 @@ class CompositeAccessControlManager exte
     }
 
     //-----------------------------------------------< AccessControlManager >---
+    @Nonnull
     @Override
     public Privilege[] getSupportedPrivileges(String absPath) throws RepositoryException {
         ImmutableList.Builder<Privilege> privs = ImmutableList.builder();

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositePermissionProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositePermissionProvider.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositePermissionProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositePermissionProvider.java Tue Mar 31 12:41:32 2015
@@ -79,6 +79,7 @@ class CompositePermissionProvider implem
         }
     }
 
+    @Nonnull
     @Override
     public Set<String> getPrivileges(@Nullable final Tree tree) {
         PrivilegeBits result = null;
@@ -119,11 +120,13 @@ class CompositePermissionProvider implem
         return true;
     }
 
+    @Nonnull
     @Override
     public RepositoryPermission getRepositoryPermission() {
         return repositoryPermission;
     }
 
+    @Nonnull
     @Override
     public TreePermission getTreePermission(@Nonnull Tree tree, @Nonnull TreePermission parentPermission) {
         ImmutableTree immTree = (tree instanceof ImmutableTree) ? (ImmutableTree) tree : (ImmutableTree) immutableRoot.getTree(tree.getPath());
@@ -265,8 +268,9 @@ class CompositePermissionProvider implem
             }
         }
 
+        @Nonnull
         @Override
-        public TreePermission getChildPermission(String childName, NodeState childState) {
+        public TreePermission getChildPermission(@Nonnull String childName, @Nonnull NodeState childState) {
             ImmutableTree childTree = new ImmutableTree(tree, childName, childState);
             return new CompositeTreePermission(childTree, this);
         }

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/AllPermissions.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/AllPermissions.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/AllPermissions.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/AllPermissions.java Tue Mar 31 12:41:32 2015
@@ -19,6 +19,7 @@ package org.apache.jackrabbit.oak.securi
 import java.util.Collections;
 import java.util.Set;
 import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Root;
@@ -47,33 +48,36 @@ public final class AllPermissions implem
         // nop
     }
 
+    @Nonnull
     @Override
     public RepositoryPermission getRepositoryPermission() {
         return RepositoryPermission.ALL;
     }
 
+    @Nonnull
     @Override
     public TreePermission getTreePermission(@Nonnull Tree tree, @Nonnull TreePermission parentPermission) {
         return TreePermission.ALL;
     }
 
     @Override
-    public boolean isGranted(Tree tree, PropertyState property, long permissions) {
+    public boolean isGranted(@Nonnull Tree tree, @Nullable PropertyState property, long permissions) {
         return true;
     }
 
     @Override
-    public boolean isGranted(String path, long permissions) {
+    public boolean isGranted(@Nonnull String path, long permissions) {
         return true;
     }
 
+    @Nonnull
     @Override
-    public Set<String> getPrivileges(Tree tree) {
+    public Set<String> getPrivileges(@Nullable Tree tree) {
         return Collections.singleton(PrivilegeConstants.JCR_ALL);
     }
 
     @Override
-    public boolean hasPrivileges(Tree tree, String... privilegeNames) {
+    public boolean hasPrivileges(@Nullable Tree tree, @Nonnull String... privilegeNames) {
         return true;
     }
 }

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/CompiledPermissionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/CompiledPermissionImpl.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/CompiledPermissionImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/CompiledPermissionImpl.java Tue Mar 31 12:41:32 2015
@@ -136,6 +136,7 @@ final class CompiledPermissionImpl imple
         groupStore.flush();
     }
 
+    @Nonnull
     @Override
     public RepositoryPermission getRepositoryPermission() {
         return new RepositoryPermission() {
@@ -146,6 +147,7 @@ final class CompiledPermissionImpl imple
         };
     }
 
+    @Nonnull
     @Override
     public TreePermission getTreePermission(@Nonnull Tree tree, @Nonnull TreePermission parentPermission) {
         if (tree.isRoot()) {
@@ -241,6 +243,7 @@ final class CompiledPermissionImpl imple
         return hasPermissions(it, permissions, path);
     }
 
+    @Nonnull
     @Override
     public Set<String> getPrivileges(@Nullable Tree tree) {
         return bitsProvider.getPrivilegeNames(internalGetPrivileges(tree));
@@ -453,8 +456,9 @@ final class CompiledPermissionImpl imple
         }
 
         //-------------------------------------------------< TreePermission >---
+        @Nonnull
         @Override
-        public TreePermission getChildPermission(String childName, NodeState childState) {
+        public TreePermission getChildPermission(@Nonnull String childName, @Nonnull NodeState childState) {
             Tree childTree = new ImmutableTree((ImmutableTree) tree, childName, childState);
             return getTreePermission(childTree, this);
         }

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MoveAwarePermissionValidator.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MoveAwarePermissionValidator.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MoveAwarePermissionValidator.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MoveAwarePermissionValidator.java Tue Mar 31 12:41:32 2015
@@ -59,6 +59,7 @@ public class MoveAwarePermissionValidato
         moveCtx = pv.moveCtx;
     }
 
+    @Nonnull
     @Override
     PermissionValidator createValidator(@Nullable Tree parentBefore,
                                         @Nullable Tree parentAfter,

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/NoPermissions.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/NoPermissions.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/NoPermissions.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/NoPermissions.java Tue Mar 31 12:41:32 2015
@@ -46,11 +46,13 @@ public final class NoPermissions impleme
         // nop
     }
 
+    @Nonnull
     @Override
     public RepositoryPermission getRepositoryPermission() {
         return RepositoryPermission.EMPTY;
     }
 
+    @Nonnull
     @Override
     public TreePermission getTreePermission(@Nonnull Tree tree, @Nonnull TreePermission parentPermission) {
         return TreePermission.EMPTY;
@@ -66,13 +68,14 @@ public final class NoPermissions impleme
         return false;
     }
 
+    @Nonnull
     @Override
     public Set<String> getPrivileges(@Nullable Tree tree) {
         return Collections.emptySet();
     }
 
     @Override
-    public boolean hasPrivileges(@Nullable Tree tree, String... privilegeNames) {
+    public boolean hasPrivileges(@Nullable Tree tree, @Nonnull String... privilegeNames) {
         return false;
     }
 }

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionEntry.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionEntry.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionEntry.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionEntry.java Tue Mar 31 12:41:32 2015
@@ -82,7 +82,7 @@ final class PermissionEntry implements C
     }
 
     @Override
-    public int compareTo(PermissionEntry pe) {
+    public int compareTo(@Nonnull PermissionEntry pe) {
         if (Objects.equal(path, pe.path)) {
             // reverse order
             if (index == pe.index) {

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionProviderImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionProviderImpl.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionProviderImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionProviderImpl.java Tue Mar 31 12:41:32 2015
@@ -86,11 +86,13 @@ public class PermissionProviderImpl impl
         return compiledPermissions.hasPrivileges(getImmutableTree(tree), privilegeNames);
     }
 
+    @Nonnull
     @Override
     public RepositoryPermission getRepositoryPermission() {
         return compiledPermissions.getRepositoryPermission();
     }
 
+    @Nonnull
     @Override
     public TreePermission getTreePermission(@Nonnull Tree tree, @Nonnull TreePermission parentPermission) {
         return compiledPermissions.getTreePermission(getImmutableTree(tree), parentPermission);
@@ -125,7 +127,7 @@ public class PermissionProviderImpl impl
     }
 
     @Override
-    public boolean handles(@Nonnull Tree tree, PrivilegeBits privilegeBits) {
+    public boolean handles(@Nonnull Tree tree, @Nonnull PrivilegeBits privilegeBits) {
         return true;
     }
 

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/GlobPattern.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/GlobPattern.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/GlobPattern.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/GlobPattern.java Tue Mar 31 12:41:32 2015
@@ -186,7 +186,7 @@ final class GlobPattern implements Restr
         }
 
         @Override
-        boolean matches(String toMatch) {
+        boolean matches(@Nonnull String toMatch) {
             if (patternStr.isEmpty()) {
                 return path.equals(toMatch);
             } else {
@@ -211,7 +211,7 @@ final class GlobPattern implements Restr
         }
 
         @Override
-        boolean matches(String toMatch) {
+        boolean matches(@Nonnull String toMatch) {
             if (patternEnd != null && !toMatch.endsWith(patternEnd)) {
                 // shortcut: verify if end of pattern matches end of toMatch
                 return false;

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/PrincipalRestrictionProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/PrincipalRestrictionProvider.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/PrincipalRestrictionProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/PrincipalRestrictionProvider.java Tue Mar 31 12:41:32 2015
@@ -77,6 +77,7 @@ public class PrincipalRestrictionProvide
         return base.createRestriction(oakPath, oakName, values);
     }
 
+    @Nonnull
     @Override
     public Set<Restriction> readRestrictions(@Nullable String oakPath, @Nonnull Tree aceTree) {
         Set<Restriction> restrictions = new HashSet<Restriction>(base.readRestrictions(oakPath, aceTree));

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/RestrictionProviderImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/RestrictionProviderImpl.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/RestrictionProviderImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/RestrictionProviderImpl.java Tue Mar 31 12:41:32 2015
@@ -77,8 +77,9 @@ public class RestrictionProviderImpl ext
 
     //------------------------------------------------< RestrictionProvider >---
 
+    @Nonnull
     @Override
-    public RestrictionPattern getPattern(String oakPath, Tree tree) {
+    public RestrictionPattern getPattern(String oakPath, @Nonnull Tree tree) {
         if (oakPath == null) {
             return RestrictionPattern.EMPTY;
         } else {
@@ -123,7 +124,7 @@ public class RestrictionProviderImpl ext
     }
 
     @Override
-    public void validateRestrictions(String oakPath, Tree aceTree) throws AccessControlException {
+    public void validateRestrictions(String oakPath, @Nonnull Tree aceTree) throws AccessControlException {
         super.validateRestrictions(oakPath, aceTree);
 
         Tree restrictionsTree = getRestrictionsTree(aceTree);

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImpl.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImpl.java Tue Mar 31 12:41:32 2015
@@ -65,7 +65,7 @@ class PrincipalProviderImpl implements P
 
     //--------------------------------------------------< PrincipalProvider >---
     @Override
-    public Principal getPrincipal(String principalName) {
+    public Principal getPrincipal(@Nonnull String principalName) {
         Authorizable authorizable = getAuthorizable(new PrincipalImpl(principalName));
         if (authorizable != null) {
             try {
@@ -79,8 +79,9 @@ class PrincipalProviderImpl implements P
         return (EveryonePrincipal.NAME.equals(principalName)) ? EveryonePrincipal.getInstance() : null;
     }
 
+    @Nonnull
     @Override
-    public Set<Group> getGroupMembership(Principal principal) {
+    public Set<Group> getGroupMembership(@Nonnull Principal principal) {
         Authorizable authorizable = getAuthorizable(principal);
         if (authorizable == null) {
             return Collections.emptySet();
@@ -89,8 +90,9 @@ class PrincipalProviderImpl implements P
         }
     }
 
+    @Nonnull
     @Override
-    public Set<? extends Principal> getPrincipals(String userID) {
+    public Set<? extends Principal> getPrincipals(@Nonnull String userID) {
         Set<Principal> principals = new HashSet<Principal>();
         try {
             Authorizable authorizable = userManager.getAuthorizable(userID);
@@ -104,8 +106,9 @@ class PrincipalProviderImpl implements P
         return principals;
     }
 
+    @Nonnull
     @Override
-    public Iterator<? extends Principal> findPrincipals(final String nameHint,
+    public Iterator<? extends Principal> findPrincipals(final @Nullable String nameHint,
                                                         final int searchType) {
         try {
             Iterator<Authorizable> authorizables = findAuthorizables(nameHint, searchType);

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImpl.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImpl.java Tue Mar 31 12:41:32 2015
@@ -75,13 +75,13 @@ public class PrivilegeConfigurationImpl
 
     @Nonnull
     @Override
-    public List<? extends CommitHook> getCommitHooks(String workspaceName) {
+    public List<? extends CommitHook> getCommitHooks(@Nonnull String workspaceName) {
         return Collections.singletonList(new JcrAllCommitHook());
     }
 
     @Nonnull
     @Override
-    public List<? extends ValidatorProvider> getValidators(String workspaceName, Set<Principal> principals, MoveTracker moveTracker) {
+    public List<? extends ValidatorProvider> getValidators(@Nonnull String workspaceName, @Nonnull Set<Principal> principals, @Nonnull MoveTracker moveTracker) {
         return Collections.singletonList(new PrivilegeValidatorProvider());
     }
 

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeContext.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeContext.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeContext.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeContext.java Tue Mar 31 12:41:32 2015
@@ -38,7 +38,7 @@ final class PrivilegeContext implements
 
     //------------------------------------------------------------< Context >---
     @Override
-    public boolean definesProperty(Tree parent, PropertyState property) {
+    public boolean definesProperty(@Nonnull Tree parent, @Nonnull PropertyState property) {
         return definesTree(parent) && PRIVILEGE_PROPERTY_NAMES.contains(property.getName());
     }
 
@@ -48,12 +48,12 @@ final class PrivilegeContext implements
     }
 
     @Override
-    public boolean definesTree(Tree tree) {
+    public boolean definesTree(@Nonnull Tree tree) {
         return PRIVILEGE_NODETYPE_NAMES.contains(TreeUtil.getPrimaryTypeName(tree));
     }
 
     @Override
-    public boolean definesLocation(TreeLocation location) {
+    public boolean definesLocation(@Nonnull TreeLocation location) {
         return location.getPath().startsWith(PRIVILEGES_PATH);
     }
 

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeInitializer.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeInitializer.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeInitializer.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeInitializer.java Tue Mar 31 12:41:32 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.jackrabbit.oak.security.privilege;
 
+import javax.annotation.Nonnull;
 import javax.jcr.RepositoryException;
 
 import org.apache.jackrabbit.JcrConstants;
@@ -45,7 +46,7 @@ class PrivilegeInitializer implements Re
     private static final Logger log = LoggerFactory.getLogger(PrivilegeInitializer.class);
 
     @Override
-    public void initialize(NodeBuilder builder) {
+    public void initialize(@Nonnull NodeBuilder builder) {
         NodeBuilder system = builder.child(JcrConstants.JCR_SYSTEM);
         system.setProperty(JcrConstants.JCR_PRIMARYTYPE, NodeTypeConstants.NT_REP_SYSTEM, Type.NAME);
 

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizableProperties.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizableProperties.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizableProperties.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizableProperties.java Tue Mar 31 12:41:32 2015
@@ -19,6 +19,7 @@ package org.apache.jackrabbit.oak.securi
 import java.util.Iterator;
 import javax.annotation.CheckForNull;
 import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 import javax.jcr.RepositoryException;
 import javax.jcr.Value;
 
@@ -39,7 +40,7 @@ interface AuthorizableProperties {
      * @throws RepositoryException If an error occurs.
      */
     @Nonnull
-    Iterator<String> getNames(String relPath) throws RepositoryException;
+    Iterator<String> getNames(@Nonnull String relPath) throws RepositoryException;
 
     /**
      * Returns {@code true} if there is a custom authorizable property at the
@@ -52,7 +53,7 @@ interface AuthorizableProperties {
      * @return {@code true} if a valid property exists; {@code false} otherwise.
      * @throws RepositoryException If an error occurs.
      */
-    boolean hasProperty(String relPath) throws RepositoryException;
+    boolean hasProperty(@Nonnull String relPath) throws RepositoryException;
 
     /**
      * Returns the values of the property identified by the specified
@@ -67,7 +68,7 @@ interface AuthorizableProperties {
      * @throws RepositoryException If an error occurs.
      */
     @CheckForNull
-    Value[] getProperty(String relPath) throws RepositoryException;
+    Value[] getProperty(@Nonnull String relPath) throws RepositoryException;
 
     /**
      * Creates or modifies the property at the specified {@code relPath}. If
@@ -82,7 +83,7 @@ interface AuthorizableProperties {
      * that represents protected content that cannot be modified using this API.
      * @see #setProperty(String, javax.jcr.Value[])
      */
-    void setProperty(String relPath, Value value) throws RepositoryException;
+    void setProperty(@Nonnull String relPath, @Nullable Value value) throws RepositoryException;
 
     /**
      * Creates or modifies the property at the specified {@code relPath}. If
@@ -97,7 +98,7 @@ interface AuthorizableProperties {
      * that represents protected content that cannot be modified using this API.
      * @see #setProperty(String, javax.jcr.Value)
      */
-    void setProperty(String relPath, Value[] values) throws RepositoryException;
+    void setProperty(@Nonnull String relPath, @Nullable Value[] values) throws RepositoryException;
 
     /**
      * Removes the property identified by the given {@code relPath} and returns
@@ -111,6 +112,6 @@ interface AuthorizableProperties {
      * that cannot be altered using this API because it is not associated with
      * this authorizable or is otherwise considered protected.
      */
-    boolean removeProperty(String relPath) throws RepositoryException;
+    boolean removeProperty(@Nonnull String relPath) throws RepositoryException;
 
 }
\ No newline at end of file

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizablePropertiesImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizablePropertiesImpl.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizablePropertiesImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizablePropertiesImpl.java Tue Mar 31 12:41:32 2015
@@ -23,6 +23,7 @@ import java.util.List;
 
 import javax.annotation.CheckForNull;
 import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 import javax.jcr.RepositoryException;
 import javax.jcr.Value;
 import javax.jcr.nodetype.ConstraintViolationException;
@@ -56,14 +57,15 @@ class AuthorizablePropertiesImpl impleme
     private final AuthorizableImpl authorizable;
     private final NamePathMapper namePathMapper;
 
-    AuthorizablePropertiesImpl(AuthorizableImpl authorizable, NamePathMapper namePathMapper) {
+    AuthorizablePropertiesImpl(@Nonnull AuthorizableImpl authorizable, @Nonnull NamePathMapper namePathMapper) {
         this.authorizable = authorizable;
         this.namePathMapper = namePathMapper;
     }
 
     //---------------------------------------------< AuthorizableProperties >---
+    @Nonnull
     @Override
-    public Iterator<String> getNames(String relPath) throws RepositoryException {
+    public Iterator<String> getNames(@Nonnull String relPath) throws RepositoryException {
         String oakPath = getOakPath(relPath);
         Tree tree = getTree();
         TreeLocation location = getLocation(tree, oakPath);
@@ -86,7 +88,7 @@ class AuthorizablePropertiesImpl impleme
      * @see org.apache.jackrabbit.api.security.user.Authorizable#hasProperty(String)
      */
     @Override
-    public boolean hasProperty(String relPath) throws RepositoryException {
+    public boolean hasProperty(@Nonnull String relPath) throws RepositoryException {
         String oakPath = getOakPath(relPath);
         return isAuthorizableProperty(getTree(), getLocation(getTree(), oakPath), true);
     }
@@ -95,7 +97,7 @@ class AuthorizablePropertiesImpl impleme
      * @see org.apache.jackrabbit.api.security.user.Authorizable#getProperty(String)
      */
     @Override
-    public Value[] getProperty(String relPath) throws RepositoryException {
+    public Value[] getProperty(@Nonnull String relPath) throws RepositoryException {
         String oakPath = getOakPath(relPath);
         Tree tree = getTree();
         Value[] values = null;
@@ -115,7 +117,7 @@ class AuthorizablePropertiesImpl impleme
      * @see org.apache.jackrabbit.api.security.user.Authorizable#setProperty(String, javax.jcr.Value)
      */
     @Override
-    public void setProperty(String relPath, Value value) throws RepositoryException {
+    public void setProperty(@Nonnull String relPath, @Nullable Value value) throws RepositoryException {
         if (value == null) {
             removeProperty(relPath);
         } else {
@@ -135,7 +137,7 @@ class AuthorizablePropertiesImpl impleme
      * @see org.apache.jackrabbit.api.security.user.Authorizable#setProperty(String, javax.jcr.Value[])
      */
     @Override
-    public void setProperty(String relPath, Value[] values) throws RepositoryException {
+    public void setProperty(@Nonnull String relPath, Value[] values) throws RepositoryException {
         if (values == null) {
             removeProperty(relPath);
         } else {
@@ -156,7 +158,7 @@ class AuthorizablePropertiesImpl impleme
      * @see org.apache.jackrabbit.api.security.user.Authorizable#removeProperty(String)
      */
     @Override
-    public boolean removeProperty(String relPath) throws RepositoryException {
+    public boolean removeProperty(@Nonnull String relPath) throws RepositoryException {
         String oakPath = getOakPath(relPath);
         Tree node = getTree();
         TreeLocation propertyLocation = getLocation(node, oakPath);
@@ -263,7 +265,7 @@ class AuthorizablePropertiesImpl impleme
      *                             to a node that is outside of the scope of this authorizable.
      */
     @Nonnull
-    private Tree getOrCreateTargetTree(String relPath) throws RepositoryException {
+    private Tree getOrCreateTargetTree(@CheckForNull String relPath) throws RepositoryException {
         Tree targetTree;
         Tree userTree = getTree();
         if (relPath != null) {
@@ -286,7 +288,7 @@ class AuthorizablePropertiesImpl impleme
     }
 
     @Nonnull
-    private static TreeLocation getLocation(Tree tree, String relativePath) {
+    private static TreeLocation getLocation(@Nonnull Tree tree, @Nonnull String relativePath) {
         TreeLocation loc = TreeLocation.create(tree);
         for (String element : Text.explode(relativePath, '/', false)) {
             if (PathUtils.denotesParent(element)) {
@@ -298,7 +300,8 @@ class AuthorizablePropertiesImpl impleme
         return loc;
     }
 
-    private String getOakPath(String relPath) throws RepositoryException {
+    @Nonnull
+    private String getOakPath(@CheckForNull String relPath) throws RepositoryException {
         if (relPath == null || relPath.isEmpty() || relPath.charAt(0) == '/') {
             throw new RepositoryException("Relative path expected. Found " + relPath);
         }

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserAuthentication.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserAuthentication.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserAuthentication.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserAuthentication.java Tue Mar 31 12:41:32 2015
@@ -89,7 +89,7 @@ class UserAuthentication implements Auth
 
     //-----------------------------------------------------< Authentication >---
     @Override
-    public boolean authenticate(Credentials credentials) throws LoginException {
+    public boolean authenticate(@Nullable Credentials credentials) throws LoginException {
         if (credentials == null || userId == null) {
             return false;
         }

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java Tue Mar 31 12:41:32 2015
@@ -155,7 +155,7 @@ public class UserConfigurationImpl exten
 
     @Nonnull
     @Override
-    public List<? extends ValidatorProvider> getValidators(String workspaceName, Set<Principal> principals, MoveTracker moveTracker) {
+    public List<? extends ValidatorProvider> getValidators(@Nonnull String workspaceName, @Nonnull Set<Principal> principals, @Nonnull MoveTracker moveTracker) {
         return Collections.singletonList(new UserValidatorProvider(getParameters()));
     }
 

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserContext.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserContext.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserContext.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserContext.java Tue Mar 31 12:41:32 2015
@@ -39,7 +39,7 @@ final class UserContext implements Conte
 
     //------------------------------------------------------------< Context >---
     @Override
-    public boolean definesProperty(Tree parent, PropertyState property) {
+    public boolean definesProperty(@Nonnull Tree parent, @Nonnull PropertyState property) {
         String propName = property.getName();
         String ntName = TreeUtil.getPrimaryTypeName(parent);
         if (NT_REP_USER.equals(ntName)) {
@@ -62,13 +62,13 @@ final class UserContext implements Conte
     }
 
     @Override
-    public boolean definesTree(Tree tree) {
+    public boolean definesTree(@Nonnull Tree tree) {
         String ntName = TreeUtil.getPrimaryTypeName(tree);
         return NT_NAMES.contains(ntName);
     }
 
     @Override
-    public boolean definesLocation(TreeLocation location) {
+    public boolean definesLocation(@Nonnull TreeLocation location) {
         Tree tree = location.getTree();
         if (tree != null && location.exists()) {
             PropertyState p = location.getProperty();

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserImporter.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserImporter.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserImporter.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserImporter.java Tue Mar 31 12:41:32 2015
@@ -166,9 +166,9 @@ class UserImporter implements ProtectedP
 
     //----------------------------------------------< ProtectedItemImporter >---
     @Override
-    public boolean init(Session session, Root root, NamePathMapper namePathMapper,
+    public boolean init(@Nonnull Session session, @Nonnull Root root, @Nonnull NamePathMapper namePathMapper,
             boolean isWorkspaceImport, int uuidBehavior,
-            ReferenceChangeTracker referenceTracker, SecurityProvider securityProvider) {
+            @Nonnull ReferenceChangeTracker referenceTracker, @Nonnull SecurityProvider securityProvider) {
 
         if (!(session instanceof JackrabbitSession)) {
             log.debug("Importing protected user content requires a JackrabbitSession");
@@ -217,7 +217,7 @@ class UserImporter implements ProtectedP
 
     // -----------------------------------------< ProtectedPropertyImporter >---
     @Override
-    public boolean handlePropInfo(Tree parent, PropInfo propInfo, PropertyDefinition def) throws RepositoryException {
+    public boolean handlePropInfo(@Nonnull Tree parent, @Nonnull PropInfo propInfo, @Nonnull PropertyDefinition def) throws RepositoryException {
         checkInitialized();
 
         String propName = propInfo.getName();
@@ -375,7 +375,7 @@ class UserImporter implements ProtectedP
 
     // ---------------------------------------------< ProtectedNodeImporter >---
     @Override
-    public boolean start(Tree protectedParent) throws RepositoryException {
+    public boolean start(@Nonnull Tree protectedParent) throws RepositoryException {
         if (isMemberNode(protectedParent)) {
             Tree groupTree = protectedParent;
             while (isMemberNode(groupTree) && !groupTree.isRoot()) {
@@ -404,7 +404,7 @@ class UserImporter implements ProtectedP
     }
 
     @Override
-    public void startChildInfo(NodeInfo childInfo, List<PropInfo> propInfos) throws RepositoryException {
+    public void startChildInfo(@Nonnull NodeInfo childInfo, @Nonnull List<PropInfo> propInfos) throws RepositoryException {
         checkNotNull(currentMembership);
 
         String ntName = childInfo.getPrimaryTypeName();
@@ -433,7 +433,7 @@ class UserImporter implements ProtectedP
     }
 
     @Override
-    public void end(Tree protectedParent) throws RepositoryException {
+    public void end(@Nonnull Tree protectedParent) throws RepositoryException {
         currentMembership = null;
     }
 

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CompositeHook.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CompositeHook.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CompositeHook.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CompositeHook.java Tue Mar 31 12:41:32 2015
@@ -51,6 +51,7 @@ public class CompositeHook implements Co
         this(Arrays.asList(hooks));
     }
 
+    @Nonnull
     @Override
     public NodeState processCommit(
             NodeState before, NodeState after, CommitInfo info)

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/EmptyHook.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/EmptyHook.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/EmptyHook.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/EmptyHook.java Tue Mar 31 12:41:32 2015
@@ -16,6 +16,8 @@
  */
 package org.apache.jackrabbit.oak.spi.commit;
 
+import javax.annotation.Nonnull;
+
 import org.apache.jackrabbit.oak.api.CommitFailedException;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 
@@ -41,6 +43,7 @@ public class EmptyHook implements Commit
      */
     public static final CommitHook INSTANCE = new EmptyHook();
 
+    @Nonnull
     @Override
     public NodeState processCommit(
             NodeState before, NodeState after, CommitInfo info)

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/PropertyStateValue.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/PropertyStateValue.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/PropertyStateValue.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/PropertyStateValue.java Tue Mar 31 12:41:32 2015
@@ -88,7 +88,7 @@ public class PropertyStateValue implemen
     }
 
     @Override
-    public int compareTo(PropertyValue p2) {
+    public int compareTo(@Nonnull PropertyValue p2) {
         if (getType().tag() != p2.getType().tag()) {
             return Integer.signum(p2.getType().tag() - getType().tag());
         }

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/CompositeConfiguration.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/CompositeConfiguration.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/CompositeConfiguration.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/CompositeConfiguration.java Tue Mar 31 12:41:32 2015
@@ -153,7 +153,7 @@ public abstract class CompositeConfigura
 
     @Nonnull
     @Override
-    public List<? extends CommitHook> getCommitHooks(final String workspaceName) {
+    public List<? extends CommitHook> getCommitHooks(@Nonnull final String workspaceName) {
         return ImmutableList.copyOf(Iterables.concat(Lists.transform(getConfigurations(), new Function<T, List<? extends CommitHook>>() {
             @Override
             public List<? extends CommitHook> apply(T securityConfiguration) {
@@ -164,7 +164,7 @@ public abstract class CompositeConfigura
 
     @Nonnull
     @Override
-    public List<? extends ValidatorProvider> getValidators(final String workspaceName, final Set<Principal> principals, final MoveTracker moveTracker) {
+    public List<? extends ValidatorProvider> getValidators(@Nonnull final String workspaceName, @Nonnull final Set<Principal> principals, @Nonnull final MoveTracker moveTracker) {
         return ImmutableList.copyOf(Iterables.concat(Lists.transform(getConfigurations(), new Function<T, List<? extends ValidatorProvider>>() {
             @Override
             public List<? extends ValidatorProvider> apply(T securityConfiguration) {
@@ -184,6 +184,7 @@ public abstract class CompositeConfigura
         })));
     }
 
+    @Nonnull
     @Override
     public Context getContext() {
         final List<T> configs = getConfigurations();

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/ConfigurationParameters.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/ConfigurationParameters.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/ConfigurationParameters.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/ConfigurationParameters.java Tue Mar 31 12:41:32 2015
@@ -369,7 +369,7 @@ public final class ConfigurationParamete
      * {@inheritDoc}
      */
     @Override
-    public void putAll(Map<? extends String, ?> m) {
+    public void putAll(@Nonnull Map<? extends String, ?> m) {
         // we rely on the immutability of the delegated map to throw the correct exceptions.
         options.putAll(m);
     }
@@ -386,6 +386,7 @@ public final class ConfigurationParamete
     /**
      * {@inheritDoc}
      */
+    @Nonnull
     @Override
     public Set<String> keySet() {
         return options.keySet();
@@ -394,6 +395,7 @@ public final class ConfigurationParamete
     /**
      * {@inheritDoc}
      */
+    @Nonnull
     @Override
     public Collection<Object> values() {
         return options.values();
@@ -402,6 +404,7 @@ public final class ConfigurationParamete
     /**
      * {@inheritDoc}
      */
+    @Nonnull
     @Override
     public Set<Entry<String,Object>> entrySet() {
         return options.entrySet();

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/OpenSecurityProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/OpenSecurityProvider.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/OpenSecurityProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/OpenSecurityProvider.java Tue Mar 31 12:41:32 2015
@@ -50,7 +50,7 @@ public class OpenSecurityProvider implem
 
     @Nonnull
     @Override
-    public <T> T getConfiguration(Class<T> configClass) {
+    public <T> T getConfiguration(@Nonnull Class<T> configClass) {
         if (AuthenticationConfiguration.class == configClass) {
             return (T) new OpenAuthenticationConfiguration();
         } else if (AuthorizationConfiguration.class == configClass) {

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/SecurityConfiguration.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/SecurityConfiguration.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/SecurityConfiguration.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/SecurityConfiguration.java Tue Mar 31 12:41:32 2015
@@ -142,14 +142,14 @@ public interface SecurityConfiguration {
 
         @Nonnull
         @Override
-        public List<? extends CommitHook> getCommitHooks(String workspaceName) {
+        public List<? extends CommitHook> getCommitHooks(@Nonnull String workspaceName) {
             return Collections.emptyList();
         }
 
         @Nonnull
         @Override
         public List<? extends ValidatorProvider> getValidators(
-                String workspaceName, Set<Principal> principals, MoveTracker moveTracker) {
+                @Nonnull String workspaceName, @Nonnull Set<Principal> principals, @Nonnull MoveTracker moveTracker) {
             return Collections.emptyList();
         }
 
@@ -159,6 +159,7 @@ public interface SecurityConfiguration {
             return Collections.emptyList();
         }
 
+        @Nonnull
         @Override
         public Context getContext() {
             return new Context.Default();

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AuthInfoImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AuthInfoImpl.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AuthInfoImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AuthInfoImpl.java Tue Mar 31 12:41:32 2015
@@ -68,6 +68,7 @@ public final class AuthInfoImpl implemen
         return attributes.get(attributeName);
     }
 
+    @Nonnull
     @Override
     public Set<Principal> getPrincipals() {
         return principals;

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/Authentication.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/Authentication.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/Authentication.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/Authentication.java Tue Mar 31 12:41:32 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.jackrabbit.oak.spi.security.authentication;
 
+import javax.annotation.Nullable;
 import javax.jcr.Credentials;
 import javax.security.auth.login.LoginException;
 
@@ -47,5 +48,5 @@ public interface Authentication {
      * implementation cannot verify their validity.
      * @throws LoginException if the authentication failed.
      */
-    boolean authenticate(Credentials credentials) throws LoginException;
+    boolean authenticate(@Nullable Credentials credentials) throws LoginException;
 }
\ No newline at end of file

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/OpenAuthorizationConfiguration.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/OpenAuthorizationConfiguration.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/OpenAuthorizationConfiguration.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/OpenAuthorizationConfiguration.java Tue Mar 31 12:41:32 2015
@@ -35,8 +35,9 @@ import org.apache.jackrabbit.oak.spi.sec
 public class OpenAuthorizationConfiguration extends SecurityConfiguration.Default
         implements AuthorizationConfiguration {
 
+    @Nonnull
     @Override
-    public AccessControlManager getAccessControlManager(Root root, NamePathMapper namePathMapper) {
+    public AccessControlManager getAccessControlManager(@Nonnull Root root, @Nonnull NamePathMapper namePathMapper) {
         throw new UnsupportedOperationException();
     }
 
@@ -48,7 +49,7 @@ public class OpenAuthorizationConfigurat
 
     @Nonnull
     @Override
-    public PermissionProvider getPermissionProvider(Root root, String workspaceName, Set<Principal> principals) {
+    public PermissionProvider getPermissionProvider(@Nonnull Root root, @Nonnull String workspaceName, @Nonnull Set<Principal> principals) {
         return OpenPermissionProvider.getInstance();
     }
 

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ImmutableACL.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ImmutableACL.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ImmutableACL.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ImmutableACL.java Tue Mar 31 12:41:32 2015
@@ -86,11 +86,13 @@ public class ImmutableACL extends Abstra
     }
 
     //------------------------------------------< AbstractAccessControlList >---
+    @Nonnull
     @Override
     public List<JackrabbitAccessControlEntry> getEntries() {
         return entries;
     }
 
+    @Nonnull
     @Override
     public RestrictionProvider getRestrictionProvider() {
         return restrictionProvider;

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/EmptyPermissionProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/EmptyPermissionProvider.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/EmptyPermissionProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/EmptyPermissionProvider.java Tue Mar 31 12:41:32 2015
@@ -50,15 +50,17 @@ public final class EmptyPermissionProvid
     }
 
     @Override
-    public boolean hasPrivileges(@Nullable Tree tree, String... privilegeNames) {
+    public boolean hasPrivileges(@Nullable Tree tree, @Nonnull String... privilegeNames) {
         return false;
     }
 
+    @Nonnull
     @Override
     public RepositoryPermission getRepositoryPermission() {
         return RepositoryPermission.EMPTY;
     }
 
+    @Nonnull
     @Override
     public TreePermission getTreePermission(@Nonnull Tree tree, @Nonnull TreePermission parentPermission) {
         return TreePermission.EMPTY;

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/OpenPermissionProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/OpenPermissionProvider.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/OpenPermissionProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/OpenPermissionProvider.java Tue Mar 31 12:41:32 2015
@@ -51,15 +51,17 @@ public final class OpenPermissionProvide
     }
 
     @Override
-    public boolean hasPrivileges(@Nullable Tree tree, String... privilegeNames) {
+    public boolean hasPrivileges(@Nullable Tree tree, @Nonnull String... privilegeNames) {
         return true;
     }
 
+    @Nonnull
     @Override
     public RepositoryPermission getRepositoryPermission() {
         return RepositoryPermission.ALL;
     }
 
+    @Nonnull
     @Override
     public TreePermission getTreePermission(@Nonnull Tree tree, @Nonnull TreePermission parentPermission) {
         return TreePermission.ALL;

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/TreePermission.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/TreePermission.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/TreePermission.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/TreePermission.java Tue Mar 31 12:41:32 2015
@@ -17,7 +17,6 @@
 package org.apache.jackrabbit.oak.spi.security.authorization.permission;
 
 import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
 
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
@@ -111,6 +110,7 @@ public interface TreePermission {
      * any permissions.
      */
     TreePermission EMPTY = new TreePermission() {
+        @Nonnull
         @Override
         public TreePermission getChildPermission(@Nonnull String childName, @Nonnull NodeState childState) {
             return EMPTY;
@@ -142,7 +142,7 @@ public interface TreePermission {
         }
 
         @Override
-        public boolean isGranted(long permissions, @Nullable PropertyState property) {
+        public boolean isGranted(long permissions, @Nonnull PropertyState property) {
             return false;
         }
     };
@@ -152,6 +152,7 @@ public interface TreePermission {
      * all permissions.
      */
     TreePermission ALL = new TreePermission() {
+        @Nonnull
         @Override
         public TreePermission getChildPermission(@Nonnull String childName, @Nonnull NodeState childState) {
             return ALL;
@@ -183,7 +184,7 @@ public interface TreePermission {
         }
 
         @Override
-        public boolean isGranted(long permissions, @Nullable PropertyState property) {
+        public boolean isGranted(long permissions, @Nonnull PropertyState property) {
             return true;
         }
     };

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/AbstractRestrictionProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/AbstractRestrictionProvider.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/AbstractRestrictionProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/AbstractRestrictionProvider.java Tue Mar 31 12:41:32 2015
@@ -60,8 +60,9 @@ public abstract class AbstractRestrictio
         }
     }
 
+    @Nonnull
     @Override
-    public Restriction createRestriction(String oakPath, String oakName, Value value) throws RepositoryException {
+    public Restriction createRestriction(String oakPath, @Nonnull String oakName, @Nonnull Value value) throws RepositoryException {
         RestrictionDefinition definition = getDefinition(oakPath, oakName);
         Type<?> requiredType = definition.getRequiredType();
         int tag = requiredType.tag();
@@ -77,8 +78,9 @@ public abstract class AbstractRestrictio
         return createRestriction(propertyState, definition);
     }
 
+    @Nonnull
     @Override
-    public Restriction createRestriction(String oakPath, String oakName, Value... values) throws RepositoryException {
+    public Restriction createRestriction(String oakPath, @Nonnull String oakName, @Nonnull Value... values) throws RepositoryException {
         RestrictionDefinition definition = getDefinition(oakPath, oakName);
         Type<?> requiredType = definition.getRequiredType();
         for (Value v : values) {
@@ -99,8 +101,9 @@ public abstract class AbstractRestrictio
         return createRestriction(propertyState, definition);
     }
 
+    @Nonnull
     @Override
-    public Set<Restriction> readRestrictions(String oakPath, Tree aceTree) {
+    public Set<Restriction> readRestrictions(String oakPath, @Nonnull Tree aceTree) {
         if (isUnsupportedPath(oakPath)) {
             return Collections.emptySet();
         } else {
@@ -132,7 +135,7 @@ public abstract class AbstractRestrictio
     }
 
     @Override
-    public void validateRestrictions(String oakPath, Tree aceTree) throws AccessControlException {
+    public void validateRestrictions(String oakPath, @Nonnull Tree aceTree) throws AccessControlException {
         Map<String, PropertyState> restrictionProperties = getRestrictionProperties(aceTree);
         if (isUnsupportedPath(oakPath)) {
             if (!restrictionProperties.isEmpty()) {

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/RestrictionDefinition.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/RestrictionDefinition.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/RestrictionDefinition.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/RestrictionDefinition.java Tue Mar 31 12:41:32 2015
@@ -52,6 +52,7 @@ public interface RestrictionDefinition {
      *
      * @return The required type which must be a valid {@link javax.jcr.PropertyType}.
      */
+    @Nonnull
     Type<?> getRequiredType();
 
     /**

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/RestrictionDefinitionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/RestrictionDefinitionImpl.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/RestrictionDefinitionImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/RestrictionDefinitionImpl.java Tue Mar 31 12:41:32 2015
@@ -58,6 +58,7 @@ public class RestrictionDefinitionImpl i
         return name;
     }
 
+    @Nonnull
     @Override
     public Type<?> getRequiredType() {
         return type;