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 [1/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/
...
Author: angela
Date: Tue Mar 31 12:41:32 2015
New Revision: 1670318
URL: http://svn.apache.org/r1670318
Log:
OAK-2674 : Fix FindBug Issues (add missing annotations)
Modified:
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncHandler.java
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/ExternalLoginModule.java
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/SyncResultImpl.java
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/TestIdentityProvider.java
jackrabbit/oak/trunk/oak-auth-ldap/src/main/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProvider.java
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManager.java
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfiguration.java
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugImporter.java
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPermissionProvider.java
jackrabbit/oak/trunk/oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/AbstractBlobStore.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/AuthInfo.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Type.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ImmutableRoot.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableRoot.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableTree.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/SecureNodeBuilder.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/SecureNodeState.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/SystemRoot.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/NodeStoreKernel.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/GlobalNameMapper.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/LocalNameMapper.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/NamePathMapper.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/NamePathMapperImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/AbstractDocumentNodeBuilder.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeBuilder.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/CompositeIndexEditorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexEditorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexEditorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceEditorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/AbstractBlob.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/EmptyNodeState.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeState.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/ModifiedNodeState.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MutableNodeState.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ReadOnlyNodeTypeManager.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/PropertyTemplate.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeBuilder.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeState.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeLocation.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/impl/ImmutableTree.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenAuthentication.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenConfigurationImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenLoginModule.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenProviderImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/user/LoginModuleImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationContext.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlImporter.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManager.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositePermissionProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/AllPermissions.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/CompiledPermissionImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MoveAwarePermissionValidator.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/NoPermissions.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionEntry.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionProviderImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/GlobPattern.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/PrincipalRestrictionProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/RestrictionProviderImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeConfigurationImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeContext.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeInitializer.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizableProperties.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizablePropertiesImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserAuthentication.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserContext.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserImporter.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CompositeHook.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/EmptyHook.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/PropertyStateValue.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/CompositeConfiguration.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/ConfigurationParameters.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/OpenSecurityProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/SecurityConfiguration.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AuthInfoImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/Authentication.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/OpenAuthorizationConfiguration.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ImmutableACL.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/EmptyPermissionProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/OpenPermissionProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/TreePermission.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/AbstractRestrictionProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/RestrictionDefinition.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/RestrictionDefinitionImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/CompositePrincipalProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/AccessControlAction.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/AuthorizableActionProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/ClearMembershipAction.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/CompositeActionProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/DefaultAuthorizableActionProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/PasswordChangeAction.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/PasswordValidationAction.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/AbstractNodeState.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/ReadOnlyBuilder.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardAuthorizableActionProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardIndexEditorProvider.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/NodeStoreDiffTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdateTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdateTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/MultiPropertyOrTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/MultipleIndicesTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/Oak2077QueriesTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/RelativePathTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilderTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/ExternalBlobTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACLTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManagerTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/evaluation/JcrUUIDTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionEntryProviderImplTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserAuthenticationTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/RestrictionDefinitionImplTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/RestrictionImplTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/PasswordValidationActionTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/state/NodeStoreTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUserAuthenticationFactoryTest.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PropertyDelegate.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/ItemImpl.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/SessionContext.java
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/UserImportWithActionsTest.java
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorProvider.java
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/LuceneInitializerHelper.java
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/jcr/LuceneOakRepositoryStub.java
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexAggregationTest2.java
jackrabbit/oak/trunk/oak-pojosr/pom.xml
jackrabbit/oak/trunk/oak-pojosr/src/test/java/org/apache/jackrabbit/oak/run/osgi/OakOSGiRepositoryFactoryTest.java
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/JackrabbitNodeState.java
Modified: jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncHandler.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncHandler.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncHandler.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncHandler.java Tue Mar 31 12:41:32 2015
@@ -112,6 +112,7 @@ public class DefaultSyncHandler implemen
this.config = config;
}
+ @SuppressWarnings("UnusedDeclaration")
@Activate
private void activate(Map<String, Object> properties) {
ConfigurationParameters cfg = ConfigurationParameters.of(properties);
@@ -149,6 +150,7 @@ public class DefaultSyncHandler implemen
/**
* {@inheritDoc}
*/
+ @Nonnull
@Override
public Iterator<SyncedIdentity> listIdentities(@Nonnull UserManager userManager) throws RepositoryException {
final Iterator<Authorizable> iter = userManager.findAuthorizables("jcr:primaryType", null);
@@ -244,6 +246,7 @@ public class DefaultSyncHandler implemen
/**
* {@inheritDoc}
*/
+ @Nonnull
@Override
public SyncContext setKeepMissing(boolean keepMissing) {
this.keepMissing = keepMissing;
@@ -261,6 +264,7 @@ public class DefaultSyncHandler implemen
/**
* {@inheritDoc}
*/
+ @Nonnull
@Override
public SyncContext setForceUserSync(boolean forceUserSync) {
this.forceUserSync = forceUserSync;
@@ -275,6 +279,7 @@ public class DefaultSyncHandler implemen
return forceGroupSync;
}
+ @Nonnull
public SyncContext setForceGroupSync(boolean forceGroupSync) {
this.forceGroupSync = forceGroupSync;
return this;
Modified: jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/ExternalLoginModule.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/ExternalLoginModule.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/ExternalLoginModule.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/ExternalLoginModule.java Tue Mar 31 12:41:32 2015
@@ -394,6 +394,7 @@ public class ExternalLoginModule extends
/**
* @return An immutable set containing only the {@link SimpleCredentials} class.
*/
+ @Nonnull
@Override
protected Set<Class> getSupportedCredentials() {
// TODO: maybe delegate getSupportedCredentials to IDP
Modified: jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/SyncResultImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/SyncResultImpl.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/SyncResultImpl.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/SyncResultImpl.java Tue Mar 31 12:41:32 2015
@@ -16,6 +16,9 @@
*/
package org.apache.jackrabbit.oak.spi.security.authentication.external.impl;
+import javax.annotation.CheckForNull;
+import javax.annotation.Nonnull;
+
import org.apache.jackrabbit.oak.spi.security.authentication.external.SyncResult;
/**
@@ -32,10 +35,12 @@ public class SyncResultImpl implements S
this.status = status;
}
+ @CheckForNull
public SyncedIdentityImpl getIdentity() {
return id;
}
+ @Nonnull
public Status getStatus() {
return status;
}
Modified: jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/TestIdentityProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/TestIdentityProvider.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/TestIdentityProvider.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/TestIdentityProvider.java Tue Mar 31 12:41:32 2015
@@ -97,11 +97,13 @@ public class TestIdentityProvider implem
return externalGroups.get(name.toLowerCase());
}
+ @Nonnull
@Override
public Iterator<ExternalUser> listUsers() throws ExternalIdentityException {
return externalUsers.values().iterator();
}
+ @Nonnull
@Override
public Iterator<ExternalGroup> listGroups() throws ExternalIdentityException {
return externalGroups.values().iterator();
@@ -120,11 +122,13 @@ public class TestIdentityProvider implem
id = new ExternalIdentityRef(userId, "test");
}
+ @Nonnull
@Override
public String getId() {
return userId;
}
+ @Nonnull
@Override
public String getPrincipalName() {
return userId;
@@ -141,11 +145,13 @@ public class TestIdentityProvider implem
return null;
}
+ @Nonnull
@Override
public Iterable<ExternalIdentityRef> getDeclaredGroups() {
return groups;
}
+ @Nonnull
@Override
public Map<String, ?> getProperties() {
return props;
Modified: jackrabbit/oak/trunk/oak-auth-ldap/src/main/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-ldap/src/main/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProvider.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-ldap/src/main/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProvider.java (original)
+++ jackrabbit/oak/trunk/oak-auth-ldap/src/main/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProvider.java Tue Mar 31 12:41:32 2015
@@ -310,6 +310,7 @@ public class LdapIdentityProvider implem
}
}
+ @Nonnull
@Override
public Iterator<ExternalUser> listUsers() throws ExternalIdentityException {
DebugTimer timer = new DebugTimer();
@@ -348,6 +349,7 @@ public class LdapIdentityProvider implem
}
}
+ @Nonnull
@Override
public Iterator<ExternalGroup> listGroups() throws ExternalIdentityException {
DebugTimer timer = new DebugTimer();
Modified: jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManager.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManager.java (original)
+++ jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManager.java Tue Mar 31 12:41:32 2015
@@ -91,7 +91,7 @@ class CugAccessControlManager extends Ab
public AccessControlPolicy[] getPolicies(String absPath) throws RepositoryException {
String oakPath = getOakPath(absPath);
- if (isSupportedPath(oakPath)) {
+ if (oakPath != null && isSupportedPath(oakPath)) {
CugPolicy cug = getCugPolicy(oakPath);
if (cug != null) {
return new AccessControlPolicy[]{cug};
@@ -107,7 +107,7 @@ class CugAccessControlManager extends Ab
Root r = getRoot().getContentSession().getLatestRoot();
List<AccessControlPolicy> effective = new ArrayList<AccessControlPolicy>();
while (!Strings.isNullOrEmpty(oakPath)) {
- if (isSupportedPath(oakPath)) {
+ if (oakPath != null && isSupportedPath(oakPath)) {
CugPolicy cug = getCugPolicy(oakPath, r.getTree(oakPath));
if (cug != null) {
effective.add(cug);
@@ -120,7 +120,7 @@ class CugAccessControlManager extends Ab
public AccessControlPolicyIterator getApplicablePolicies(String absPath) throws RepositoryException {
String oakPath = getOakPath(absPath);
- if (!isSupportedPath(oakPath)) {
+ if (oakPath == null || !isSupportedPath(oakPath)) {
return AccessControlPolicyIteratorAdapter.EMPTY;
} else {
CugPolicy cug = getCugPolicy(oakPath);
Modified: jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfiguration.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfiguration.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfiguration.java (original)
+++ jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfiguration.java Tue Mar 31 12:41:32 2015
@@ -108,18 +108,21 @@ public class CugConfiguration extends Co
super(securityProvider, securityProvider.getParameters(NAME));
}
+ @Nonnull
@Override
- public AccessControlManager getAccessControlManager(Root root, NamePathMapper namePathMapper) {
+ public AccessControlManager getAccessControlManager(@Nonnull Root root, @Nonnull NamePathMapper namePathMapper) {
return new CugAccessControlManager(root, namePathMapper, getSecurityProvider());
}
+ @Nonnull
@Override
public RestrictionProvider getRestrictionProvider() {
return RestrictionProvider.EMPTY;
}
+ @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) {
ConfigurationParameters params = getParameters();
boolean enabled = params.getConfigValue(CugConstants.PARAM_CUG_ENABLED, false);
@@ -131,6 +134,7 @@ public class CugConfiguration extends Co
}
}
+ @Nonnull
@Override
public String getName() {
return AuthorizationConfiguration.NAME;
@@ -141,7 +145,7 @@ public class CugConfiguration extends Co
public RepositoryInitializer getRepositoryInitializer() {
return new RepositoryInitializer() {
@Override
- public void initialize(NodeBuilder builder) {
+ public void initialize(@Nonnull NodeBuilder builder) {
NodeState base = builder.getNodeState();
NodeStore store = new MemoryNodeStore(base);
@@ -158,15 +162,17 @@ public class CugConfiguration extends Co
@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 ImmutableList.of(new CugValidatorProvider());
}
+ @Nonnull
@Override
public List<ProtectedItemImporter> getProtectedItemImporters() {
return Collections.<ProtectedItemImporter>singletonList(new CugImporter());
}
+ @Nonnull
@Override
public Context getContext() {
return CugContext.INSTANCE;
Modified: jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugImporter.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugImporter.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugImporter.java (original)
+++ jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugImporter.java Tue Mar 31 12:41:32 2015
@@ -60,7 +60,7 @@ class CugImporter implements ProtectedPr
//----------------------------------------------< ProtectedItemImporter >---
@Override
- public boolean init(@Nonnull Session session, @Nonnull Root root, @Nonnull NamePathMapper namePathMapper, boolean isWorkspaceImport, int uuidBehavior, @Nonnull ReferenceChangeTracker referenceTracker, SecurityProvider securityProvider) {
+ public boolean init(@Nonnull Session session, @Nonnull Root root, @Nonnull NamePathMapper namePathMapper, boolean isWorkspaceImport, int uuidBehavior, @Nonnull ReferenceChangeTracker referenceTracker, @Nonnull SecurityProvider securityProvider) {
if (initialized) {
throw new IllegalStateException("Already initialized");
}
Modified: jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPermissionProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPermissionProvider.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPermissionProvider.java (original)
+++ jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPermissionProvider.java Tue Mar 31 12:41:32 2015
@@ -97,17 +97,17 @@ class CugPermissionProvider implements P
//---------------------------------------< AggregatedPermissionProvider >---
@Override
- public boolean handles(String path, String jcrAction) {
+ public boolean handles(@Nonnull String path, @Nonnull String jcrAction) {
return isReadAction(jcrAction) && includesCug(immutableRoot.getTree(path), path);
}
@Override
- public boolean handles(@Nonnull Tree tree, PrivilegeBits privilegeBits) {
+ public boolean handles(@Nonnull Tree tree, @Nonnull PrivilegeBits privilegeBits) {
return READ_PRIVILEGE_BITS.contains(privilegeBits) && includesCug(tree, tree.getPath());
}
@Override
- public boolean handles(Tree tree, long permission) {
+ public boolean handles(@Nonnull Tree tree, long permission) {
return isRead(permission) && includesCug(tree, tree.getPath());
}
@@ -131,9 +131,10 @@ class CugPermissionProvider implements P
immutableRoot = RootFactory.createReadOnlyRoot(root);
}
+ @Nonnull
@Override
- public Set<String> getPrivileges(Tree tree) {
- if (canRead(tree)) {
+ public Set<String> getPrivileges(@Nullable Tree tree) {
+ if (tree != null && canRead(tree)) {
return READ_PRIVILEGE_NAMES;
} else {
return Collections.emptySet();
@@ -141,7 +142,10 @@ class CugPermissionProvider implements P
}
@Override
- public boolean hasPrivileges(Tree tree, String... privilegeNames) {
+ public boolean hasPrivileges(@Nullable Tree tree, @Nonnull String... privilegeNames) {
+ if (tree == null) {
+ return false;
+ }
for (String privilegeName : privilegeNames) {
if (!READ_PRIVILEGE_NAMES.contains(privilegeName)) {
return false;
@@ -150,13 +154,15 @@ class CugPermissionProvider implements P
return canRead(tree);
}
+ @Nonnull
@Override
public RepositoryPermission getRepositoryPermission() {
throw new UnsupportedOperationException("Not supported");
}
+ @Nonnull
@Override
- public TreePermission getTreePermission(Tree tree, TreePermission parentPermission) {
+ public TreePermission getTreePermission(@Nonnull Tree tree, @Nonnull TreePermission parentPermission) {
Tree immutableTree = getImmutableTree(tree);
if (parentPermission == TreePermission.EMPTY && !immutableTree.isRoot() || isAcContent(immutableTree, true)) {
return TreePermission.EMPTY;
@@ -183,7 +189,7 @@ class CugPermissionProvider implements P
}
@Override
- public boolean isGranted(Tree tree, PropertyState property, long permissions) {
+ public boolean isGranted(@Nonnull Tree tree, PropertyState property, long permissions) {
if (isRead(permissions)) {
return canRead(tree);
} else {
@@ -192,7 +198,7 @@ class CugPermissionProvider implements P
}
@Override
- public boolean isGranted(String oakPath, String jcrActions) {
+ public boolean isGranted(@Nonnull String oakPath, @Nonnull String jcrActions) {
TreeLocation location = TreeLocation.create(immutableRoot, oakPath);
boolean isAcContent = isAcContent(location);
long permissions = Permissions.getPermissions(jcrActions, location, isAcContent);
@@ -322,8 +328,9 @@ class CugPermissionProvider implements P
this.tree = tree;
}
+ @Nonnull
@Override
- public TreePermission getChildPermission(String childName, NodeState childState) {
+ public TreePermission getChildPermission(@Nonnull String childName, @Nonnull NodeState childState) {
return getTreePermission(tree.getChild(childName), this);
}
@@ -371,8 +378,9 @@ class CugPermissionProvider implements P
this.allow = allow;
}
+ @Nonnull
@Override
- public TreePermission getChildPermission(String childName, NodeState childState) {
+ public TreePermission getChildPermission(@Nonnull String childName, @Nonnull NodeState childState) {
return getTreePermission(tree.getChild(childName), this);
}
Modified: jackrabbit/oak/trunk/oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/AbstractBlobStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/AbstractBlobStore.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/AbstractBlobStore.java (original)
+++ jackrabbit/oak/trunk/oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/AbstractBlobStore.java Tue Mar 31 12:41:32 2015
@@ -38,6 +38,7 @@ import java.util.NoSuchElementException;
import java.util.WeakHashMap;
import java.util.concurrent.atomic.AtomicReference;
+import javax.annotation.Nonnull;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
@@ -202,7 +203,7 @@ public abstract class AbstractBlobStore
//--------------------------------------------< Blob Reference >
@Override
- public String getReference(String blobId) {
+ public String getReference(@Nonnull String blobId) {
checkNotNull(blobId, "BlobId must be specified");
try {
Mac mac = Mac.getInstance(ALGORITHM);
@@ -219,7 +220,7 @@ public abstract class AbstractBlobStore
}
@Override
- public String getBlobId(String reference) {
+ public String getBlobId(@Nonnull String reference) {
checkNotNull(reference, "BlobId must be specified");
int colon = reference.indexOf(':');
if (colon != -1) {
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java Tue Mar 31 12:41:32 2015
@@ -149,7 +149,7 @@ public class Oak {
private final AtomicInteger counter = new AtomicInteger();
@Override
- public Thread newThread(Runnable r) {
+ public Thread newThread(@Nonnull Runnable r) {
Thread thread = new Thread(r, createName());
thread.setDaemon(true);
return thread;
@@ -176,7 +176,7 @@ public class Oak {
private final AtomicInteger counter = new AtomicInteger();
@Override
- public Thread newThread(Runnable r) {
+ public Thread newThread(@Nonnull Runnable r) {
Thread thread = new Thread(r, createName());
thread.setDaemon(true);
thread.setPriority(Thread.MIN_PRIORITY);
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/AuthInfo.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/AuthInfo.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/AuthInfo.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/AuthInfo.java Tue Mar 31 12:41:32 2015
@@ -46,6 +46,7 @@ public interface AuthInfo {
return null;
}
+ @Nonnull
@Override
public Set<Principal> getPrincipals() {
return Collections.emptySet();
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Type.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Type.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Type.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Type.java Tue Mar 31 12:41:32 2015
@@ -21,6 +21,7 @@ package org.apache.jackrabbit.oak.api;
import java.math.BigDecimal;
import java.util.Map;
+import javax.annotation.Nonnull;
import javax.jcr.PropertyType;
import com.google.common.base.Objects;
@@ -240,7 +241,7 @@ public final class Type<T> implements Co
//--------------------------------------------------------< Comparable >--
@Override
- public int compareTo(Type<?> that) {
+ public int compareTo(@Nonnull Type<?> that) {
return ComparisonChain.start()
.compare(tag, that.tag)
.compareFalseFirst(array, that.array)
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ImmutableRoot.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ImmutableRoot.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ImmutableRoot.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ImmutableRoot.java Tue Mar 31 12:41:32 2015
@@ -104,7 +104,7 @@ public final class ImmutableRoot impleme
}
@Override
- public void commit(Map<String, Object> info) {
+ public void commit(@Nonnull Map<String, Object> info) {
throw new UnsupportedOperationException();
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableRoot.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableRoot.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableRoot.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableRoot.java Tue Mar 31 12:41:32 2015
@@ -174,6 +174,7 @@ class MutableRoot implements Root {
//---------------------------------------------------------------< Root >---
+ @Nonnull
@Override
public ContentSession getContentSession() {
return session;
@@ -209,6 +210,7 @@ class MutableRoot implements Root {
return success;
}
+ @Nonnull
@Override
public MutableTree getTree(@Nonnull String path) {
checkLive();
@@ -237,7 +239,7 @@ class MutableRoot implements Root {
}
@Override
- public void commit(Map<String, Object> info) throws CommitFailedException {
+ public void commit(@Nonnull Map<String, Object> info) throws CommitFailedException {
checkLive();
ContentSession session = getContentSession();
CommitInfo commitInfo = new CommitInfo(
@@ -294,6 +296,7 @@ class MutableRoot implements Root {
return modCount > 0;
}
+ @Nonnull
@Override
public QueryEngine getQueryEngine() {
checkLive();
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableTree.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableTree.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableTree.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableTree.java Tue Mar 31 12:41:32 2015
@@ -88,7 +88,7 @@ final class MutableTree extends Abstract
@Override
@Nonnull
- protected MutableTree createChild(String name) throws IllegalArgumentException {
+ protected MutableTree createChild(@Nonnull String name) throws IllegalArgumentException {
return new MutableTree(root, pendingMoves, this,
nodeBuilder.getChildNode(checkNotNull(name)), name);
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/SecureNodeBuilder.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/SecureNodeBuilder.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/SecureNodeBuilder.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/SecureNodeBuilder.java Tue Mar 31 12:41:32 2015
@@ -173,7 +173,7 @@ class SecureNodeBuilder implements NodeB
@Override
- public boolean moveTo(NodeBuilder newParent, String newName) {
+ public boolean moveTo(@Nonnull NodeBuilder newParent, @Nonnull String newName) {
return exists() && builder.moveTo(newParent, newName);
}
@@ -216,7 +216,7 @@ class SecureNodeBuilder implements NodeB
}
@Override
- public boolean getBoolean(String name) {
+ public boolean getBoolean(@Nonnull String name) {
PropertyState property = getProperty(name);
return property != null
&& property.getType() == BOOLEAN
@@ -317,11 +317,12 @@ class SecureNodeBuilder implements NodeB
}
@Override @Nonnull
- public NodeBuilder setChildNode(String name, @Nonnull NodeState nodeState) {
+ public NodeBuilder setChildNode(@Nonnull String name, @Nonnull NodeState nodeState) {
builder.setChildNode(name, nodeState);
return new SecureNodeBuilder(this, name);
}
+ @Nonnull
@Override
public NodeBuilder getChildNode(@Nonnull String name) {
return new SecureNodeBuilder(this, name);
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/SecureNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/SecureNodeState.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/SecureNodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/SecureNodeState.java Tue Mar 31 12:41:32 2015
@@ -62,7 +62,7 @@ class SecureNodeState extends AbstractNo
}
@Override @CheckForNull
- public PropertyState getProperty(String name) {
+ public PropertyState getProperty(@Nonnull String name) {
PropertyState property = state.getProperty(name);
if (property != null && treePermission.canRead(property)) {
return property;
@@ -108,6 +108,7 @@ class SecureNodeState extends AbstractNo
}
}
+ @Nonnull
@Override
public NodeState getChildNode(@Nonnull String name) {
NodeState child = state.getChildNode(name);
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/SystemRoot.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/SystemRoot.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/SystemRoot.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/SystemRoot.java Tue Mar 31 12:41:32 2015
@@ -64,6 +64,7 @@ public class SystemRoot extends MutableR
new ContentSessionImpl(
LOGIN_CONTEXT, securityProvider, workspaceName,
store, hook, queryEngineSettings, indexProvider) {
+ @Nonnull
@Override
public Root getLatestRoot() {
return new SystemRoot(
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/NodeStoreKernel.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/NodeStoreKernel.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/NodeStoreKernel.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/NodeStoreKernel.java Tue Mar 31 12:41:32 2015
@@ -674,6 +674,7 @@ public class NodeStoreKernel implements
public long length() {
return b.length();
}
+ @Nonnull
@Override
public InputStream getNewStream() {
return b.getNewStream();
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/GlobalNameMapper.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/GlobalNameMapper.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/GlobalNameMapper.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/GlobalNameMapper.java Tue Mar 31 12:41:32 2015
@@ -130,6 +130,7 @@ public class GlobalNameMapper implements
return oakName;
}
+ @Nonnull
@Override
public Map<String, String> getSessionLocalMappings() {
return Collections.emptyMap();
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/LocalNameMapper.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/LocalNameMapper.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/LocalNameMapper.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/LocalNameMapper.java Tue Mar 31 12:41:32 2015
@@ -52,7 +52,7 @@ public class LocalNameMapper extends Glo
}
@Override @Nonnull
- public synchronized String getJcrName(String oakName) {
+ public synchronized String getJcrName(@Nonnull String oakName) {
checkNotNull(oakName);
checkArgument(!oakName.startsWith(":"), oakName); // hidden name
checkArgument(!isExpandedName(oakName), oakName); // expanded name
@@ -96,7 +96,7 @@ public class LocalNameMapper extends Glo
}
@Override @CheckForNull
- public synchronized String getOakNameOrNull(String jcrName) {
+ public synchronized String getOakNameOrNull(@Nonnull String jcrName) {
checkNotNull(jcrName);
if (jcrName.startsWith("{")) {
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/NamePathMapper.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/NamePathMapper.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/NamePathMapper.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/NamePathMapper.java Tue Mar 31 12:41:32 2015
@@ -37,7 +37,7 @@ public interface NamePathMapper extends
class Default implements NamePathMapper {
@Override
- public String getOakNameOrNull(String jcrName) {
+ public String getOakNameOrNull(@Nonnull String jcrName) {
return jcrName;
}
@@ -47,13 +47,15 @@ public interface NamePathMapper extends
return jcrName;
}
+ @Nonnull
@Override
public Map<String, String> getSessionLocalMappings() {
return Collections.emptyMap();
}
+ @Nonnull
@Override
- public String getJcrName(String oakName) {
+ public String getJcrName(@Nonnull String oakName) {
return oakName;
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/NamePathMapperImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/NamePathMapperImpl.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/NamePathMapperImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/NamePathMapperImpl.java Tue Mar 31 12:41:32 2015
@@ -54,7 +54,7 @@ public class NamePathMapperImpl implemen
//---------------------------------------------------------< NameMapper >---
@Override
- public String getOakNameOrNull(String jcrName) {
+ public String getOakNameOrNull(@Nonnull String jcrName) {
return nameMapper.getOakNameOrNull(jcrName);
}
@@ -64,8 +64,9 @@ public class NamePathMapperImpl implemen
return nameMapper.getOakName(jcrName);
}
+ @Nonnull
@Override
- public String getJcrName(String oakName) {
+ public String getJcrName(@Nonnull String oakName) {
return nameMapper.getJcrName(oakName);
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java Tue Mar 31 12:41:32 2015
@@ -30,6 +30,7 @@ import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
+import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.jcr.RepositoryException;
@@ -230,7 +231,7 @@ public class DataStoreBlobStore implemen
}
@Override
- public String getBlobId(String reference) {
+ public String getBlobId(@Nonnull String reference) {
checkNotNull(reference);
DataRecord record;
try {
@@ -245,7 +246,7 @@ public class DataStoreBlobStore implemen
}
@Override
- public String getReference(String encodedBlobId) {
+ public String getReference(@Nonnull String encodedBlobId) {
checkNotNull(encodedBlobId);
String blobId = extractBlobId(encodedBlobId);
//Reference are not created for in memory record
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/AbstractDocumentNodeBuilder.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/AbstractDocumentNodeBuilder.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/AbstractDocumentNodeBuilder.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/AbstractDocumentNodeBuilder.java Tue Mar 31 12:41:32 2015
@@ -53,7 +53,7 @@ abstract class AbstractDocumentNodeBuild
*/
@Override
@Nonnull
- public NodeBuilder setChildNode(String name, NodeState state) {
+ public NodeBuilder setChildNode(@Nonnull String name, @Nonnull NodeState state) {
NodeBuilder builder = super.setChildNode(name, EMPTY_NODE);
for (PropertyState property : state.getProperties()) {
builder.setProperty(property);
@@ -69,7 +69,7 @@ abstract class AbstractDocumentNodeBuild
@Override
@Nonnull
- public DocumentNodeBuilder getChildNode(String name) {
+ public DocumentNodeBuilder getChildNode(@Nonnull String name) {
checkValidName(name);
return createChildBuilder(name);
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeBuilder.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeBuilder.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeBuilder.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeBuilder.java Tue Mar 31 12:41:32 2015
@@ -64,7 +64,7 @@ class DocumentNodeBuilder extends Abstra
}
@Override
- public boolean moveTo(NodeBuilder newParent, String newName) {
+ public boolean moveTo(@Nonnull NodeBuilder newParent, @Nonnull String newName) {
checkNotNull(newParent);
checkValidName(newName);
if (isRoot() || !exists() || newParent.hasChildNode(newName)) {
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java Tue Mar 31 12:41:32 2015
@@ -140,12 +140,12 @@ public class DocumentNodeState extends A
}
@Override
- public PropertyState getProperty(String name) {
+ public PropertyState getProperty(@Nonnull String name) {
return properties.get(name);
}
@Override
- public boolean hasProperty(String name) {
+ public boolean hasProperty(@Nonnull String name) {
return properties.containsKey(name);
}
@@ -156,7 +156,7 @@ public class DocumentNodeState extends A
}
@Override
- public boolean hasChildNode(String name) {
+ public boolean hasChildNode(@Nonnull String name) {
if (!hasChildren || !isValidName(name)) {
return false;
} else {
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/CompositeIndexEditorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/CompositeIndexEditorProvider.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/CompositeIndexEditorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/CompositeIndexEditorProvider.java Tue Mar 31 12:41:32 2015
@@ -43,7 +43,7 @@ public class CompositeIndexEditorProvide
return new IndexEditorProvider() {
@Override
public Editor getIndexEditor(
- String type, NodeBuilder builder, NodeState root, IndexUpdateCallback callback) {
+ @Nonnull String type, @Nonnull NodeBuilder builder, @Nonnull NodeState root, @Nonnull IndexUpdateCallback callback) {
return null;
}
};
@@ -67,7 +67,7 @@ public class CompositeIndexEditorProvide
@Override
public Editor getIndexEditor(
- String type, NodeBuilder builder, NodeState root, IndexUpdateCallback callback)
+ @Nonnull String type, @Nonnull NodeBuilder builder, @Nonnull NodeState root, @Nonnull IndexUpdateCallback callback)
throws CommitFailedException {
List<Editor> indexes = Lists.newArrayList();
for (IndexEditorProvider provider : providers) {
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexEditorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexEditorProvider.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexEditorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexEditorProvider.java Tue Mar 31 12:41:32 2015
@@ -33,11 +33,11 @@ public interface IndexEditorProvider {
/**
* Each provider knows how to produce a certain type of index. If the
- * <code>type</code> param is of an unknown value, the provider is expected
+ * {@code type} param is of an unknown value, the provider is expected
* to return {@code null}.
*
* <p>
- * The <code>definition</code> builder must points to the index definition
+ * The {@code definition} builder must points to the index definition
* node under which the indexer is expected to store the index content.
* </p>
*
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexEditorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexEditorProvider.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexEditorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexEditorProvider.java Tue Mar 31 12:41:32 2015
@@ -16,6 +16,8 @@
*/
package org.apache.jackrabbit.oak.plugins.index.property;
+import javax.annotation.Nonnull;
+
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Service;
import org.apache.jackrabbit.oak.plugins.index.IndexEditorProvider;
@@ -39,7 +41,7 @@ public class PropertyIndexEditorProvider
@Override
public Editor getIndexEditor(
- String type, NodeBuilder definition, NodeState root, IndexUpdateCallback callback) {
+ @Nonnull String type, @Nonnull NodeBuilder definition, @Nonnull NodeState root, @Nonnull IndexUpdateCallback callback) {
if (TYPE.equals(type)) {
return new PropertyIndexEditor(definition, root, callback);
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceEditorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceEditorProvider.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceEditorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceEditorProvider.java Tue Mar 31 12:41:32 2015
@@ -16,6 +16,8 @@
*/
package org.apache.jackrabbit.oak.plugins.index.reference;
+import javax.annotation.Nonnull;
+
import static org.apache.jackrabbit.oak.plugins.index.reference.NodeReferenceConstants.TYPE;
import org.apache.felix.scr.annotations.Component;
@@ -31,8 +33,8 @@ import org.apache.jackrabbit.oak.spi.sta
public class ReferenceEditorProvider implements IndexEditorProvider {
@Override
- public Editor getIndexEditor(String type, NodeBuilder definition,
- NodeState root, IndexUpdateCallback callback) {
+ public Editor getIndexEditor(@Nonnull String type, @Nonnull NodeBuilder definition,
+ @Nonnull NodeState root, @Nonnull IndexUpdateCallback callback) {
if (TYPE.equals(type)) {
return new ReferenceEditor(definition, root);
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/AbstractBlob.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/AbstractBlob.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/AbstractBlob.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/AbstractBlob.java Tue Mar 31 12:41:32 2015
@@ -1,166 +1,168 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.jackrabbit.oak.plugins.memory;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import javax.annotation.CheckForNull;
-
-import com.google.common.hash.HashCode;
-import com.google.common.hash.Hashing;
-import com.google.common.io.ByteStreams;
-import com.google.common.io.InputSupplier;
-
-import org.apache.jackrabbit.oak.api.Blob;
-
-/**
- * Abstract base class for {@link Blob} implementations.
- * This base class provides default implementations for
- * {@code hashCode} and {@code equals}.
- */
-public abstract class AbstractBlob implements Blob {
-
- private static InputSupplier<InputStream> supplier(final Blob blob) {
- return new InputSupplier<InputStream>() {
- @Override
- public InputStream getInput() throws IOException {
- return blob.getNewStream();
- }
- };
- }
-
- public static boolean equal(Blob a, Blob b) {
- // shortcut: first compare lengths if known in advance
- long al = a.length();
- long bl = b.length();
- if (al != -1 && bl != -1 && al != bl) {
- return false; // blobs not equal, given known and non-equal lengths
- }
-
- try {
- return ByteStreams.equal(supplier(a), supplier(b));
- } catch (IOException e) {
- throw new IllegalStateException("Blob equality check failed", e);
- }
- }
-
- public static HashCode calculateSha256(final Blob blob) {
- AbstractBlob ab;
- if (blob instanceof AbstractBlob) {
- ab = ((AbstractBlob) blob);
- } else {
- ab = new AbstractBlob() {
- @Override
- public long length() {
- return blob.length();
- }
- @Override
- public InputStream getNewStream() {
- return blob.getNewStream();
- }
- };
- }
- return ab.getSha256();
- }
-
- private HashCode hashCode; // synchronized access
-
- protected AbstractBlob(HashCode hashCode) {
- this.hashCode = hashCode;
- }
-
- protected AbstractBlob() {
- this(null);
- }
-
- private synchronized HashCode getSha256() {
- // Blobs are immutable so we can safely cache the hash
- if (hashCode == null) {
- try {
- hashCode = ByteStreams.hash(supplier(this), Hashing.sha256());
- } catch (IOException e) {
- throw new IllegalStateException("Hash calculation failed", e);
- }
- }
- return hashCode;
- }
-
- /**
- * This hash code implementation returns the hash code of the underlying stream
- * @return a byte array of the hash
- */
- protected byte[] sha256() {
- return getSha256().asBytes();
- }
-
- //--------------------------------------------------------------< Blob >--
-
- @Override @CheckForNull
- public String getReference() {
- return null;
- }
-
- @Override
- public String getContentIdentity() {
- return null;
- }
-
-//------------------------------------------------------------< Object >--
-
- /**
- * To {@code Blob} instances are considered equal iff they have the
- * same SHA-256 hash code are equal.
- * @param other
- */
- @Override
- public boolean equals(Object other) {
- if (other == this) {
- return true;
- }
-
- if (other instanceof AbstractBlob) {
- AbstractBlob that = (AbstractBlob) other;
- // optimize the comparison if both this and the other blob
- // already have pre-computed SHA-256 hash codes
- synchronized (this) {
- if (hashCode != null) {
- synchronized (that) {
- if (that.hashCode != null) {
- return hashCode.equals(that.hashCode);
- }
- }
- }
- }
- }
-
- return other instanceof Blob && equal(this, (Blob) other);
- }
-
- @Override
- public int hashCode() {
- return 0; // see Blob javadoc
- }
-
- @Override
- public String toString() {
- return getSha256().toString();
- }
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.jackrabbit.oak.plugins.memory;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.annotation.CheckForNull;
+import javax.annotation.Nonnull;
+
+import com.google.common.hash.HashCode;
+import com.google.common.hash.Hashing;
+import com.google.common.io.ByteStreams;
+import com.google.common.io.InputSupplier;
+
+import org.apache.jackrabbit.oak.api.Blob;
+
+/**
+ * Abstract base class for {@link Blob} implementations.
+ * This base class provides default implementations for
+ * {@code hashCode} and {@code equals}.
+ */
+public abstract class AbstractBlob implements Blob {
+
+ private static InputSupplier<InputStream> supplier(final Blob blob) {
+ return new InputSupplier<InputStream>() {
+ @Override
+ public InputStream getInput() throws IOException {
+ return blob.getNewStream();
+ }
+ };
+ }
+
+ public static boolean equal(Blob a, Blob b) {
+ // shortcut: first compare lengths if known in advance
+ long al = a.length();
+ long bl = b.length();
+ if (al != -1 && bl != -1 && al != bl) {
+ return false; // blobs not equal, given known and non-equal lengths
+ }
+
+ try {
+ return ByteStreams.equal(supplier(a), supplier(b));
+ } catch (IOException e) {
+ throw new IllegalStateException("Blob equality check failed", e);
+ }
+ }
+
+ public static HashCode calculateSha256(final Blob blob) {
+ AbstractBlob ab;
+ if (blob instanceof AbstractBlob) {
+ ab = ((AbstractBlob) blob);
+ } else {
+ ab = new AbstractBlob() {
+ @Override
+ public long length() {
+ return blob.length();
+ }
+ @Nonnull
+ @Override
+ public InputStream getNewStream() {
+ return blob.getNewStream();
+ }
+ };
+ }
+ return ab.getSha256();
+ }
+
+ private HashCode hashCode; // synchronized access
+
+ protected AbstractBlob(HashCode hashCode) {
+ this.hashCode = hashCode;
+ }
+
+ protected AbstractBlob() {
+ this(null);
+ }
+
+ private synchronized HashCode getSha256() {
+ // Blobs are immutable so we can safely cache the hash
+ if (hashCode == null) {
+ try {
+ hashCode = ByteStreams.hash(supplier(this), Hashing.sha256());
+ } catch (IOException e) {
+ throw new IllegalStateException("Hash calculation failed", e);
+ }
+ }
+ return hashCode;
+ }
+
+ /**
+ * This hash code implementation returns the hash code of the underlying stream
+ * @return a byte array of the hash
+ */
+ protected byte[] sha256() {
+ return getSha256().asBytes();
+ }
+
+ //--------------------------------------------------------------< Blob >--
+
+ @Override @CheckForNull
+ public String getReference() {
+ return null;
+ }
+
+ @Override
+ public String getContentIdentity() {
+ return null;
+ }
+
+//------------------------------------------------------------< Object >--
+
+ /**
+ * To {@code Blob} instances are considered equal iff they have the
+ * same SHA-256 hash code are equal.
+ * @param other
+ */
+ @Override
+ public boolean equals(Object other) {
+ if (other == this) {
+ return true;
+ }
+
+ if (other instanceof AbstractBlob) {
+ AbstractBlob that = (AbstractBlob) other;
+ // optimize the comparison if both this and the other blob
+ // already have pre-computed SHA-256 hash codes
+ synchronized (this) {
+ if (hashCode != null) {
+ synchronized (that) {
+ if (that.hashCode != null) {
+ return hashCode.equals(that.hashCode);
+ }
+ }
+ }
+ }
+ }
+
+ return other instanceof Blob && equal(this, (Blob) other);
+ }
+
+ @Override
+ public int hashCode() {
+ return 0; // see Blob javadoc
+ }
+
+ @Override
+ public String toString() {
+ return getSha256().toString();
+ }
+
+}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/EmptyNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/EmptyNodeState.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/EmptyNodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/EmptyNodeState.java Tue Mar 31 12:41:32 2015
@@ -55,17 +55,17 @@ public final class EmptyNodeState implem
}
@Override
- public boolean hasProperty(String name) {
+ public boolean hasProperty(@Nonnull String name) {
return false;
}
@Override @CheckForNull
- public PropertyState getProperty(String name) {
+ public PropertyState getProperty(@Nonnull String name) {
return null;
}
@Override
- public boolean getBoolean(String name) {
+ public boolean getBoolean(@Nonnull String name) {
return false;
}
@@ -79,8 +79,9 @@ public final class EmptyNodeState implem
return null;
}
+ @Nonnull
@Override
- public Iterable<String> getStrings(String name) {
+ public Iterable<String> getStrings(@Nonnull String name) {
return emptyList();
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java Tue Mar 31 12:41:32 2015
@@ -303,18 +303,20 @@ public class MemoryNodeBuilder implement
return head().getCurrentNodeState().getChildNodeCount(max);
}
+ @Nonnull
@Override
public Iterable<String> getChildNodeNames() {
return head().getCurrentNodeState().getChildNodeNames();
}
@Override
- public boolean hasChildNode(String name) {
+ public boolean hasChildNode(@Nonnull String name) {
return head().getCurrentNodeState().hasChildNode(checkNotNull(name));
}
+ @Nonnull
@Override
- public NodeBuilder child(String name) {
+ public NodeBuilder child(@Nonnull String name) {
if (hasChildNode(name)) {
return getChildNode(name);
} else {
@@ -322,19 +324,22 @@ public class MemoryNodeBuilder implement
}
}
+ @Nonnull
@Override
- public NodeBuilder getChildNode(String name) {
+ public NodeBuilder getChildNode(@Nonnull String name) {
checkValidName(name);
return createChildBuilder(name);
}
+ @Nonnull
@Override
- public NodeBuilder setChildNode(String name) {
+ public NodeBuilder setChildNode(@Nonnull String name) {
return setChildNode(name, EMPTY_NODE);
}
+ @Nonnull
@Override
- public NodeBuilder setChildNode(String name, NodeState state) {
+ public NodeBuilder setChildNode(@Nonnull String name, @Nonnull NodeState state) {
checkState(exists(), "This builder does not exist: " + this.name);
head().getMutableNodeState().setChildNode(name, checkNotNull(state));
MemoryNodeBuilder builder = createChildBuilder(name);
@@ -371,7 +376,7 @@ public class MemoryNodeBuilder implement
* or contains the forward slash character
*/
@Override
- public boolean moveTo(NodeBuilder newParent, String newName)
+ public boolean moveTo(@Nonnull NodeBuilder newParent, @Nonnull String newName)
throws IllegalArgumentException {
checkNotNull(newParent);
checkValidName(newName);
@@ -459,6 +464,7 @@ public class MemoryNodeBuilder implement
return head().getCurrentNodeState().getPropertyCount();
}
+ @Nonnull
@Override
public Iterable<? extends PropertyState> getProperties() {
return head().getCurrentNodeState().getProperties();
@@ -475,7 +481,7 @@ public class MemoryNodeBuilder implement
}
@Override
- public boolean getBoolean(String name) {
+ public boolean getBoolean(@Nonnull String name) {
return head().getCurrentNodeState().getBoolean(checkNotNull(name));
}
@@ -494,26 +500,30 @@ public class MemoryNodeBuilder implement
return head().getCurrentNodeState().getNames(checkNotNull(name));
}
+ @Nonnull
@Override
- public NodeBuilder setProperty(PropertyState property) {
+ public NodeBuilder setProperty(@Nonnull PropertyState property) {
checkState(exists(), "This builder does not exist: " + name);
head().getMutableNodeState().setProperty(checkNotNull(property));
updated();
return this;
}
+ @Nonnull
@Override
- public <T> NodeBuilder setProperty(String name, T value) {
+ public <T> NodeBuilder setProperty(String name, @Nonnull T value) {
setProperty(PropertyStates.createProperty(name, value));
return this;
}
+ @Nonnull
@Override
- public <T> NodeBuilder setProperty(String name, T value, Type<T> type) {
+ public <T> NodeBuilder setProperty(String name, @Nonnull T value, Type<T> type) {
setProperty(PropertyStates.createProperty(name, value, type));
return this;
}
+ @Nonnull
@Override
public NodeBuilder removeProperty(String name) {
checkState(exists(), "This builder does not exist: " + name);
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeState.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeState.java Tue Mar 31 12:41:32 2015
@@ -22,6 +22,8 @@ import static org.apache.jackrabbit.oak.
import java.util.HashMap;
import java.util.Map;
+import javax.annotation.Nonnull;
+
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.spi.state.AbstractNodeState;
import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
@@ -60,12 +62,12 @@ class MemoryNodeState extends AbstractNo
}
@Override
- public boolean hasProperty(String name) {
+ public boolean hasProperty(@Nonnull String name) {
return properties.containsKey(name);
}
@Override
- public PropertyState getProperty(String name) {
+ public PropertyState getProperty(@Nonnull String name) {
return properties.get(name);
}
@@ -74,18 +76,20 @@ class MemoryNodeState extends AbstractNo
return properties.size();
}
+ @Nonnull
@Override
public Iterable<? extends PropertyState> getProperties() {
return properties.values();
}
@Override
- public boolean hasChildNode(String name) {
+ public boolean hasChildNode(@Nonnull String name) {
return nodes.containsKey(name);
}
+ @Nonnull
@Override
- public NodeState getChildNode(String name) {
+ public NodeState getChildNode(@Nonnull String name) {
NodeState state = nodes.get(name);
if (state == null) {
checkValidName(name);
@@ -99,11 +103,13 @@ class MemoryNodeState extends AbstractNo
return nodes.size();
}
+ @Nonnull
@Override
public Iterable<ChildNodeEntry> getChildNodeEntries() {
return MemoryChildNodeEntry.iterable(nodes.entrySet());
}
+ @Nonnull
@Override
public NodeBuilder builder() {
return new MemoryNodeBuilder(this);
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/ModifiedNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/ModifiedNodeState.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/ModifiedNodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/ModifiedNodeState.java Tue Mar 31 12:41:32 2015
@@ -274,6 +274,7 @@ public class ModifiedNodeState extends A
//---------------------------------------------------------< NodeState >--
+ @Nonnull
@Override
public NodeBuilder builder() {
return new MemoryNodeBuilder(this);
@@ -290,15 +291,16 @@ public class ModifiedNodeState extends A
}
@Override
- public boolean hasProperty(String name) {
+ public boolean hasProperty(@Nonnull String name) {
return hasProperty(base, properties, name);
}
@Override
- public PropertyState getProperty(String name) {
+ public PropertyState getProperty(@Nonnull String name) {
return getProperty(base, properties, name);
}
+ @Nonnull
@Override
public Iterable<? extends PropertyState> getProperties() {
return getProperties(base, properties, false);
@@ -310,7 +312,7 @@ public class ModifiedNodeState extends A
}
@Override
- public boolean hasChildNode(String name) {
+ public boolean hasChildNode(@Nonnull String name) {
NodeState child = nodes.get(name);
if (child != null) {
return child.exists();
@@ -319,8 +321,9 @@ public class ModifiedNodeState extends A
}
}
+ @Nonnull
@Override
- public NodeState getChildNode(String name) {
+ public NodeState getChildNode(@Nonnull String name) {
NodeState child = nodes.get(name);
if (child == null) {
child = base.getChildNode(name);
@@ -333,6 +336,7 @@ public class ModifiedNodeState extends A
return getChildNodeNames(base, nodes, false);
}
+ @Nonnull
@Override
public Iterable<? extends ChildNodeEntry> getChildNodeEntries() {
if (!base.exists()) {
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MutableNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MutableNodeState.java?rev=1670318&r1=1670317&r2=1670318&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MutableNodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MutableNodeState.java Tue Mar 31 12:41:32 2015
@@ -245,12 +245,12 @@ class MutableNodeState extends AbstractN
}
@Override
- public boolean hasProperty(String name) {
+ public boolean hasProperty(@Nonnull String name) {
return ModifiedNodeState.hasProperty(base, properties, name);
}
@Override
- public PropertyState getProperty(String name) {
+ public PropertyState getProperty(@Nonnull String name) {
return ModifiedNodeState.getProperty(base, properties, name);
}
@@ -266,7 +266,7 @@ class MutableNodeState extends AbstractN
}
@Override
- public boolean hasChildNode(String name) {
+ public boolean hasChildNode(@Nonnull String name) {
assert base != null;
NodeState child = nodes.get(name);
if (child != null) {
@@ -294,8 +294,9 @@ class MutableNodeState extends AbstractN
return child;
}
+ @Nonnull
@Override
- public NodeState getChildNode(String name) {
+ public NodeState getChildNode(@Nonnull String name) {
NodeState child = nodes.get(name);
if (child == null) {
child = base.getChildNode(name);