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 2012/09/26 15:44:27 UTC
svn commit: r1390485 - in /jackrabbit/oak/trunk/oak-core/src:
main/java/org/apache/jackrabbit/oak/core/
main/java/org/apache/jackrabbit/oak/kernel/
main/java/org/apache/jackrabbit/oak/plugins/index/
main/java/org/apache/jackrabbit/oak/plugins/lucene/ m...
Author: jukka
Date: Wed Sep 26 13:44:25 2012
New Revision: 1390485
URL: http://svn.apache.org/viewvc?rev=1390485&view=rev
Log:
OAK-344: Move NodeStore.getBuilder(NodeState) to NodeState.getBuilder()
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/RootImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/JsopDiff.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeState.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeStore.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/KernelRootBuilder.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/PropertyIndexer.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/LuceneEditor.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/LuceneHook.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/LuceneReindexHook.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/ReadWriteOakDirectory.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/BinaryValue.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/GenericValue.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/LongValue.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/MemoryNodeStore.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/DefaultTypeEditor.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/unique/UniqueIndexHook.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/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/commit/ValidatingHook.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/IndexUtils.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeState.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeStore.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/JsopDiffTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeStoreTest.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/RootImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/RootImpl.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/RootImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/RootImpl.java Wed Sep 26 13:44:25 2012
@@ -230,7 +230,7 @@ public class RootImpl implements Root {
}
NodeBuilder createRootBuilder() {
- return store.getBuilder(branch.getRoot());
+ return branch.getRoot().getBuilder();
}
/**
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/JsopDiff.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/JsopDiff.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/JsopDiff.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/JsopDiff.java Wed Sep 26 13:44:25 2012
@@ -18,6 +18,7 @@ package org.apache.jackrabbit.oak.kernel
import javax.jcr.PropertyType;
+import org.apache.jackrabbit.mk.api.MicroKernel;
import org.apache.jackrabbit.mk.json.JsopBuilder;
import org.apache.jackrabbit.oak.api.CoreValue;
import org.apache.jackrabbit.oak.api.PropertyState;
@@ -28,27 +29,30 @@ import org.apache.jackrabbit.oak.spi.sta
class JsopDiff implements NodeStateDiff {
+ private final MicroKernel kernel;
+
protected final JsopBuilder jsop;
protected final String path;
- public JsopDiff(JsopBuilder jsop, String path) {
+ public JsopDiff(MicroKernel kernel, JsopBuilder jsop, String path) {
+ this.kernel = kernel;
this.jsop = jsop;
this.path = path;
}
- public JsopDiff() {
- this(new JsopBuilder(), "/");
+ public JsopDiff(MicroKernel kernel) {
+ this(kernel, new JsopBuilder(), "/");
}
public static void diffToJsop(
- NodeState before, NodeState after,
+ MicroKernel kernel, NodeState before, NodeState after,
String path, JsopBuilder jsop) {
- after.compareAgainstBaseState(before, new JsopDiff(jsop, path));
+ after.compareAgainstBaseState(before, new JsopDiff(kernel, jsop, path));
}
protected JsopDiff createChildDiff(JsopBuilder jsop, String path) {
- return new JsopDiff(jsop, path);
+ return new JsopDiff(kernel, jsop, path);
}
//-----------------------------------------------------< NodeStateDiff >--
@@ -100,7 +104,7 @@ class JsopDiff implements NodeStateDiff
return PathUtils.concat(path, name);
}
- private static void toJson(NodeState nodeState, JsopBuilder jsop) {
+ private void toJson(NodeState nodeState, JsopBuilder jsop) {
jsop.object();
for (PropertyState property : nodeState.getProperties()) {
jsop.key(property.getName());
@@ -113,7 +117,7 @@ class JsopDiff implements NodeStateDiff
jsop.endObject();
}
- private static void toJson(PropertyState propertyState, JsopBuilder jsop) {
+ private void toJson(PropertyState propertyState, JsopBuilder jsop) {
if (propertyState.isArray()) {
jsop.array();
for (CoreValue value : propertyState.getValues()) {
@@ -125,14 +129,20 @@ class JsopDiff implements NodeStateDiff
}
}
- private static void toJson(CoreValue value, JsopBuilder jsop) {
+ private void toJson(CoreValue value, JsopBuilder jsop) {
int type = value.getType();
if (type == PropertyType.BOOLEAN) {
jsop.value(value.getBoolean());
} else if (type == PropertyType.LONG) {
jsop.value(value.getLong());
} else {
- String string = value.getString();
+ String string;
+ if (type == PropertyType.BINARY
+ && !(value instanceof BinaryValue)) {
+ string = kernel.write(value.getNewStream());
+ } else {
+ string = value.getString();
+ }
if (type != PropertyType.STRING
|| CoreValueMapper.startsWithHint(string)) {
string = CoreValueMapper.getHintForType(type) + ':' + string;
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeState.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeState.java Wed Sep 26 13:44:25 2012
@@ -38,11 +38,13 @@ import org.apache.jackrabbit.mk.json.Jso
import org.apache.jackrabbit.mk.json.JsopTokenizer;
import org.apache.jackrabbit.oak.api.CoreValue;
import org.apache.jackrabbit.oak.api.PropertyState;
+import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder;
import org.apache.jackrabbit.oak.plugins.memory.MultiPropertyState;
import org.apache.jackrabbit.oak.plugins.memory.SinglePropertyState;
import org.apache.jackrabbit.oak.spi.state.AbstractChildNodeEntry;
import org.apache.jackrabbit.oak.spi.state.AbstractNodeState;
import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
+import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.apache.jackrabbit.oak.spi.state.NodeStateDiff;
@@ -200,6 +202,15 @@ public final class KernelNodeState exten
return iterable;
}
+ @Override
+ public NodeBuilder getBuilder() {
+ if ("/".equals(getPath())) {
+ return new KernelRootBuilder(kernel, this);
+ } else {
+ return new MemoryNodeBuilder(this);
+ }
+ }
+
/**
* Optimised comparison method that can avoid traversing all properties
* and child nodes if both this and the given base node state come from
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeStore.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeStore.java Wed Sep 26 13:44:25 2012
@@ -23,12 +23,10 @@ import javax.annotation.Nonnull;
import org.apache.jackrabbit.mk.api.MicroKernel;
import org.apache.jackrabbit.mk.api.MicroKernelException;
import org.apache.jackrabbit.oak.api.CoreValueFactory;
-import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder;
import org.apache.jackrabbit.oak.spi.commit.CommitHook;
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
import org.apache.jackrabbit.oak.spi.commit.EmptyObserver;
import org.apache.jackrabbit.oak.spi.commit.Observer;
-import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
import org.apache.jackrabbit.oak.spi.state.NodeStoreBranch;
@@ -125,17 +123,6 @@ public class KernelNodeStore implements
}
@Override
- public NodeBuilder getBuilder(NodeState base) {
- if (base instanceof KernelNodeState) {
- KernelNodeState kbase = (KernelNodeState) base;
- if ("/".equals(kbase.getPath())) {
- return new KernelRootBuilder(kernel, kbase);
- }
- }
- return new MemoryNodeBuilder(base);
- }
-
- @Override
public CoreValueFactory getValueFactory() {
return new CoreValueFactoryImpl(kernel);
}
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=1390485&r1=1390484&r2=1390485&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 Wed Sep 26 13:44:25 2012
@@ -75,7 +75,7 @@ class KernelNodeStoreBranch implements N
public void setRoot(NodeState newRoot) {
if (!currentRoot.equals(newRoot)) {
currentRoot = newRoot;
- JsopDiff diff = new JsopDiff();
+ JsopDiff diff = new JsopDiff(store.getKernel());
currentRoot.compareAgainstBaseState(committed, diff);
commit(diff.toString());
}
@@ -125,7 +125,7 @@ class KernelNodeStoreBranch implements N
public NodeState merge() throws CommitFailedException {
NodeState oldRoot = base;
CommitHook commitHook = store.getHook();
- NodeState toCommit = commitHook.processCommit(store, oldRoot, currentRoot);
+ NodeState toCommit = commitHook.processCommit(oldRoot, currentRoot);
setRoot(toCommit);
try {
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelRootBuilder.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelRootBuilder.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelRootBuilder.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelRootBuilder.java Wed Sep 26 13:44:25 2012
@@ -85,6 +85,7 @@ class KernelRootBuilder extends MemoryNo
private final Set<String> deleted;
public CopyAndMoveAwareJsopDiff() {
+ super(kernel);
added = Maps.newHashMap();
deleted = Sets.newHashSet();
}
@@ -92,7 +93,7 @@ class KernelRootBuilder extends MemoryNo
private CopyAndMoveAwareJsopDiff(
JsopBuilder jsop, String path,
Map<String, NodeState> added, Set<String> deleted) {
- super(jsop, path);
+ super(kernel, jsop, path);
this.added = added;
this.deleted = deleted;
}
@@ -114,7 +115,7 @@ class KernelRootBuilder extends MemoryNo
if (state != kstate) {
state.compareAgainstBaseState(
- kstate, new JsopDiff(jsop, path));
+ kstate, new JsopDiff(kernel, jsop, path));
}
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/PropertyIndexer.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/PropertyIndexer.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/PropertyIndexer.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/PropertyIndexer.java Wed Sep 26 13:44:25 2012
@@ -44,8 +44,8 @@ public class PropertyIndexer implements
}
@Override
- public NodeState processCommit(NodeStore store, NodeState before,
- NodeState after) throws CommitFailedException {
+ public NodeState processCommit(NodeState before, NodeState after)
+ throws CommitFailedException {
// TODO update index data see OAK-298
return after;
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/LuceneEditor.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/LuceneEditor.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/LuceneEditor.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/LuceneEditor.java Wed Sep 26 13:44:25 2012
@@ -36,7 +36,6 @@ import org.apache.jackrabbit.oak.spi.sta
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.apache.jackrabbit.oak.spi.state.NodeStateDiff;
import org.apache.jackrabbit.oak.spi.state.NodeStateUtils;
-import org.apache.jackrabbit.oak.spi.state.NodeStore;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
@@ -84,15 +83,14 @@ class LuceneEditor implements CommitHook
* reindex call
*/
@Override
- public NodeState processCommit(NodeStore store, NodeState before,
- NodeState after) throws CommitFailedException {
- NodeBuilder rootBuilder = store.getBuilder(after);
+ public NodeState processCommit(NodeState before, NodeState after)
+ throws CommitFailedException {
+ NodeBuilder rootBuilder = after.getBuilder();
NodeBuilder builder = rootBuilder;
for (String name : path) {
builder = builder.getChildBuilder(name);
}
- Directory directory = new ReadWriteOakDirectory(builder,
- store.getValueFactory());
+ Directory directory = new ReadWriteOakDirectory(builder);
try {
IndexWriter writer = new IndexWriter(directory, config);
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/LuceneHook.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/LuceneHook.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/LuceneHook.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/LuceneHook.java Wed Sep 26 13:44:25 2012
@@ -25,7 +25,6 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.query.IndexDefinition;
import org.apache.jackrabbit.oak.spi.query.IndexUtils;
import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.spi.state.NodeStore;
public class LuceneHook implements CommitHook, LuceneIndexConstants {
@@ -43,20 +42,15 @@ public class LuceneHook implements Commi
}
@Override
- public NodeState processCommit(NodeStore store, NodeState before,
- NodeState after) throws CommitFailedException {
-
+ public NodeState processCommit(NodeState before, NodeState after)
+ throws CommitFailedException {
List<CommitHook> hooks = new ArrayList<CommitHook>();
- List<IndexDefinition> indexDefinitions = IndexUtils
- .buildIndexDefinitions(after, indexConfigPath, TYPE);
+ List<IndexDefinition> indexDefinitions =
+ IndexUtils.buildIndexDefinitions(after, indexConfigPath, TYPE);
for (IndexDefinition def : indexDefinitions) {
hooks.add(new LuceneEditor(def));
}
- if (hooks.isEmpty()) {
- return after;
- }
-
- return new CompositeHook(hooks).processCommit(store, before, after);
+ return new CompositeHook(hooks).processCommit(before, after);
}
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/LuceneReindexHook.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/LuceneReindexHook.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/LuceneReindexHook.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/LuceneReindexHook.java Wed Sep 26 13:44:25 2012
@@ -25,7 +25,6 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.query.IndexDefinition;
import org.apache.jackrabbit.oak.spi.query.IndexUtils;
import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.spi.state.NodeStore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -55,8 +54,8 @@ public class LuceneReindexHook implement
}
@Override
- public NodeState processCommit(NodeStore store, NodeState before,
- NodeState after) throws CommitFailedException {
+ public NodeState processCommit(NodeState before, NodeState after)
+ throws CommitFailedException {
List<IndexDefinition> defsBefore = IndexUtils.buildIndexDefinitions(
before, indexConfigPath, TYPE);
@@ -85,8 +84,7 @@ public class LuceneReindexHook implement
if (hooks.isEmpty()) {
return after;
}
- NodeState done = new CompositeHook(hooks).processCommit(store, null,
- after);
+ NodeState done = new CompositeHook(hooks).processCommit(null, after);
LOG.debug("done reindexing repository content in {} ms.",
System.currentTimeMillis() - t);
return done;
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/ReadWriteOakDirectory.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/ReadWriteOakDirectory.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/ReadWriteOakDirectory.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/lucene/ReadWriteOakDirectory.java Wed Sep 26 13:44:25 2012
@@ -16,10 +16,10 @@
*/
package org.apache.jackrabbit.oak.plugins.lucene;
-import java.io.ByteArrayInputStream;
import java.io.IOException;
-import org.apache.jackrabbit.oak.api.CoreValueFactory;
+import org.apache.jackrabbit.oak.plugins.memory.BinaryValue;
+import org.apache.jackrabbit.oak.plugins.memory.LongValue;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
@@ -31,12 +31,8 @@ import org.apache.lucene.store.IndexOutp
*/
public class ReadWriteOakDirectory extends ReadOnlyOakDirectory {
- private final CoreValueFactory factory;
-
- public ReadWriteOakDirectory(NodeBuilder directoryBuilder,
- CoreValueFactory vf) {
+ public ReadWriteOakDirectory(NodeBuilder directoryBuilder) {
super(directoryBuilder);
- this.factory = vf;
}
@Override
@@ -110,10 +106,10 @@ public class ReadWriteOakDirectory exten
}
NodeBuilder fileBuilder = directoryBuilder.getChildBuilder(name);
- fileBuilder.setProperty("jcr:lastModified",
- factory.createValue(System.currentTimeMillis()));
- fileBuilder.setProperty("jcr:data",
- factory.createValue(new ByteArrayInputStream(data)));
+ fileBuilder.setProperty(
+ "jcr:lastModified",
+ new LongValue(System.currentTimeMillis()));
+ fileBuilder.setProperty("jcr:data", new BinaryValue(data));
}
@Override
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/BinaryValue.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/BinaryValue.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/BinaryValue.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/BinaryValue.java Wed Sep 26 13:44:25 2012
@@ -21,7 +21,7 @@ import java.io.InputStream;
import javax.jcr.PropertyType;
-final class BinaryValue extends MemoryValue {
+public final class BinaryValue extends MemoryValue {
private final byte[] value;
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/GenericValue.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/GenericValue.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/GenericValue.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/GenericValue.java Wed Sep 26 13:44:25 2012
@@ -16,7 +16,7 @@
*/
package org.apache.jackrabbit.oak.plugins.memory;
-final class GenericValue extends MemoryValue {
+public final class GenericValue extends MemoryValue {
private final int type;
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/LongValue.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/LongValue.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/LongValue.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/memory/LongValue.java Wed Sep 26 13:44:25 2012
@@ -20,7 +20,7 @@ import java.math.BigDecimal;
import javax.jcr.PropertyType;
-final class LongValue extends MemoryValue {
+public final class LongValue extends MemoryValue {
private final long value;
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=1390485&r1=1390484&r2=1390485&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 Wed Sep 26 13:44:25 2012
@@ -550,6 +550,11 @@ public class MemoryNodeBuilder implement
modified);
}
+ @Override
+ public NodeBuilder getBuilder() {
+ return new ModifiedNodeState(this).getBuilder();
+ }
+
/**
* Since we keep track of an explicit base node state for a
* {@link ModifiedNodeState} instance, we can do this in two steps:
@@ -653,6 +658,11 @@ public class MemoryNodeBuilder implement
}
}
+ @Override
+ public NodeBuilder getBuilder() {
+ return new MemoryNodeBuilder(this);
+ }
+
//----------------------------------------------< MutableNodeState >--
@Override
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=1390485&r1=1390484&r2=1390485&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 Wed Sep 26 13:44:25 2012
@@ -19,6 +19,7 @@ package org.apache.jackrabbit.oak.plugin
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.spi.state.AbstractNodeState;
import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
+import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.apache.jackrabbit.oak.spi.state.NodeStateDiff;
@@ -95,6 +96,11 @@ public class MemoryNodeState extends Abs
return MemoryChildNodeEntry.iterable(nodes.entrySet());
}
+ @Override
+ public NodeBuilder getBuilder() {
+ return new MemoryNodeBuilder(this);
+ }
+
/**
* We don't keep track of a separate base node state for
* {@link MemoryNodeState} instances, so this method will just do
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=1390485&r1=1390484&r2=1390485&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 Wed Sep 26 13:44:25 2012
@@ -20,7 +20,6 @@ import java.util.concurrent.atomic.Atomi
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.CoreValueFactory;
-import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
import org.apache.jackrabbit.oak.spi.state.NodeStoreBranch;
@@ -40,11 +39,6 @@ public class MemoryNodeStore implements
}
@Override
- public NodeBuilder getBuilder(NodeState base) {
- return new MemoryNodeBuilder(base);
- }
-
- @Override
public NodeStoreBranch branch() {
return new MemoryNodeStoreBranch(root.get());
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/DefaultTypeEditor.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/DefaultTypeEditor.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/DefaultTypeEditor.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/DefaultTypeEditor.java Wed Sep 26 13:44:25 2012
@@ -20,13 +20,13 @@ import javax.jcr.PropertyType;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.CoreValue;
+import org.apache.jackrabbit.oak.plugins.memory.GenericValue;
import org.apache.jackrabbit.oak.spi.commit.CommitHook;
import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
import org.apache.jackrabbit.oak.spi.state.DefaultNodeStateDiff;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.apache.jackrabbit.oak.spi.state.NodeStateUtils;
-import org.apache.jackrabbit.oak.spi.state.NodeStore;
/**
* This class updates a Lucene index when node content is changed.
@@ -34,13 +34,12 @@ import org.apache.jackrabbit.oak.spi.sta
public class DefaultTypeEditor implements CommitHook {
@Override
- public NodeState processCommit(
- NodeStore store, NodeState before, NodeState after)
+ public NodeState processCommit(NodeState before, NodeState after)
throws CommitFailedException {
// TODO: Calculate default type from the node definition
- CoreValue defaultType = store.getValueFactory().createValue(
- "nt:unstructured", PropertyType.NAME);
- NodeBuilder builder = store.getBuilder(after);
+ CoreValue defaultType =
+ new GenericValue(PropertyType.NAME, "nt:unstructured");
+ NodeBuilder builder = after.getBuilder();
after.compareAgainstBaseState(
before, new DefaultTypeDiff(builder, defaultType));
return builder.getNodeState();
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/unique/UniqueIndexHook.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/unique/UniqueIndexHook.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/unique/UniqueIndexHook.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/unique/UniqueIndexHook.java Wed Sep 26 13:44:25 2012
@@ -24,7 +24,6 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.spi.state.NodeStore;
import com.google.common.collect.Lists;
@@ -43,10 +42,9 @@ import com.google.common.collect.Lists;
public class UniqueIndexHook implements CommitHook {
@Override
- public NodeState processCommit(
- NodeStore store, NodeState before, NodeState after)
+ public NodeState processCommit(NodeState before, NodeState after)
throws CommitFailedException {
- NodeBuilder builder = store.getBuilder(after);
+ NodeBuilder builder = after.getBuilder();
NodeBuilder system = builder.getChildBuilder("jcr:system");
NodeBuilder unique = system.getChildBuilder(":unique");
@@ -60,7 +58,7 @@ public class UniqueIndexHook implements
return after; // shortcut
}
- new ValidatingHook(validators).processCommit(store, before, after);
+ new ValidatingHook(validators).processCommit(before, after);
for (UniqueIndexValidator validator : validators) {
validator.apply(unique);
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=1390485&r1=1390484&r2=1390485&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 Wed Sep 26 13:44:25 2012
@@ -20,7 +20,6 @@ import javax.annotation.Nonnull;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.spi.state.NodeStore;
/**
* Extension point for validating and modifying content changes. Available
@@ -41,14 +40,13 @@ public interface CommitHook {
* Validates and/or modifies the given content change before it gets
* persisted.
*
- * @param store the node store that contains the repository content
* @param before content tree before the commit
* @param after content tree prepared for the commit
* @return content tree to be committed
* @throws CommitFailedException if the commit should be rejected
*/
@Nonnull
- NodeState processCommit(NodeStore store, NodeState before, NodeState after)
+ NodeState processCommit(NodeState before, NodeState after)
throws CommitFailedException;
}
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=1390485&r1=1390484&r2=1390485&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 Wed Sep 26 13:44:25 2012
@@ -41,15 +41,12 @@ public class CompositeHook implements Co
}
@Override
- public NodeState processCommit(
- NodeStore store, NodeState before, NodeState after)
+ public NodeState processCommit(NodeState before, NodeState after)
throws CommitFailedException {
-
NodeState newState = after;
for (CommitHook hook : hooks) {
- newState = hook.processCommit(store, before, newState);
+ newState = hook.processCommit(before, newState);
}
-
return newState;
}
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=1390485&r1=1390484&r2=1390485&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 Wed Sep 26 13:44:25 2012
@@ -18,7 +18,6 @@ package org.apache.jackrabbit.oak.spi.co
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.spi.state.NodeStore;
/**
* Basic commit hook implementation that by default doesn't do anything.
@@ -43,8 +42,7 @@ public class EmptyHook implements Commit
public static final CommitHook INSTANCE = new EmptyHook();
@Override
- public NodeState processCommit(
- NodeStore store, NodeState before, NodeState after)
+ public NodeState processCommit(NodeState before, NodeState after)
throws CommitFailedException {
return after;
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/ValidatingHook.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/ValidatingHook.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/ValidatingHook.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/ValidatingHook.java Wed Sep 26 13:44:25 2012
@@ -23,7 +23,6 @@ import org.apache.jackrabbit.oak.api.Com
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.apache.jackrabbit.oak.spi.state.NodeStateDiff;
-import org.apache.jackrabbit.oak.spi.state.NodeStore;
import static org.apache.jackrabbit.oak.plugins.memory.MemoryNodeState.EMPTY_NODE;
@@ -68,8 +67,7 @@ public class ValidatingHook implements C
}
@Override
- public NodeState processCommit(
- NodeStore store, NodeState before, NodeState after)
+ public NodeState processCommit(NodeState before, NodeState after)
throws CommitFailedException {
Validator validator = validatorProvider.getRootValidator(before, after);
ValidatorDiff.validate(validator, before, after);
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/IndexUtils.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/IndexUtils.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/IndexUtils.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/IndexUtils.java Wed Sep 26 13:44:25 2012
@@ -136,7 +136,7 @@ public class IndexUtils {
public static NodeBuilder getChildBuilder(NodeStore store, NodeState state,
String path) {
- NodeBuilder builder = store.getBuilder(state);
+ NodeBuilder builder = state.getBuilder();
for (String p : PathUtils.elements(path)) {
builder = builder.getChildBuilder(p);
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeState.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeState.java Wed Sep 26 13:44:25 2012
@@ -185,6 +185,16 @@ public interface NodeState {
Iterable<? extends ChildNodeEntry> getChildNodeEntries();
/**
+ * Returns a builder for constructing a new node state based on
+ * this state, i.e. starting with all the properties and child nodes
+ * of this state.
+ *
+ * @return node builder based on this state
+ */
+ @Nonnull
+ NodeBuilder getBuilder();
+
+ /**
* Compares this node state against the given base state. Any differences
* are reported by calling the relevant added/changed/deleted methods of
* the given handler.
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=1390485&r1=1390484&r2=1390485&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 Wed Sep 26 13:44:25 2012
@@ -47,17 +47,6 @@ public interface NodeStore {
NodeStoreBranch branch();
/**
- * Returns a builder for constructing a new or modified node state.
- * The builder is initialized with all the properties and child nodes
- * from the given base node state.
- *
- * @param base base node state, or {@code null} for building new nodes
- * @return builder instance
- */
- @Nonnull
- NodeBuilder getBuilder(NodeState base);
-
- /**
* Returns the factory for creating values used for building node states.
*
* @return value factory
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/JsopDiffTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/JsopDiffTest.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/JsopDiffTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/JsopDiffTest.java Wed Sep 26 13:44:25 2012
@@ -32,23 +32,23 @@ public class JsopDiffTest {
JsopDiff diff;
PropertyState before = SinglePropertyState.create("foo", "bar");
- diff = new JsopDiff();
+ diff = new JsopDiff(null);
diff.propertyAdded(before);
assertEquals("^\"/foo\":\"bar\"", diff.toString());
- diff = new JsopDiff();
+ diff = new JsopDiff(null);
diff.propertyChanged(before, SinglePropertyState.create("foo", 123));
assertEquals("^\"/foo\":123", diff.toString());
- diff = new JsopDiff();
+ diff = new JsopDiff(null);
diff.propertyChanged(before, SinglePropertyState.create("foo", 1.23));
assertEquals("^\"/foo\":\"dou:1.23\"", diff.toString()); // TODO: 1.23?
- diff = new JsopDiff();
+ diff = new JsopDiff(null);
diff.propertyChanged(before, SinglePropertyState.create("foo", true));
assertEquals("^\"/foo\":true", diff.toString());
- diff = new JsopDiff();
+ diff = new JsopDiff(null);
diff.propertyDeleted(before);
assertEquals("^\"/foo\":null", diff.toString());
}
@@ -64,15 +64,15 @@ public class JsopDiffTest {
"x", MemoryNodeState.EMPTY_NODE));
- diff = new JsopDiff();
+ diff = new JsopDiff(null);
diff.childNodeAdded("test", before);
assertEquals("+\"/test\":{}", diff.toString());
- diff = new JsopDiff();
+ diff = new JsopDiff(null);
diff.childNodeChanged("test", before, after);
assertEquals("^\"/test/a\":1+\"/test/x\":{}", diff.toString());
- diff = new JsopDiff();
+ diff = new JsopDiff(null);
diff.childNodeDeleted("test", after);
assertEquals("-\"/test\"", diff.toString());
}
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeStoreTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeStoreTest.java?rev=1390485&r1=1390484&r2=1390485&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeStoreTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/kernel/KernelNodeStoreTest.java Wed Sep 26 13:44:25 2012
@@ -22,7 +22,6 @@ import org.apache.jackrabbit.mk.api.Micr
import org.apache.jackrabbit.mk.core.MicroKernelImpl;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.CoreValue;
-import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeState;
import org.apache.jackrabbit.oak.spi.commit.CommitHook;
import org.apache.jackrabbit.oak.spi.commit.Observer;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -71,7 +70,7 @@ public class KernelNodeStoreTest {
public void branch() throws CommitFailedException {
NodeStoreBranch branch = store.branch();
- NodeBuilder rootBuilder = store.getBuilder(branch.getRoot());
+ NodeBuilder rootBuilder = branch.getRoot().getBuilder();
NodeBuilder testBuilder = rootBuilder.getChildBuilder("test");
NodeBuilder newNodeBuilder = testBuilder.getChildBuilder("newNode");
@@ -126,7 +125,7 @@ public class KernelNodeStoreTest {
});
NodeState root = store.getRoot();
- NodeBuilder rootBuilder= store.getBuilder(root);
+ NodeBuilder rootBuilder= root.getBuilder();
NodeBuilder testBuilder = rootBuilder.getChildBuilder("test");
NodeBuilder newNodeBuilder = testBuilder.getChildBuilder("newNode");
@@ -158,18 +157,16 @@ public class KernelNodeStoreTest {
public void beforeCommitHook() throws CommitFailedException {
store.setHook(new CommitHook() {
@Override
- public NodeState processCommit(
- NodeStore store, NodeState before, NodeState after) {
- NodeBuilder rootBuilder = store.getBuilder(after);
- NodeBuilder testBuilder = store.getBuilder(after.getChildNode("test"));
- testBuilder.setNode("fromHook", MemoryNodeState.EMPTY_NODE);
- rootBuilder.setNode("test", testBuilder.getNodeState());
+ public NodeState processCommit(NodeState before, NodeState after) {
+ NodeBuilder rootBuilder = after.getBuilder();
+ NodeBuilder testBuilder = rootBuilder.getChildBuilder("test");
+ testBuilder.getChildBuilder("fromHook");
return rootBuilder.getNodeState();
}
});
NodeState root = store.getRoot();
- NodeBuilder rootBuilder = store.getBuilder(root);
+ NodeBuilder rootBuilder = root.getBuilder();
NodeBuilder testBuilder = rootBuilder.getChildBuilder("test");
NodeBuilder newNodeBuilder = testBuilder.getChildBuilder("newNode");