You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by st...@apache.org on 2012/02/05 18:56:37 UTC
svn commit: r1240770 - in
/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk:
model/ store/
Author: stefan
Date: Sun Feb 5 17:56:37 2012
New Revision: 1240770
URL: http://svn.apache.org/viewvc?rev=1240770&view=rev
Log:
flat hierarchy support (WIP)
Modified:
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/AbstractNode.java
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntries.java
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntriesBucket.java
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntriesInlined.java
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntriesTree.java
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/CommitBuilder.java
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/MutableNode.java
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/StoredNode.java
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/AbstractPersistenceManager.java
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/BDbPersistenceManager.java
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/FSPersistenceManager.java
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/H2PersistenceManager.java
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/InMemPersistenceManager.java
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/MongoPersistenceManager.java
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/AbstractNode.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/AbstractNode.java?rev=1240770&r1=1240769&r2=1240770&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/AbstractNode.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/AbstractNode.java Sun Feb 5 17:56:37 2012
@@ -36,30 +36,31 @@ import java.util.Set;
*/
public abstract class AbstractNode implements Node {
+ protected RevisionProvider provider;
+
protected HashMap<String, String> properties;
protected ChildNodeEntries childEntries;
- protected AbstractNode() {
+ protected AbstractNode(RevisionProvider provider) {
+ this.provider = provider;
this.properties = new HashMap<String, String>();
this.childEntries = new ChildNodeEntriesInlined();
}
- protected AbstractNode(Node other) {
+ protected AbstractNode(Node other, RevisionProvider provider) {
+ this.provider = provider;
if (other instanceof AbstractNode) {
AbstractNode srcNode = (AbstractNode) other;
this.properties = (HashMap<String, String>) srcNode.properties.clone();
this.childEntries = (ChildNodeEntries) srcNode.childEntries.clone();
} else {
this.properties = new HashMap<String, String>(other.getProperties());
- this.childEntries = new ChildNodeEntriesInlined();
-/*
if (other.getChildNodeCount() <= ChildNodeEntries.CAPACITY_THRESHOLD) {
this.childEntries = new ChildNodeEntriesInlined();
} else {
this.childEntries = new ChildNodeEntriesTree(provider);
}
-*/
for (Iterator<ChildNodeEntry> it = other.getChildNodeEntries(0, -1); it.hasNext(); ) {
ChildNodeEntry cne = it.next();
this.childEntries.add(cne);
@@ -217,13 +218,7 @@ public abstract class AbstractNode imple
return new Binding.KeyValuePair(key, properties.get(key));
}
});
- binding.write(":children", childEntries.getCount(),
- new AbstractRangeIterator<Binding.KeyValuePair>(childEntries.getEntries(0, -1), 0, -1) {
- @Override
- protected Binding.KeyValuePair doNext() {
- ChildNodeEntry cne = (ChildNodeEntry) it.next();
- return new Binding.KeyValuePair(cne.getName(), cne.getId());
- }
- });
+ binding.write(":inlined", childEntries.inlined() ? 1 : 0);
+ childEntries.serialize(binding);
}
-}
+}
\ No newline at end of file
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntries.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntries.java?rev=1240770&r1=1240769&r2=1240770&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntries.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntries.java Sun Feb 5 17:56:37 2012
@@ -16,6 +16,8 @@
*/
package org.apache.jackrabbit.mk.model;
+import org.apache.jackrabbit.mk.store.Binding;
+
import java.util.Iterator;
/**
@@ -79,4 +81,8 @@ public interface ChildNodeEntries extend
* @return
*/
Iterator<ChildNodeEntry> getModified(final ChildNodeEntries other);
+
+ //------------------------------------------------< serialization support >
+
+ void serialize(Binding binding) throws Exception;
}
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntriesBucket.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntriesBucket.java?rev=1240770&r1=1240769&r2=1240770&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntriesBucket.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntriesBucket.java Sun Feb 5 17:56:37 2012
@@ -23,21 +23,10 @@ import java.util.HashMap;
import java.util.Iterator;
/**
- *
+ * todo consolidate ChildNodeEntriesBucket and ChildNodeEntriesInlined -> ChildNodeEntriesBucket(insertionOrdered)
*/
public class ChildNodeEntriesBucket extends ChildNodeEntriesInlined {
- public static ChildNodeEntriesBucket deserialize(String id, Binding binding) throws Exception {
- ChildNodeEntriesBucket newInstance = new ChildNodeEntriesBucket();
-
- Iterator<Binding.KeyValuePair> iter = binding.read(":children");
- while (iter.hasNext()) {
- Binding.KeyValuePair kvp = iter.next();
- newInstance.add(new ChildNodeEntry(kvp.getKey(), kvp.getValue()));
- }
- return newInstance;
- }
-
public ChildNodeEntriesBucket() {
// using stock HashMap since keeping insertion-order is not required
entries = new HashMap<String, ChildNodeEntry>();
@@ -66,6 +55,17 @@ public class ChildNodeEntriesBucket exte
//------------------------------------------------< serialization support >
+ public static ChildNodeEntriesBucket deserialize(String id, Binding binding) throws Exception {
+ ChildNodeEntriesBucket newInstance = new ChildNodeEntriesBucket();
+
+ Iterator<Binding.KeyValuePair> iter = binding.read(":children");
+ while (iter.hasNext()) {
+ Binding.KeyValuePair kvp = iter.next();
+ newInstance.add(new ChildNodeEntry(kvp.getKey(), kvp.getValue()));
+ }
+ return newInstance;
+ }
+
public void serialize(Binding binding) throws Exception {
binding.write(":children", getCount(),
new AbstractRangeIterator<Binding.KeyValuePair>(getEntries(0, -1), 0, -1) {
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntriesInlined.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntriesInlined.java?rev=1240770&r1=1240769&r2=1240770&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntriesInlined.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntriesInlined.java Sun Feb 5 17:56:37 2012
@@ -16,7 +16,10 @@
*/
package org.apache.jackrabbit.mk.model;
+import org.apache.jackrabbit.mk.store.Binding;
+import org.apache.jackrabbit.mk.store.RevisionProvider;
import org.apache.jackrabbit.mk.util.AbstractFilteringIterator;
+import org.apache.jackrabbit.mk.util.AbstractRangeIterator;
import org.apache.jackrabbit.mk.util.EmptyIterator;
import org.apache.jackrabbit.mk.util.RangeIterator;
@@ -26,7 +29,7 @@ import java.util.LinkedHashMap;
import java.util.Map;
/**
- *
+ * todo consolidate ChildNodeEntriesBucket and ChildNodeEntriesInlined -> ChildNodeEntriesBucket(insertionOrdered)
*/
public class ChildNodeEntriesInlined implements ChildNodeEntries {
@@ -242,4 +245,28 @@ public class ChildNodeEntriesInlined imp
}
};
}
+
+ //------------------------------------------------< serialization support >
+
+ @Override
+ public void serialize(Binding binding) throws Exception {
+ binding.write(":children", getCount(),
+ new AbstractRangeIterator<Binding.KeyValuePair>(getEntries(0, -1), 0, -1) {
+ @Override
+ protected Binding.KeyValuePair doNext() {
+ ChildNodeEntry cne = (ChildNodeEntry) it.next();
+ return new Binding.KeyValuePair(cne.getName(), cne.getId());
+ }
+ });
+ }
+
+ static ChildNodeEntriesInlined deserialize(RevisionProvider provider, Binding binding) throws Exception {
+ ChildNodeEntriesInlined newInstance = new ChildNodeEntriesInlined();
+ Iterator<Binding.KeyValuePair> iter = binding.read(":children");
+ while (iter.hasNext()) {
+ Binding.KeyValuePair kvp = iter.next();
+ newInstance.add(new ChildNodeEntry(kvp.getKey(), kvp.getValue()));
+ }
+ return newInstance;
+ }
}
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntriesTree.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntriesTree.java?rev=1240770&r1=1240769&r2=1240770&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntriesTree.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/ChildNodeEntriesTree.java Sun Feb 5 17:56:37 2012
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.mk.model;
+import org.apache.jackrabbit.mk.store.Binding;
import org.apache.jackrabbit.mk.store.RevisionProvider;
import org.apache.jackrabbit.mk.store.RevisionStore;
import org.apache.jackrabbit.mk.util.AbstractFilteringIterator;
@@ -26,6 +27,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
+import java.util.NoSuchElementException;
/**
*
@@ -545,6 +547,70 @@ public class ChildNodeEntriesTree implem
}
}
+ //------------------------------------------------< serialization support >
+
+ public void serialize(Binding binding) throws Exception {
+ binding.write(":count", count);
+ binding.write(":index", index.length, new Iterator<Binding.KeyValuePair>() {
+ int pos = -1;
+
+ @Override
+ public boolean hasNext() {
+ return pos < index.length - 1;
+ }
+
+ @Override
+ public Binding.KeyValuePair next() {
+ pos++;
+ if (pos >= index.length) {
+ throw new NoSuchElementException();
+ }
+ // serialize index array entry
+ IndexEntry entry = index[pos];
+ if (entry == null) {
+ // null entry
+ return new Binding.KeyValuePair(Integer.toString(pos), "");
+ } else if (entry instanceof NodeInfo) {
+ NodeInfo ni = (NodeInfo) entry;
+ return new Binding.KeyValuePair(Integer.toString(pos), "n" + ni.getId() + ":" + ni.getName());
+ } else {
+ BucketInfo bi = (BucketInfo) entry;
+ return new Binding.KeyValuePair(Integer.toString(pos), "b" + bi.getId() + ":" + bi.getSize());
+ }
+ }
+
+ @Override
+ public void remove() {
+ throw new UnsupportedOperationException();
+ }
+ });
+ }
+
+ static ChildNodeEntriesTree deserialize(RevisionProvider provider, Binding binding) throws Exception {
+ ChildNodeEntriesTree newInstance = new ChildNodeEntriesTree(provider);
+ newInstance.count = binding.readIntValue(":count");
+ Iterator<Binding.KeyValuePair> iter = binding.read(":index");
+ int pos = -1;
+ while (iter.hasNext()) {
+ Binding.KeyValuePair kvp = iter.next();
+ ++pos;
+ // deserialize index array entry
+ assert(pos == Integer.parseInt(kvp.getKey()));
+ if (kvp.getValue().length() == 0) {
+ newInstance.index[pos] = null;
+ } else if (kvp.getValue().charAt(0) == 'n') {
+ // todo opimize parsing
+ String parts[] = kvp.getValue().substring(1).split(":");
+ newInstance.index[pos] = new NodeInfo(parts[1], parts[0]);
+ } else {
+ // todo opimize parsing
+ String parts[] = kvp.getValue().substring(1).split(":");
+ newInstance.index[pos] = new BucketInfo(parts[0], Integer.parseInt(parts[1]));
+ }
+ }
+ return newInstance;
+ }
+
//--------------------------------------------------------< inner classes >
protected static interface IndexEntry {
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/CommitBuilder.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/CommitBuilder.java?rev=1240770&r1=1240769&r2=1240770&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/CommitBuilder.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/CommitBuilder.java Sun Feb 5 17:56:37 2012
@@ -60,7 +60,7 @@ public class CommitBuilder {
if (modParent.getChildNodeEntry(nodeName) != null) {
throw new Exception("there's already a child node with name '" + nodeName + "'");
}
- MutableNode newChild = new MutableNode();
+ MutableNode newChild = new MutableNode(store);
newChild.getProperties().putAll(properties);
// id will be computed on commit
@@ -248,7 +248,7 @@ public class CommitBuilder {
if (node == null) {
MutableNode parent = staged.get("/");
if (parent == null) {
- parent = new MutableNode(store.getRootNode(baseRevId));
+ parent = new MutableNode(store.getRootNode(baseRevId), store);
staged.put("/", parent);
}
node = parent;
@@ -263,7 +263,7 @@ public class CommitBuilder {
if (cne == null) {
throw new NotFoundException(nodePath);
}
- node = new MutableNode(store.getNode(cne.getId()));
+ node = new MutableNode(store.getNode(cne.getId()), store);
staged.put(path, node);
}
parent = node;
@@ -352,7 +352,7 @@ public class CommitBuilder {
NodeDelta ourChanges = new NodeDelta(baseNode, ourNode);
// merge non-conflicting changes
- MutableNode mergedNode = new MutableNode(theirNode);
+ MutableNode mergedNode = new MutableNode(theirNode, store);
staged.put(path, mergedNode);
mergedNode.getProperties().putAll(ourChanges.getAddedProperties());
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/MutableNode.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/MutableNode.java?rev=1240770&r1=1240769&r2=1240770&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/MutableNode.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/MutableNode.java Sun Feb 5 17:56:37 2012
@@ -16,8 +16,8 @@
*/
package org.apache.jackrabbit.mk.model;
-import org.apache.jackrabbit.mk.store.Binding;
import org.apache.jackrabbit.mk.store.PersistHook;
+import org.apache.jackrabbit.mk.store.RevisionProvider;
import org.apache.jackrabbit.mk.store.RevisionStore;
/**
@@ -25,11 +25,12 @@ import org.apache.jackrabbit.mk.store.Re
*/
public class MutableNode extends AbstractNode implements PersistHook {
- public MutableNode() {
+ public MutableNode(RevisionProvider provider) {
+ super(provider);
}
- public MutableNode(Node other) {
- super(other);
+ public MutableNode(Node other, RevisionProvider provider) {
+ super(other, provider);
}
public ChildNodeEntry add(ChildNodeEntry newEntry) {
@@ -44,12 +45,6 @@ public class MutableNode extends Abstrac
return childEntries.rename(oldName, newName);
}
- @Override
- public void serialize(Binding binding) throws Exception {
- // todo serialize inlined child entries
- super.serialize(binding);
- }
-
//----------------------------------------------------------< PersistHook >
@Override
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/StoredNode.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/StoredNode.java?rev=1240770&r1=1240769&r2=1240770&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/StoredNode.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/StoredNode.java Sun Feb 5 17:56:37 2012
@@ -32,26 +32,29 @@ public class StoredNode extends Abstract
private final String id;
- public static StoredNode deserialize(String id, Binding binding) throws Exception {
- StoredNode newInstance = new StoredNode(id);
+ public static StoredNode deserialize(String id, RevisionProvider provider, Binding binding) throws Exception {
+ StoredNode newInstance = new StoredNode(id, provider);
Iterator<Binding.KeyValuePair> iter = binding.read(":props");
while (iter.hasNext()) {
Binding.KeyValuePair kvp = iter.next();
newInstance.properties.put(kvp.getKey(), kvp.getValue());
}
- iter = binding.read(":children");
- while (iter.hasNext()) {
- Binding.KeyValuePair kvp = iter.next();
- newInstance.childEntries.add(new ChildNodeEntry(kvp.getKey(), kvp.getValue()));
+ boolean inlined = binding.readIntValue(":inlined") != 0;
+ if (inlined) {
+ newInstance.childEntries = ChildNodeEntriesInlined.deserialize(provider, binding);
+ } else {
+ newInstance.childEntries = ChildNodeEntriesTree.deserialize(provider, binding);
}
return newInstance;
}
- private StoredNode(String id) {
+ private StoredNode(String id, RevisionProvider provider) {
+ super(provider);
this.id = id;
}
- public StoredNode(String id, Map<String, String> properties, Iterator<ChildNodeEntry> cneIt) {
+ public StoredNode(String id, RevisionProvider provider, Map<String, String> properties, Iterator<ChildNodeEntry> cneIt) {
+ super(provider);
this.id = id;
this.properties.putAll(properties);
while (cneIt.hasNext()) {
@@ -59,8 +62,8 @@ public class StoredNode extends Abstract
}
}
- public StoredNode(String id, Node node) {
- super(node);
+ public StoredNode(String id, Node node, RevisionProvider provider) {
+ super(node, provider);
this.id = id;
}
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/AbstractPersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/AbstractPersistenceManager.java?rev=1240770&r1=1240769&r2=1240770&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/AbstractPersistenceManager.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/AbstractPersistenceManager.java Sun Feb 5 17:56:37 2012
@@ -87,7 +87,7 @@ public abstract class AbstractPersistenc
headId = readHead();
if (headId == null || headId.length() == 0) {
// assume virgin repository
- String rootNodeId = writeNode(new MutableNode());
+ String rootNodeId = writeNode(new MutableNode(this));
MutableCommit initialCommit = new MutableCommit();
initialCommit.setCommitTS(System.currentTimeMillis());
initialCommit.setRootNodeId(rootNodeId);
@@ -136,7 +136,7 @@ public abstract class AbstractPersistenc
callback.postPersist(this);
}
- cache.put(id, new StoredNode(id, node));
+ cache.put(id, new StoredNode(id, node, this));
return id;
}
@@ -156,8 +156,7 @@ public abstract class AbstractPersistenc
callback.postPersist(this);
}
- // todo is it correct to cache a clone?
- cache.put(id, bucket.clone());
+ cache.put(id, bucket);
return id;
}
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/BDbPersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/BDbPersistenceManager.java?rev=1240770&r1=1240769&r2=1240770&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/BDbPersistenceManager.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/BDbPersistenceManager.java Sun Feb 5 17:56:37 2012
@@ -130,7 +130,7 @@ public class BDbPersistenceManager exten
if (db.get(null, key, data, LockMode.DEFAULT) == OperationStatus.SUCCESS) {
ByteArrayInputStream in = new ByteArrayInputStream(data.getData());
- return StoredNode.deserialize(id, new BinaryBinding(in));
+ return StoredNode.deserialize(id, this, new BinaryBinding(in));
} else {
throw new NotFoundException(id);
}
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/FSPersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/FSPersistenceManager.java?rev=1240770&r1=1240769&r2=1240770&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/FSPersistenceManager.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/FSPersistenceManager.java Sun Feb 5 17:56:37 2012
@@ -88,7 +88,7 @@ public class FSPersistenceManager extend
if (f.exists()) {
BufferedInputStream in = new BufferedInputStream(new FileInputStream(f));
try {
- return StoredNode.deserialize(id, new BinaryBinding(in));
+ return StoredNode.deserialize(id, this, new BinaryBinding(in));
} finally {
in.close();
}
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/H2PersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/H2PersistenceManager.java?rev=1240770&r1=1240769&r2=1240770&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/H2PersistenceManager.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/H2PersistenceManager.java Sun Feb 5 17:56:37 2012
@@ -121,7 +121,7 @@ public class H2PersistenceManager extend
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
ByteArrayInputStream in = new ByteArrayInputStream(rs.getBytes(1));
- return StoredNode.deserialize(id, new BinaryBinding(in));
+ return StoredNode.deserialize(id, this, new BinaryBinding(in));
} else {
throw new NotFoundException(id);
}
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/InMemPersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/InMemPersistenceManager.java?rev=1240770&r1=1240769&r2=1240770&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/InMemPersistenceManager.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/InMemPersistenceManager.java Sun Feb 5 17:56:37 2012
@@ -83,7 +83,7 @@ public class InMemPersistenceManager ext
String id = StringUtils.convertBytesToHex(idFactory.createContentId(bytes));
if (!nodes.containsKey(id)) {
- nodes.put(id, StoredNode.deserialize(id, new BinaryBinding(new ByteArrayInputStream(bytes))));
+ nodes.put(id, StoredNode.deserialize(id, this, new BinaryBinding(new ByteArrayInputStream(bytes))));
}
return id;
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/MongoPersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/MongoPersistenceManager.java?rev=1240770&r1=1240769&r2=1240770&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/MongoPersistenceManager.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/MongoPersistenceManager.java Sun Feb 5 17:56:37 2012
@@ -129,9 +129,9 @@ public class MongoPersistenceManager ext
// todo support partitioned child node lists
if (BINARY_FORMAT) {
byte[] bytes = (byte[]) nodeObject.get(DATA_FIELD);
- return StoredNode.deserialize(id, new BinaryBinding(new ByteArrayInputStream(bytes)));
+ return StoredNode.deserialize(id, this, new BinaryBinding(new ByteArrayInputStream(bytes)));
} else {
- return StoredNode.deserialize(id, new DBObjectBinding(nodeObject));
+ return StoredNode.deserialize(id, this, new DBObjectBinding(nodeObject));
}
} else {
throw new NotFoundException(id);