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 ch...@apache.org on 2016/10/19 15:11:15 UTC
svn commit: r1765643 - in /jackrabbit/oak/trunk/oak-core/src:
main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java
test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/DocumentBundlingTest.java
Author: chetanm
Date: Wed Oct 19 15:11:15 2016
New Revision: 1765643
URL: http://svn.apache.org/viewvc?rev=1765643&view=rev
Log:
OAK-1312 - [bundling] Bundle nodes into a document
Pass root properties in withRootRevision and fromExternalChange call
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/DocumentBundlingTest.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java?rev=1765643&r1=1765642&r2=1765643&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java Wed Oct 19 15:11:15 2016
@@ -150,7 +150,7 @@ public class DocumentNodeState extends A
if (rootRevision.equals(root) && fromExternalChange == externalChange) {
return this;
} else {
- return new DocumentNodeState(store, path, root, properties,
+ return new DocumentNodeState(store, path, root, bundlingContext.getAllProperties(),
hasChildren, lastRevision, externalChange);
}
}
@@ -160,8 +160,8 @@ public class DocumentNodeState extends A
* {@link #fromExternalChange} flag set to {@code true}.
*/
@Nonnull
- DocumentNodeState fromExternalChange() {
- return new DocumentNodeState(store, path, rootRevision, properties, hasChildren,
+ public DocumentNodeState fromExternalChange() {
+ return new DocumentNodeState(store, path, rootRevision, bundlingContext.getAllProperties(), hasChildren,
lastRevision, true);
}
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/DocumentBundlingTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/DocumentBundlingTest.java?rev=1765643&r1=1765642&r2=1765643&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/DocumentBundlingTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/DocumentBundlingTest.java Wed Oct 19 15:11:15 2016
@@ -30,6 +30,7 @@ import com.google.common.collect.Iterabl
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.commons.PathUtils;
+import org.apache.jackrabbit.oak.plugins.document.AbstractDocumentNodeState;
import org.apache.jackrabbit.oak.plugins.document.Collection;
import org.apache.jackrabbit.oak.plugins.document.Document;
import org.apache.jackrabbit.oak.plugins.document.DocumentMKBuilderProvider;
@@ -63,6 +64,7 @@ import static org.junit.Assert.assertNot
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
public class DocumentBundlingTest {
@Rule
@@ -111,8 +113,13 @@ public class DocumentBundlingTest {
assertTrue(hasNodeProperty("/test/book.jpg", concat("jcr:content", DocumentBundlor.META_PROP_NODE)));
AssertingDiff.assertEquals(fileNode.getNodeState(), fileNodeState.getChildNode("book.jpg"));
+
+ DocumentNodeState dns = asDocumentState(fileNodeState.getChildNode("book.jpg"));
+ AssertingDiff.assertEquals(fileNode.getNodeState(), dns.withRootRevision(dns.getRootRevision(), true));
+ AssertingDiff.assertEquals(fileNode.getNodeState(), dns.fromExternalChange());
}
+
@Test
public void bundledParent() throws Exception{
NodeBuilder builder = store.getRoot().builder();
@@ -470,6 +477,14 @@ public class DocumentBundlingTest {
store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
}
+ private static DocumentNodeState asDocumentState(NodeState state){
+ if (state instanceof DocumentNodeState){
+ return (DocumentNodeState) state;
+ }
+ fail("Not of type AbstractDoucmentNodeState");
+ return null;
+ }
+
private static void dump(NodeState state){
System.out.println(NodeStateUtils.toString(state));
}