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 ju...@apache.org on 2014/02/10 23:28:48 UTC
svn commit: r1566767 [1/2] - in /jackrabbit/oak/trunk:
oak-core/src/main/java/org/apache/jackrabbit/oak/
oak-core/src/main/java/org/apache/jackrabbit/oak/core/
oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/
oak-core/src/main/java/org/apache/j...
Author: jukka
Date: Mon Feb 10 22:28:47 2014
New Revision: 1566767
URL: http://svn.apache.org/r1566767
Log:
OAK-1387: Pass CommitInfo to commit hooks, editors and validators
Pass the CommitInfo object to commit hooks and editor/validator providers
Modified:
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/core/AbstractRoot.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeStoreBranch.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/plugins/backup/FileStoreRestore.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/ConflictHook.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/ConflictValidatorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdateProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NameValidatorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NamespaceEditorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStore.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionEditorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionablePathHook.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidatorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionHook.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionStoreValidatorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidatorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/JcrAllCommitHook.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeValidatorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserValidatorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CommitHook.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CommitInfo.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CompositeEditorProvider.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/EditorHook.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/EditorProvider.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/commit/ValidatorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/OakInitializer.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/AbstractNodeStoreBranch.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStore.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStoreBranch.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardEditorProvider.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeBuilderTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeStateTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeStoreCacheTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/LargeKernelNodeStateTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/NodeStoreTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackupTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobReferenceTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/ManyChildNodesTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/MergeRetryTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/CacheInvalidationIT.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/nodetype/NodeTypeIndexTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditorTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/CheckpointTest.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/plugins/segment/JournalTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/MergeTest.java
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/version/HiddenNodeTest.java
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexTest.java
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexHookIT.java
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/security/GroupEditorProvider.java
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=1566767&r1=1566766&r2=1566767&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 Mon Feb 10 22:28:47 2014
@@ -60,6 +60,7 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.index.IndexUpdateProvider;
import org.apache.jackrabbit.oak.spi.commit.BackgroundObserver;
import org.apache.jackrabbit.oak.spi.commit.CommitHook;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.CompositeEditorProvider;
import org.apache.jackrabbit.oak.spi.commit.CompositeHook;
import org.apache.jackrabbit.oak.spi.commit.ConflictHandler;
@@ -389,7 +390,8 @@ public class Oak {
return with(new EditorProvider() {
@Override @Nonnull
public Editor getRootEditor(
- NodeState before, NodeState after, NodeBuilder builder) {
+ NodeState before, NodeState after,
+ NodeBuilder builder, CommitInfo info) {
return editor;
}
});
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/AbstractRoot.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/AbstractRoot.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/AbstractRoot.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/AbstractRoot.java Mon Feb 10 22:28:47 2014
@@ -267,7 +267,9 @@ abstract class AbstractRoot implements R
if (path != null) {
hooks.add(new EditorHook(new EditorProvider() {
@Override
- public Editor getRootEditor(NodeState before, NodeState after, NodeBuilder builder) {
+ public Editor getRootEditor(
+ NodeState before, NodeState after,
+ NodeBuilder builder, CommitInfo info) {
return new ItemSaveValidator(path);
}
}));
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeStoreBranch.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeStoreBranch.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeStoreBranch.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeStoreBranch.java Mon Feb 10 22:28:47 2014
@@ -135,7 +135,7 @@ public class KernelNodeStoreBranch exten
@Nonnull
@Override
- public NodeState merge(@Nonnull CommitHook hook, @Nullable CommitInfo info)
+ public NodeState merge(@Nonnull CommitHook hook, @Nonnull CommitInfo info)
throws CommitFailedException {
mergeLock.lock();
try {
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=1566767&r1=1566766&r2=1566767&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 Mon Feb 10 22:28:47 2014
@@ -32,6 +32,7 @@ import com.google.common.hash.HashCode;
import com.google.common.hash.Hasher;
import com.google.common.hash.Hashing;
import com.google.common.io.ByteStreams;
+
import org.apache.jackrabbit.mk.api.MicroKernel;
import org.apache.jackrabbit.mk.api.MicroKernelException;
import org.apache.jackrabbit.mk.json.JsopBuilder;
@@ -43,6 +44,7 @@ import org.apache.jackrabbit.oak.api.Typ
import org.apache.jackrabbit.oak.commons.PathUtils;
import org.apache.jackrabbit.oak.plugins.memory.AbstractBlob;
import org.apache.jackrabbit.oak.spi.commit.CommitHook;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.DefaultValidator;
import org.apache.jackrabbit.oak.spi.commit.EditorHook;
import org.apache.jackrabbit.oak.spi.commit.Validator;
@@ -67,7 +69,7 @@ public class NodeStoreKernel implements
new EditorHook(new ValidatorProvider() {
@Override
protected Validator getRootValidator(
- NodeState before, NodeState after) {
+ NodeState before, NodeState after, CommitInfo info) {
return new DefaultValidator() {
@Override
public Validator childNodeAdded(
@@ -471,7 +473,9 @@ public class NodeStoreKernel implements
revision = new Revision(revision, builder.getNodeState(), message);
} else {
try {
- NodeState newRoot = store.merge(builder, CONFLICT_HOOK, null);
+ CommitInfo info =
+ new CommitInfo(CommitInfo.OAK_UNKNOWN, null, message);
+ NodeState newRoot = store.merge(builder, CONFLICT_HOOK, info);
if (!newRoot.equals(head.root)) {
revision = new Revision(head, newRoot, message);
head = revision;
@@ -506,8 +510,10 @@ public class NodeStoreKernel implements
}
try {
+ CommitInfo info =
+ new CommitInfo(CommitInfo.OAK_UNKNOWN, null, message);
NodeState newRoot =
- store.merge(revision.branch, CONFLICT_HOOK, null);
+ store.merge(revision.branch, CONFLICT_HOOK, info);
if (!newRoot.equals(head.root)) {
head = new Revision(head, newRoot, message);
revisions.put(head.id, head);
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreRestore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreRestore.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreRestore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreRestore.java Mon Feb 10 22:28:47 2014
@@ -25,6 +25,7 @@ import org.apache.jackrabbit.oak.api.Com
import org.apache.jackrabbit.oak.plugins.segment.Journal;
import org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState;
import org.apache.jackrabbit.oak.plugins.segment.file.FileStore;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
import org.apache.jackrabbit.oak.spi.state.ApplyDiff;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -68,7 +69,7 @@ public class FileStoreRestore {
NodeState after = store.getRoot();
NodeBuilder builder = after.builder();
source.compareAgainstBaseState(after, new ApplyDiff(builder));
- store.merge(builder, EmptyHook.INSTANCE, null);
+ store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
log.debug("Restore finished in {} ms.", System.currentTimeMillis() - s);
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/ConflictHook.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/ConflictHook.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/ConflictHook.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/ConflictHook.java Mon Feb 10 22:28:47 2014
@@ -20,6 +20,7 @@ import javax.annotation.Nonnull;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.spi.commit.CommitHook;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.ConflictHandler;
import org.apache.jackrabbit.oak.spi.state.NodeState;
@@ -46,7 +47,9 @@ public class ConflictHook implements Com
@Nonnull
@Override
- public NodeState processCommit(NodeState before, NodeState after) throws CommitFailedException {
+ public NodeState processCommit(
+ NodeState before, NodeState after, CommitInfo info)
+ throws CommitFailedException {
return MergingNodeStateDiff.merge(before, after, conflictHandler);
}
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/ConflictValidatorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/ConflictValidatorProvider.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/ConflictValidatorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/ConflictValidatorProvider.java Mon Feb 10 22:28:47 2014
@@ -20,6 +20,7 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.Service;
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.plugins.tree.ImmutableTree;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EditorProvider;
import org.apache.jackrabbit.oak.spi.commit.Validator;
import org.apache.jackrabbit.oak.spi.commit.ValidatorProvider;
@@ -33,7 +34,8 @@ import org.apache.jackrabbit.oak.spi.sta
public class ConflictValidatorProvider extends ValidatorProvider {
@Override
- public Validator getRootValidator(NodeState before, NodeState after) {
+ public Validator getRootValidator(
+ NodeState before, NodeState after, CommitInfo info) {
Tree rootAfter = new ImmutableTree(after);
return new ConflictValidator(rootAfter);
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java Mon Feb 10 22:28:47 2014
@@ -22,7 +22,6 @@ import static com.google.common.base.Pre
import static org.apache.jackrabbit.oak.api.Type.STRING;
import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.MISSING_NODE;
import static org.apache.jackrabbit.oak.api.jmx.IndexStatsMBean.STATUS_DONE;
-import static org.apache.jackrabbit.oak.api.jmx.IndexStatsMBean.STATUS_INIT;
import static org.apache.jackrabbit.oak.api.jmx.IndexStatsMBean.STATUS_RUNNING;
import java.util.Calendar;
@@ -38,6 +37,7 @@ import org.apache.jackrabbit.oak.api.Typ
import org.apache.jackrabbit.oak.api.jmx.IndexStatsMBean;
import org.apache.jackrabbit.oak.plugins.value.Conversions;
import org.apache.jackrabbit.oak.spi.commit.CommitHook;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EditorDiff;
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -147,8 +147,9 @@ public class AsyncIndexUpdate implements
try {
store.merge(builder, new CommitHook() {
@Override @Nonnull
- public NodeState processCommit(NodeState before,
- NodeState after) throws CommitFailedException {
+ public NodeState processCommit(
+ NodeState before, NodeState after, CommitInfo info)
+ throws CommitFailedException {
// check for concurrent updates by this async task
PropertyState stateAfterRebase = before
.getChildNode(ASYNC).getProperty(name);
@@ -159,7 +160,7 @@ public class AsyncIndexUpdate implements
throw CONCURRENT_UPDATE;
}
}
- }, null);
+ }, CommitInfo.EMPTY);
} catch (CommitFailedException e) {
if (e != CONCURRENT_UPDATE) {
exception = e;
@@ -184,7 +185,7 @@ public class AsyncIndexUpdate implements
AsyncIndexStats stats) throws CommitFailedException {
NodeBuilder builder = store.getRoot().builder();
preAsyncRunStatus(builder, stats);
- store.merge(builder, EmptyHook.INSTANCE, null);
+ store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
}
private static boolean isAlreadyRunning(NodeStore store) {
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdateProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdateProvider.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdateProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdateProvider.java Mon Feb 10 22:28:47 2014
@@ -19,6 +19,7 @@ package org.apache.jackrabbit.oak.plugin
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.Editor;
import org.apache.jackrabbit.oak.spi.commit.EditorProvider;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -50,7 +51,8 @@ public class IndexUpdateProvider impleme
@Override @CheckForNull
public Editor getRootEditor(
- NodeState before, NodeState after, NodeBuilder builder) {
+ NodeState before, NodeState after,
+ NodeBuilder builder, CommitInfo info) {
return new IndexUpdate(provider, async, after, builder, NOOP_CALLBACK);
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java Mon Feb 10 22:28:47 2014
@@ -21,6 +21,7 @@ import static com.google.common.base.Pre
import static com.google.common.base.Preconditions.checkState;
import static com.google.common.collect.Maps.newHashMap;
import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
+import static org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.squeeze;
import java.io.IOException;
import java.io.InputStream;
@@ -207,11 +208,13 @@ public class MemoryNodeStore implements
@Override
public NodeState merge(
- @Nonnull CommitHook hook, @Nullable CommitInfo info)
+ @Nonnull CommitHook hook, @Nonnull CommitInfo info)
throws CommitFailedException {
+ checkNotNull(hook);
+ checkNotNull(info);
// TODO: rebase();
checkNotMerged();
- NodeState merged = ModifiedNodeState.squeeze(checkNotNull(hook).processCommit(base, root));
+ NodeState merged = squeeze(hook.processCommit(base, root, info));
store.root.set(merged);
root = null; // Mark as merged
return merged;
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NameValidatorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NameValidatorProvider.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NameValidatorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NameValidatorProvider.java Mon Feb 10 22:28:47 2014
@@ -18,6 +18,7 @@ package org.apache.jackrabbit.oak.plugin
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Service;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EditorProvider;
import org.apache.jackrabbit.oak.spi.commit.Validator;
import org.apache.jackrabbit.oak.spi.commit.ValidatorProvider;
@@ -39,7 +40,8 @@ import static org.apache.jackrabbit.oak.
public class NameValidatorProvider extends ValidatorProvider {
@Override
- public Validator getRootValidator(NodeState before, NodeState after) {
+ public Validator getRootValidator(
+ NodeState before, NodeState after, CommitInfo info) {
return new NameValidator(newHashSet(after
.getChildNode(JCR_SYSTEM)
.getChildNode(REP_NAMESPACES)
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NamespaceEditorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NamespaceEditorProvider.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NamespaceEditorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NamespaceEditorProvider.java Mon Feb 10 22:28:47 2014
@@ -22,6 +22,7 @@ import static org.apache.jackrabbit.oak.
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Service;
import org.apache.jackrabbit.oak.api.CommitFailedException;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.Editor;
import org.apache.jackrabbit.oak.spi.commit.EditorProvider;
import org.apache.jackrabbit.oak.spi.commit.SubtreeEditor;
@@ -38,8 +39,9 @@ import org.apache.jackrabbit.oak.spi.sta
public class NamespaceEditorProvider implements EditorProvider {
@Override
- public Editor getRootEditor(NodeState before, NodeState after,
- NodeBuilder builder) throws CommitFailedException {
+ public Editor getRootEditor(
+ NodeState before, NodeState after, NodeBuilder builder,
+ CommitInfo info) throws CommitFailedException {
return new SubtreeEditor(new NamespaceEditor(before, builder), JCR_SYSTEM, REP_NAMESPACES);
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditorProvider.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditorProvider.java Mon Feb 10 22:28:47 2014
@@ -29,6 +29,7 @@ import java.util.Set;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Service;
import org.apache.jackrabbit.oak.api.CommitFailedException;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.Editor;
import org.apache.jackrabbit.oak.spi.commit.EditorDiff;
import org.apache.jackrabbit.oak.spi.commit.EditorProvider;
@@ -42,8 +43,8 @@ public class TypeEditorProvider implemen
@Override
public Editor getRootEditor(
- NodeState before, NodeState after, NodeBuilder builder)
- throws CommitFailedException {
+ NodeState before, NodeState after, NodeBuilder builder,
+ CommitInfo info) throws CommitFailedException {
NodeState beforeTypes =
before.getChildNode(JCR_SYSTEM).getChildNode(JCR_NODE_TYPES);
NodeState afterTypes =
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStore.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStore.java Mon Feb 10 22:28:47 2014
@@ -251,13 +251,13 @@ public class SegmentNodeStore implements
private final CommitInfo info;
Commit(@Nonnull SegmentNodeBuilder builder,
- @Nonnull CommitHook hook, @Nullable CommitInfo info) {
+ @Nonnull CommitHook hook, @Nonnull CommitInfo info) {
checkNotNull(builder);
this.before = builder.getBaseState();
this.after = builder.getNodeState();
this.hook = checkNotNull(hook);
- this.info = info;
+ this.info = checkNotNull(info);
}
private boolean setHead(SegmentNodeBuilder builder) {
@@ -280,7 +280,8 @@ public class SegmentNodeStore implements
SegmentNodeBuilder builder = state.builder();
if (fastEquals(before, state.getChildNode(ROOT))) {
// use a shortcut when there are no external changes
- builder.setChildNode(ROOT, hook.processCommit(before, after));
+ builder.setChildNode(
+ ROOT, hook.processCommit(before, after, info));
} else {
// there were some external changes, so do the full rebase
ConflictAnnotatingRebaseDiff diff =
@@ -289,7 +290,8 @@ public class SegmentNodeStore implements
// apply commit hooks on the rebased changes
builder.setChildNode(ROOT, hook.processCommit(
builder.getBaseState().getChildNode(ROOT),
- builder.getNodeState().getChildNode(ROOT)));
+ builder.getNodeState().getChildNode(ROOT),
+ info));
}
return builder;
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionEditorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionEditorProvider.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionEditorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionEditorProvider.java Mon Feb 10 22:28:47 2014
@@ -21,6 +21,7 @@ import static org.apache.jackrabbit.oak.
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Service;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.CompositeEditor;
import org.apache.jackrabbit.oak.spi.commit.Editor;
import org.apache.jackrabbit.oak.spi.commit.EditorProvider;
@@ -33,8 +34,9 @@ import org.apache.jackrabbit.oak.spi.sta
public class VersionEditorProvider implements EditorProvider {
@Override
- public Editor getRootEditor(NodeState before, NodeState after,
- NodeBuilder builder) {
+ public Editor getRootEditor(
+ NodeState before, NodeState after,
+ NodeBuilder builder, CommitInfo info) {
if (!builder.hasChildNode(JCR_SYSTEM)) {
return null;
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionablePathHook.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionablePathHook.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionablePathHook.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionablePathHook.java Mon Feb 10 22:28:47 2014
@@ -18,9 +18,11 @@ package org.apache.jackrabbit.oak.plugin
import java.util.ArrayList;
import java.util.List;
+
import javax.annotation.Nonnull;
import com.google.common.collect.ImmutableSet;
+
import org.apache.jackrabbit.JcrConstants;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.PropertyState;
@@ -30,6 +32,7 @@ import org.apache.jackrabbit.oak.commons
import org.apache.jackrabbit.oak.plugins.tree.ImmutableTree;
import org.apache.jackrabbit.oak.plugins.nodetype.NodeTypeConstants;
import org.apache.jackrabbit.oak.spi.commit.CommitHook;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.state.DefaultNodeStateDiff;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
@@ -52,7 +55,9 @@ public class VersionablePathHook impleme
@Nonnull
@Override
- public NodeState processCommit(final NodeState before, NodeState after) throws CommitFailedException {
+ public NodeState processCommit(
+ NodeState before, NodeState after, CommitInfo info)
+ throws CommitFailedException {
NodeBuilder rootBuilder = after.builder();
NodeBuilder vsRoot = rootBuilder.child(NodeTypeConstants.JCR_SYSTEM).child(NodeTypeConstants.JCR_VERSIONSTORAGE);
ReadWriteVersionManager vMgr = new ReadWriteVersionManager(vsRoot, rootBuilder);
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidatorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidatorProvider.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidatorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidatorProvider.java Mon Feb 10 22:28:47 2014
@@ -23,6 +23,7 @@ import org.apache.jackrabbit.oak.api.Roo
import org.apache.jackrabbit.oak.core.ImmutableRoot;
import org.apache.jackrabbit.oak.plugins.tree.ImmutableTree;
import org.apache.jackrabbit.oak.namepath.NamePathMapper;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.Validator;
import org.apache.jackrabbit.oak.spi.commit.ValidatorProvider;
import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
@@ -49,7 +50,8 @@ public class AccessControlValidatorProvi
//--------------------------------------------------< ValidatorProvider >---
@Nonnull
@Override
- public Validator getRootValidator(NodeState before, NodeState after) {
+ public Validator getRootValidator(
+ NodeState before, NodeState after, CommitInfo info) {
ImmutableTree rootAfter = new ImmutableTree(after);
RestrictionProvider restrictionProvider = getConfig(AuthorizationConfiguration.class).getRestrictionProvider();
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionHook.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionHook.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionHook.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionHook.java Mon Feb 10 22:28:47 2014
@@ -34,6 +34,7 @@ import org.apache.jackrabbit.oak.api.Typ
import org.apache.jackrabbit.oak.core.ImmutableRoot;
import org.apache.jackrabbit.oak.plugins.tree.ImmutableTree;
import org.apache.jackrabbit.oak.plugins.nodetype.TypePredicate;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.PostValidationHook;
import org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol.AccessControlConstants;
import org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionConstants;
@@ -105,7 +106,9 @@ public class PermissionHook implements P
@Nonnull
@Override
- public NodeState processCommit(final NodeState before, NodeState after) throws CommitFailedException {
+ public NodeState processCommit(
+ NodeState before, NodeState after, CommitInfo info)
+ throws CommitFailedException {
NodeBuilder rootAfter = after.builder();
permissionRoot = getPermissionRoot(rootAfter);
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionStoreValidatorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionStoreValidatorProvider.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionStoreValidatorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionStoreValidatorProvider.java Mon Feb 10 22:28:47 2014
@@ -18,6 +18,7 @@ package org.apache.jackrabbit.oak.securi
import javax.annotation.Nonnull;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.FailingValidator;
import org.apache.jackrabbit.oak.spi.commit.SubtreeValidator;
import org.apache.jackrabbit.oak.spi.commit.Validator;
@@ -34,7 +35,8 @@ public class PermissionStoreValidatorPro
@Nonnull
@Override
- public Validator getRootValidator(NodeState before, NodeState after) {
+ public Validator getRootValidator(
+ NodeState before, NodeState after, CommitInfo info) {
FailingValidator validator = new FailingValidator(
"Constraint", 41, "Attempt to modify permission store.");
return new SubtreeValidator(validator, JCR_SYSTEM, REP_PERMISSION_STORE);
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidatorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidatorProvider.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidatorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidatorProvider.java Mon Feb 10 22:28:47 2014
@@ -18,10 +18,12 @@ package org.apache.jackrabbit.oak.securi
import java.security.Principal;
import java.util.Set;
+
import javax.annotation.Nonnull;
import org.apache.jackrabbit.oak.core.ImmutableRoot;
import org.apache.jackrabbit.oak.plugins.tree.ImmutableTree;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.MoveTracker;
import org.apache.jackrabbit.oak.spi.commit.Validator;
import org.apache.jackrabbit.oak.spi.commit.ValidatorProvider;
@@ -66,9 +68,10 @@ public class PermissionValidatorProvider
}
//--------------------------------------------------< ValidatorProvider >---
- @Nonnull
- @Override
- public Validator getRootValidator(NodeState before, NodeState after) {
+
+ @Override @Nonnull
+ public Validator getRootValidator(
+ NodeState before, NodeState after, CommitInfo info) {
PermissionProvider pp = acConfig.getPermissionProvider(new ImmutableRoot(before), workspaceName, principals);
ImmutableTree rootBefore = new ImmutableTree(before);
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/JcrAllCommitHook.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/JcrAllCommitHook.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/JcrAllCommitHook.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/JcrAllCommitHook.java Mon Feb 10 22:28:47 2014
@@ -21,6 +21,7 @@ import javax.annotation.Nonnull;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Type;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.PostValidationHook;
import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeBits;
import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeConstants;
@@ -38,7 +39,9 @@ class JcrAllCommitHook implements PostVa
@Nonnull
@Override
- public NodeState processCommit(NodeState before, NodeState after) throws CommitFailedException {
+ public NodeState processCommit(
+ NodeState before, NodeState after, CommitInfo info)
+ throws CommitFailedException {
NodeBuilder builder = after.builder();
after.compareAgainstBaseState(before, new PrivilegeDiff(null, null, builder));
return builder.getNodeState();
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeValidatorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeValidatorProvider.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeValidatorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeValidatorProvider.java Mon Feb 10 22:28:47 2014
@@ -20,6 +20,7 @@ import javax.annotation.Nonnull;
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.core.ImmutableRoot;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.SubtreeValidator;
import org.apache.jackrabbit.oak.spi.commit.Validator;
import org.apache.jackrabbit.oak.spi.commit.ValidatorProvider;
@@ -37,7 +38,8 @@ class PrivilegeValidatorProvider extends
@Nonnull
@Override
- public Validator getRootValidator(NodeState before, NodeState after) {
+ public Validator getRootValidator(
+ NodeState before, NodeState after, CommitInfo info) {
return new SubtreeValidator(new PrivilegeValidator(createRoot(before), createRoot(after)),
JCR_SYSTEM, REP_PRIVILEGES);
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserValidatorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserValidatorProvider.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserValidatorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserValidatorProvider.java Mon Feb 10 22:28:47 2014
@@ -20,6 +20,7 @@ import javax.annotation.Nonnull;
import org.apache.jackrabbit.oak.core.ImmutableRoot;
import org.apache.jackrabbit.oak.plugins.tree.ImmutableTree;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.Validator;
import org.apache.jackrabbit.oak.spi.commit.ValidatorProvider;
import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
@@ -41,9 +42,10 @@ class UserValidatorProvider extends Vali
}
//--------------------------------------------------< ValidatorProvider >---
- @Nonnull
- @Override
- public Validator getRootValidator(NodeState before, NodeState after) {
+
+ @Override @Nonnull
+ public Validator getRootValidator(
+ NodeState before, NodeState after, CommitInfo info) {
membershipProvider = new MembershipProvider(new ImmutableRoot(after), config);
return new UserValidator(new ImmutableTree(before), new ImmutableTree(after), this);
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CommitHook.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CommitHook.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CommitHook.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CommitHook.java Mon Feb 10 22:28:47 2014
@@ -45,11 +45,12 @@ public interface CommitHook {
*
* @param before content tree before the commit
* @param after content tree prepared for the commit
+ * @param info metadata associated with this commit
* @return content tree to be committed
* @throws CommitFailedException if the commit should be rejected
*/
@Nonnull
- NodeState processCommit(NodeState before, NodeState after)
+ NodeState processCommit(NodeState before, NodeState after, CommitInfo info)
throws CommitFailedException;
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CommitInfo.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CommitInfo.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CommitInfo.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CommitInfo.java Mon Feb 10 22:28:47 2014
@@ -34,6 +34,13 @@ public final class CommitInfo {
public static final String OAK_UNKNOWN = "oak:unknown";
+ /**
+ * Empty commit information object. Used as a dummy object when no
+ * metadata is known (or needed) about a commit.
+ */
+ public static final CommitInfo EMPTY =
+ new CommitInfo(OAK_UNKNOWN, OAK_UNKNOWN, null);
+
private final String sessionId;
private final String userId;
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CompositeEditorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CompositeEditorProvider.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CompositeEditorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/CompositeEditorProvider.java Mon Feb 10 22:28:47 2014
@@ -40,7 +40,8 @@ public class CompositeEditorProvider imp
new EditorProvider() {
@Override @CheckForNull
public Editor getRootEditor(
- NodeState before, NodeState after, NodeBuilder builder) {
+ NodeState before, NodeState after,
+ NodeBuilder builder, CommitInfo info) {
return null;
}
};
@@ -72,11 +73,11 @@ public class CompositeEditorProvider imp
@Override @CheckForNull
public Editor getRootEditor(
- NodeState before, NodeState after, NodeBuilder builder)
- throws CommitFailedException {
+ NodeState before, NodeState after, NodeBuilder builder,
+ CommitInfo info) throws CommitFailedException {
List<Editor> list = Lists.newArrayListWithCapacity(providers.size());
for (EditorProvider provider : providers) {
- Editor editor = provider.getRootEditor(before, after, builder);
+ Editor editor = provider.getRootEditor(before, after, builder, info);
if (editor != null) {
list.add(editor);
}
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=1566767&r1=1566766&r2=1566767&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 Mon Feb 10 22:28:47 2014
@@ -52,11 +52,12 @@ public class CompositeHook implements Co
}
@Override
- public NodeState processCommit(NodeState before, NodeState after)
+ public NodeState processCommit(
+ NodeState before, NodeState after, CommitInfo info)
throws CommitFailedException {
NodeState newState = after;
for (CommitHook hook : hooks) {
- newState = hook.processCommit(before, newState);
+ newState = hook.processCommit(before, newState, info);
}
return newState;
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/EditorHook.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/EditorHook.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/EditorHook.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/EditorHook.java Mon Feb 10 22:28:47 2014
@@ -43,12 +43,14 @@ public class EditorHook implements Commi
@Override @Nonnull
public NodeState processCommit(
- @Nonnull NodeState before, @Nonnull NodeState after)
- throws CommitFailedException {
+ @Nonnull NodeState before, @Nonnull NodeState after,
+ @Nonnull CommitInfo info) throws CommitFailedException {
checkNotNull(before);
checkNotNull(after);
+ checkNotNull(info);
+
NodeBuilder builder = after.builder();
- Editor editor = provider.getRootEditor(before, after, builder);
+ Editor editor = provider.getRootEditor(before, after, builder, info);
CommitFailedException exception =
EditorDiff.process(editor, before, after);
if (exception == null) {
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/EditorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/EditorProvider.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/EditorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/EditorProvider.java Mon Feb 10 22:28:47 2014
@@ -46,11 +46,13 @@ public interface EditorProvider {
* @param before original root state
* @param after modified root state
* @param builder node builder based on the after state
+ * @param info metadata associated with this commit
* @return editor for processing the changes, or {@code null}
* @throws CommitFailedException if processing failed
*/
@CheckForNull
- Editor getRootEditor(NodeState before, NodeState after, NodeBuilder builder)
+ Editor getRootEditor(
+ NodeState before, NodeState after, NodeBuilder builder, CommitInfo info)
throws CommitFailedException;
}
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=1566767&r1=1566766&r2=1566767&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 Mon Feb 10 22:28:47 2014
@@ -42,7 +42,8 @@ public class EmptyHook implements Commit
public static final CommitHook INSTANCE = new EmptyHook();
@Override
- public NodeState processCommit(NodeState before, NodeState after)
+ public NodeState processCommit(
+ NodeState before, NodeState after, CommitInfo info)
throws CommitFailedException {
return after;
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/ValidatorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/ValidatorProvider.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/ValidatorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/ValidatorProvider.java Mon Feb 10 22:28:47 2014
@@ -36,18 +36,20 @@ public abstract class ValidatorProvider
*
* @param before original root state
* @param after modified root state
+ * @param info metadata about this commit
* @return validator for checking the modifications
*/
@Nonnull
protected abstract Validator getRootValidator(
- NodeState before, NodeState after);
+ NodeState before, NodeState after, CommitInfo info);
//----------------------------------------------------< EditorProvider >--
@Override @Nonnull
public final Editor getRootEditor(
- NodeState before, NodeState after, NodeBuilder builder) {
- return getRootValidator(before, after);
+ NodeState before, NodeState after,
+ NodeBuilder builder, CommitInfo info) {
+ return getRootValidator(before, after, info);
}
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/OakInitializer.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/OakInitializer.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/OakInitializer.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/OakInitializer.java Mon Feb 10 22:28:47 2014
@@ -24,6 +24,7 @@ import org.apache.jackrabbit.oak.api.Com
import org.apache.jackrabbit.oak.plugins.index.IndexEditorProvider;
import org.apache.jackrabbit.oak.plugins.index.IndexUpdateProvider;
import org.apache.jackrabbit.oak.spi.commit.CommitHook;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EditorHook;
import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -41,7 +42,8 @@ public final class OakInitializer {
NodeBuilder builder = store.getRoot().builder();
initializer.initialize(builder);
CommitHook hook = new EditorHook(new IndexUpdateProvider(indexEditor));
- store.merge(builder, hook, null);
+ CommitInfo info = new CommitInfo("OakInitializer", null, null);
+ store.merge(builder, hook, info);
} catch (CommitFailedException e) {
throw new RuntimeException(e);
}
@@ -59,7 +61,8 @@ public final class OakInitializer {
}
try {
CommitHook hook = new EditorHook(new IndexUpdateProvider(indexEditor));
- store.merge(builder, hook, null);
+ CommitInfo info = new CommitInfo("OakInitializer", null, null);
+ store.merge(builder, hook, info);
} catch (CommitFailedException e) {
throw new RuntimeException(e);
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/AbstractNodeStoreBranch.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/AbstractNodeStoreBranch.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/AbstractNodeStoreBranch.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/AbstractNodeStoreBranch.java Mon Feb 10 22:28:47 2014
@@ -28,7 +28,6 @@ import static org.apache.jackrabbit.oak.
import static org.apache.jackrabbit.oak.commons.PathUtils.getParentPath;
import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.commons.PathUtils;
@@ -259,7 +258,7 @@ public abstract class AbstractNodeStoreB
@Nonnull
@Override
- public NodeState merge(@Nonnull CommitHook hook, @Nullable CommitInfo info)
+ public NodeState merge(@Nonnull CommitHook hook, @Nonnull CommitInfo info)
throws CommitFailedException {
CommitFailedException ex = null;
for (long backoff = 100; backoff < maximumBackoff; backoff *= 2) {
@@ -272,7 +271,7 @@ public abstract class AbstractNodeStoreB
}
}
try {
- return branchState.merge(checkNotNull(hook), info);
+ return branchState.merge(checkNotNull(hook), checkNotNull(info));
} catch (CommitFailedException e) {
ex = e;
// only retry on merge failures. these may be caused by
@@ -353,7 +352,8 @@ public abstract class AbstractNodeStoreB
* indicate the cause of the exception.
*/
@Nonnull
- abstract NodeState merge(@Nonnull CommitHook hook, @Nullable CommitInfo info)
+ abstract NodeState merge(
+ @Nonnull CommitHook hook, @Nonnull CommitInfo info)
throws CommitFailedException;
}
@@ -397,7 +397,7 @@ public abstract class AbstractNodeStoreB
@Override
@Nonnull
- NodeState merge(@Nonnull CommitHook hook, CommitInfo info) {
+ NodeState merge(@Nonnull CommitHook hook, @Nonnull CommitInfo info) {
branchState = new Merged(base);
return base;
}
@@ -456,12 +456,14 @@ public abstract class AbstractNodeStoreB
@Override
@Nonnull
- NodeState merge(@Nonnull CommitHook hook, CommitInfo info)
+ NodeState merge(@Nonnull CommitHook hook, @Nonnull CommitInfo info)
throws CommitFailedException {
+ checkNotNull(hook);
+ checkNotNull(info);
try {
rebase();
dispatcher.contentChanged(base, null);
- NodeState toCommit = checkNotNull(hook).processCommit(base, head);
+ NodeState toCommit = hook.processCommit(base, head, info);
try {
NodeState newHead = AbstractNodeStoreBranch.this.persist(toCommit, base, info);
dispatcher.contentChanged(newHead, info);
@@ -543,12 +545,12 @@ public abstract class AbstractNodeStoreB
@Override
@Nonnull
- NodeState merge(@Nonnull CommitHook hook, CommitInfo info)
+ NodeState merge(@Nonnull CommitHook hook, @Nonnull CommitInfo info)
throws CommitFailedException {
try {
rebase();
dispatcher.contentChanged(base, null);
- NodeState toCommit = checkNotNull(hook).processCommit(base, head);
+ NodeState toCommit = checkNotNull(hook).processCommit(base, head, info);
N newRoot = AbstractNodeStoreBranch.this.persist(toCommit, head, info);
boolean success = false;
try {
@@ -612,7 +614,7 @@ public abstract class AbstractNodeStoreB
@Override
@Nonnull
- NodeState merge(@Nonnull CommitHook hook, CommitInfo info) {
+ NodeState merge(@Nonnull CommitHook hook, @Nonnull CommitInfo info) {
throw new IllegalStateException("Branch has already been merged");
}
}
@@ -659,7 +661,7 @@ public abstract class AbstractNodeStoreB
*/
@Nonnull
@Override
- NodeState merge(@Nonnull CommitHook hook, @Nullable CommitInfo info)
+ NodeState merge(@Nonnull CommitHook hook, @Nonnull CommitInfo info)
throws CommitFailedException {
throw ex;
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStore.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStore.java Mon Feb 10 22:28:47 2014
@@ -52,8 +52,7 @@ public interface NodeStore {
*
* @param builder the builder whose changes to apply
* @param commitHook the commit hook to apply while merging changes
- * @param info commit info associated with this merge operation,
- * or {@code null} if no local commit information is available
+ * @param info commit info associated with this merge operation
* @return the node state resulting from the merge.
* @throws CommitFailedException if the merge failed
* @throws IllegalArgumentException if the builder is not acquired
@@ -62,7 +61,7 @@ public interface NodeStore {
@Nonnull
NodeState merge(
@Nonnull NodeBuilder builder, @Nonnull CommitHook commitHook,
- @Nullable CommitInfo info) throws CommitFailedException;
+ @Nonnull CommitInfo info) throws CommitFailedException;
/**
* Rebase the changes in the passed {@code builder} on top of the current root state.
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStoreBranch.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStoreBranch.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStoreBranch.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStoreBranch.java Mon Feb 10 22:28:47 2014
@@ -67,14 +67,13 @@ public interface NodeStoreBranch {
* the current head revision followed by a fast forward merge.
*
* @param hook the commit hook to apply while merging changes
- * @param info commit info associated with this merge operation,
- * or {@code null} if no local commit information is available
+ * @param info commit info associated with this merge operation
* @return the node state resulting from the merge.
* @throws CommitFailedException if the merge failed
* @throws IllegalStateException if the branch is already merged
*/
@Nonnull
- NodeState merge(@Nonnull CommitHook hook, @Nullable CommitInfo info)
+ NodeState merge(@Nonnull CommitHook hook, @Nonnull CommitInfo info)
throws CommitFailedException;
/**
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardEditorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardEditorProvider.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardEditorProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardEditorProvider.java Mon Feb 10 22:28:47 2014
@@ -21,6 +21,7 @@ package org.apache.jackrabbit.oak.spi.wh
import javax.annotation.CheckForNull;
import org.apache.jackrabbit.oak.api.CommitFailedException;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.CompositeEditorProvider;
import org.apache.jackrabbit.oak.spi.commit.Editor;
import org.apache.jackrabbit.oak.spi.commit.EditorProvider;
@@ -44,10 +45,11 @@ public class WhiteboardEditorProvider
@Override
@CheckForNull
public Editor getRootEditor(
- NodeState before, NodeState after, NodeBuilder builder)
- throws CommitFailedException {
+ NodeState before, NodeState after, NodeBuilder builder,
+ CommitInfo info) throws CommitFailedException {
EditorProvider provider =
CompositeEditorProvider.compose(getServices());
- return provider.getRootEditor(before, after, builder);
+ return provider.getRootEditor(before, after, builder, info);
}
+
}
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeBuilderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeBuilderTest.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeBuilderTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeBuilderTest.java Mon Feb 10 22:28:47 2014
@@ -26,6 +26,7 @@ import static org.junit.Assert.assertEqu
import org.apache.jackrabbit.mk.core.MicroKernelImpl;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
@@ -83,13 +84,13 @@ public class KernelNodeBuilderTest {
private static void modify(NodeStore store) throws CommitFailedException {
NodeBuilder root = store.getRoot().builder();
root.setChildNode("added");
- store.merge(root, EmptyHook.INSTANCE, null);
+ store.merge(root, EmptyHook.INSTANCE, CommitInfo.EMPTY);
}
private static void init(NodeStore store) throws CommitFailedException {
NodeBuilder builder = store.getRoot().builder();
builder.child("x").child("y").child("z");
- store.merge(builder, EmptyHook.INSTANCE, null);
+ store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
}
private static void run(NodeStore store) throws CommitFailedException {
@@ -111,7 +112,7 @@ public class KernelNodeBuilderTest {
assertFalse("child node x/y/z not should not be present", builder
.child("x").child("y").hasChildNode("z"));
- store.merge(builder, EmptyHook.INSTANCE, null);
+ store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
}
}
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeStateTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeStateTest.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeStateTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeStateTest.java Mon Feb 10 22:28:47 2014
@@ -32,6 +32,7 @@ import java.util.List;
import org.apache.jackrabbit.mk.core.MicroKernelImpl;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.PropertyState;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -57,8 +58,8 @@ public class KernelNodeStateTest {
builder.child("y");
builder.child("z");
- state = store.merge(builder, EmptyHook.INSTANCE, null);
- state = store.merge(builder, EmptyHook.INSTANCE, null);
+ state = store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
+ state = store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
}
@After
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeStoreCacheTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeStoreCacheTest.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeStoreCacheTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeStoreCacheTest.java Mon Feb 10 22:28:47 2014
@@ -28,6 +28,7 @@ import javax.annotation.Nonnull;
import org.apache.jackrabbit.mk.api.MicroKernel;
import org.apache.jackrabbit.mk.api.MicroKernelException;
import org.apache.jackrabbit.mk.core.MicroKernelImpl;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -60,7 +61,7 @@ public class KernelNodeStoreCacheTest {
b.child("c");
b.child("d");
b.child("e");
- store.merge(builder, EmptyHook.INSTANCE, null);
+ store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
}
/**
@@ -141,7 +142,7 @@ public class KernelNodeStoreCacheTest {
private void modifyContent() throws Exception {
NodeBuilder builder = store.getRoot().builder();
builder.child("a").setProperty("foo", "bar");
- store.merge(builder, EmptyHook.INSTANCE, null);
+ store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
}
private void readTree(NodeState root) {
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/LargeKernelNodeStateTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/LargeKernelNodeStateTest.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/LargeKernelNodeStateTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/LargeKernelNodeStateTest.java Mon Feb 10 22:28:47 2014
@@ -24,6 +24,7 @@ import static junit.framework.Assert.ass
import org.apache.jackrabbit.mk.core.MicroKernelImpl;
import org.apache.jackrabbit.oak.api.CommitFailedException;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -49,7 +50,7 @@ public class LargeKernelNodeStateTest {
builder.child("x" + i);
}
- state = store.merge(builder, EmptyHook.INSTANCE, null);
+ state = store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
}
@After
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/NodeStoreTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/NodeStoreTest.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/NodeStoreTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/NodeStoreTest.java Mon Feb 10 22:28:47 2014
@@ -93,7 +93,7 @@ public class NodeStoreTest {
test.child("x");
test.child("y");
test.child("z");
- root = store.merge(builder, EmptyHook.INSTANCE, null);
+ root = store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
}
@After
@@ -136,7 +136,7 @@ public class NodeStoreTest {
assertFalse(testState.getChildNode("newNode").exists());
assertTrue(testState.getChildNode("x").exists());
- store.merge(rootBuilder, EmptyHook.INSTANCE, null);
+ store.merge(rootBuilder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
// Assert changes are present in the trunk
testState = store.getRoot().getChildNode("test");
@@ -172,7 +172,7 @@ public class NodeStoreTest {
newNodeBuilder.setProperty("n", 42);
testBuilder.getChildNode("a").remove();
- store.merge(rootBuilder, EmptyHook.INSTANCE, null);
+ store.merge(rootBuilder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
NodeState newRoot = store.getRoot(); // triggers the observer
latch.await(2, TimeUnit.SECONDS);
@@ -197,13 +197,14 @@ public class NodeStoreTest {
store.merge(rootBuilder, new CommitHook() {
@Override
- public NodeState processCommit(NodeState before, NodeState after) {
+ public NodeState processCommit(
+ NodeState before, NodeState after, CommitInfo info) {
NodeBuilder rootBuilder = after.builder();
NodeBuilder testBuilder = rootBuilder.child("test");
testBuilder.child("fromHook");
return rootBuilder.getNodeState();
}
- }, null);
+ }, CommitInfo.EMPTY);
NodeState test = store.getRoot().getChildNode("test");
assertTrue(test.getChildNode("newNode").exists());
@@ -220,13 +221,13 @@ public class NodeStoreTest {
for (int i = 0; i <= KernelNodeState.MAX_CHILD_NODE_NAMES; i++) {
parent.child("child-" + i);
}
- store.merge(root, EmptyHook.INSTANCE, null);
+ store.merge(root, EmptyHook.INSTANCE, CommitInfo.EMPTY);
NodeState base = store.getRoot();
root = base.builder();
parent = root.child("parent");
parent.child("child-new");
- store.merge(root, EmptyHook.INSTANCE, null);
+ store.merge(root, EmptyHook.INSTANCE, CommitInfo.EMPTY);
Diff diff = new Diff();
store.getRoot().compareAgainstBaseState(base, diff);
@@ -239,7 +240,7 @@ public class NodeStoreTest {
root = base.builder();
parent = root.getChildNode("parent");
parent.getChildNode("child-new").moveTo(parent, "child-moved");
- store.merge(root, EmptyHook.INSTANCE, null);
+ store.merge(root, EmptyHook.INSTANCE, CommitInfo.EMPTY);
diff = new Diff();
store.getRoot().compareAgainstBaseState(base, diff);
@@ -255,7 +256,7 @@ public class NodeStoreTest {
parent.child("child-moved").setProperty("foo", "value");
parent.child("child-moved").setProperty(
new MultiStringPropertyState("bar", Arrays.asList("value")));
- store.merge(root, EmptyHook.INSTANCE, null);
+ store.merge(root, EmptyHook.INSTANCE, CommitInfo.EMPTY);
diff = new Diff();
store.getRoot().compareAgainstBaseState(base, diff);
@@ -272,7 +273,7 @@ public class NodeStoreTest {
parent.setProperty("foo", "value");
parent.setProperty(new MultiStringPropertyState(
"bar", Arrays.asList("value")));
- store.merge(root, EmptyHook.INSTANCE, null);
+ store.merge(root, EmptyHook.INSTANCE, CommitInfo.EMPTY);
diff = new Diff();
store.getRoot().compareAgainstBaseState(base, diff);
@@ -287,7 +288,7 @@ public class NodeStoreTest {
root = base.builder();
parent = root.child("parent");
parent.getChildNode("child-moved").remove();
- store.merge(root, EmptyHook.INSTANCE, null);
+ store.merge(root, EmptyHook.INSTANCE, CommitInfo.EMPTY);
diff = new Diff();
store.getRoot().compareAgainstBaseState(base, diff);
@@ -409,7 +410,7 @@ public class NodeStoreTest {
private static NodeStore init(NodeStore store) throws CommitFailedException {
NodeBuilder builder = store.getRoot().builder();
builder.setChildNode("root");
- store.merge(builder, EmptyHook.INSTANCE, null);
+ store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
return store;
}
@@ -423,11 +424,11 @@ public class NodeStoreTest {
builder1.setChildNode("node1");
builder2.setChildNode("node2");
- store.merge(builder1, EmptyHook.INSTANCE, null);
+ store.merge(builder1, EmptyHook.INSTANCE, CommitInfo.EMPTY);
assertTrue(store.getRoot().hasChildNode("node1"));
assertFalse(store.getRoot().hasChildNode("node2"));
- store.merge(builder2, EmptyHook.INSTANCE, null);
+ store.merge(builder2, EmptyHook.INSTANCE, CommitInfo.EMPTY);
assertTrue(store.getRoot().hasChildNode("node1"));
assertTrue(store.getRoot().hasChildNode("node2"));
}
@@ -455,23 +456,25 @@ public class NodeStoreTest {
// commit something in between to force rebase
NodeBuilder b = store.getRoot().builder();
b.child("bar");
- store.merge(b, EmptyHook.INSTANCE, null);
+ store.merge(b, EmptyHook.INSTANCE, CommitInfo.EMPTY);
try {
store.merge(rootBuilder, new CommitHook() {
@Nonnull
@Override
- public NodeState processCommit(NodeState before, NodeState after)
+ public NodeState processCommit(
+ NodeState before, NodeState after, CommitInfo info)
throws CommitFailedException {
throw new CommitFailedException("", 0, "commit rejected");
}
- }, null);
+ }, CommitInfo.EMPTY);
fail("must throw CommitFailedException");
} catch (CommitFailedException e) {
// expected
}
// merge again
- NodeState root = store.merge(rootBuilder, EmptyHook.INSTANCE, null);
+ NodeState root = store.merge(
+ rootBuilder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
assertTrue(root.hasChildNode("bar"));
}
@@ -483,7 +486,7 @@ public class NodeStoreTest {
}
builder.child("foo").child(":bar").child("quz").setProperty("p", "v");
- store.merge(builder, EmptyHook.INSTANCE, null);
+ store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
NodeState after = store.getRoot();
Diff diff = new Diff();
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackupTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackupTest.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackupTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackupTest.java Mon Feb 10 22:28:47 2014
@@ -34,6 +34,7 @@ import org.apache.jackrabbit.oak.api.Com
import org.apache.jackrabbit.oak.plugins.nodetype.write.InitialContent;
import org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore;
import org.apache.jackrabbit.oak.plugins.segment.file.FileStore;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
import org.apache.jackrabbit.oak.spi.security.OpenSecurityProvider;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -105,7 +106,7 @@ public class FileStoreBackupTest {
NodeBuilder builder = store.getRoot().builder();
builder.child("test-backup");
builder.child("root"); // make sure we don't backup the super-root
- store.merge(builder, EmptyHook.INSTANCE, null);
+ store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
}
private static void compare(NodeStore store, File destination)
@@ -134,7 +135,7 @@ public class FileStoreBackupTest {
c1.setProperty("blob", blob);
NodeBuilder c2 = builder.child("test-backup2");
c2.setProperty("blob", blob);
- store.merge(builder, EmptyHook.INSTANCE, null);
+ store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
FileStoreBackup.backup(store, destination);
compare(store, destination);
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobReferenceTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobReferenceTest.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobReferenceTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobReferenceTest.java Mon Feb 10 22:28:47 2014
@@ -25,6 +25,7 @@ import java.util.Iterator;
import java.util.Random;
import org.apache.jackrabbit.oak.api.Blob;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.junit.Test;
@@ -44,7 +45,7 @@ public class BlobReferenceTest {
set.add(b.toString());
a.child("c" + i).setProperty("x", b);
}
- s.merge(a, EmptyHook.INSTANCE, null);
+ s.merge(a, EmptyHook.INSTANCE, CommitInfo.EMPTY);
Iterator<Blob> it = s.getReferencedBlobsIterator();
while (it.hasNext()) {
Blob b = it.next();
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java?rev=1566767&r1=1566766&r2=1566767&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java Mon Feb 10 22:28:47 2014
@@ -28,6 +28,7 @@ import javax.annotation.Nonnull;
import org.apache.jackrabbit.oak.kernel.KernelNodeState;
import org.apache.jackrabbit.oak.plugins.document.memory.MemoryDocumentStore;
import org.apache.jackrabbit.oak.plugins.document.util.TimingDocumentStoreWrapper;
+import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -62,7 +63,7 @@ public class DocumentNodeStoreTest {
NodeBuilder builder = store2.getRoot().builder();
builder.child("node2");
- store2.merge(builder, EmptyHook.INSTANCE, null);
+ store2.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
// force update of _lastRevs
store2.runBackgroundOperations();
@@ -71,7 +72,8 @@ public class DocumentNodeStoreTest {
builder = store1.getRoot().builder();
builder.child("node1");
- NodeState root = store1.merge(builder, EmptyHook.INSTANCE, null);
+ NodeState root =
+ store1.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
semaphore.acquireUninterruptibly();
Thread t = new Thread(new Runnable() {
@@ -114,12 +116,12 @@ public class DocumentNodeStoreTest {
children.add(name);
builder.child(name);
}
- store.merge(builder, EmptyHook.INSTANCE, null);
+ store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
builder = store.getRoot().builder();
String name = new ArrayList<String>(children).get(
KernelNodeState.MAX_CHILD_NODE_NAMES / 2);
builder.child(name).remove();
- store.merge(builder, EmptyHook.INSTANCE, null);
+ store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
int numEntries = Iterables.size(store.getRoot().getChildNodeEntries());
assertEquals(max - 1, numEntries);
store.dispose();
@@ -145,7 +147,7 @@ public class DocumentNodeStoreTest {
for (int i = 0; i < 10; i++) {
root.child("node-" + i);
}
- store.merge(root, EmptyHook.INSTANCE, null);
+ store.merge(root, EmptyHook.INSTANCE, CommitInfo.EMPTY);
counter.set(0);
// the following should just make one call to DocumentStore.query()
for (ChildNodeEntry e : store.getRoot().getChildNodeEntries()) {