This is an automated email from the ASF dual-hosted git repository.

thomasm pushed a commit to branch OAK-9780
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git

commit 84aa93b68041b32ec1ea9de348e1f73d3a053e6a
Author: Rishabh Kumar <d...@adobe.com>
AuthorDate: Tue May 17 20:47:53 2022 +0530

    OAK-9757 : move isNodeNameLong check to addNode api of commitbuilder
---
 .../apache/jackrabbit/oak/plugins/document/CommitBuilder.java  |  5 +++++
 .../jackrabbit/oak/plugins/document/DocumentNodeState.java     |  5 -----
 .../jackrabbit/oak/plugins/document/CommitBuilderTest.java     |  6 +-----
 .../oak/plugins/document/MongoDocumentStoreTest.java           | 10 ++++------
 4 files changed, 10 insertions(+), 16 deletions(-)

diff --git 
a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/CommitBuilder.java
 
b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/CommitBuilder.java
index bd4f20b0ab..272b9f7870 100644
--- 
a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/CommitBuilder.java
+++ 
b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/CommitBuilder.java
@@ -123,6 +123,11 @@ class CommitBuilder {
         checkNotNull(node);
 
         Path path = node.getPath();
+
+        if (Utils.isNodeNameLong(path, 
nodeStore.getDocumentStore().getNodeNameLimit())) {
+            throw new DocumentStoreException("Node name is too long: " + path);
+        }
+
         UpdateOp op = node.asOperation(revision);
         if (operations.containsKey(path)) {
             String msg = "Node already added: " + path;
diff --git 
a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java
 
b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java
index a4fd5790a8..0af023ade3 100644
--- 
a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java
+++ 
b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java
@@ -414,11 +414,6 @@ public class DocumentNodeState extends 
AbstractDocumentNodeState implements Cach
      * @param revision the revision this node is created.
      */
     UpdateOp asOperation(@NotNull Revision revision) {
-
-        if (Utils.isNodeNameLong(path, 
store.getDocumentStore().getNodeNameLimit())) {
-            throw new DocumentStoreException("Node name is too long: " + path);
-        }
-
         String id = Utils.getIdFromPath(path);
         UpdateOp op = new UpdateOp(id, true);
         if (Utils.isIdFromLongPath(id)) {
diff --git 
a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CommitBuilderTest.java
 
b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CommitBuilderTest.java
index 454539c1ac..164ea9e47b 100644
--- 
a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CommitBuilderTest.java
+++ 
b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CommitBuilderTest.java
@@ -155,11 +155,7 @@ public class CommitBuilderTest {
         Path path = Path.fromString(DocumentMK.LONG_PATH);
         CommitBuilder builder = new CommitBuilder(ns, null);
         builder.addNode(path);
-        Commit c = builder.build(ns.newRevision());
-        UpdateOp up = c.getUpdateOperationForNode(path);
-        UpdateOp.Operation op = up.getChanges().get(
-                new UpdateOp.Key("_deleted", c.getRevision()));
-        assertNotNull(op);
+        fail("should not reach this point");
     }
 
     @Test
diff --git 
a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoDocumentStoreTest.java
 
b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoDocumentStoreTest.java
index 4575cc9d79..c41b2f0b0d 100644
--- 
a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoDocumentStoreTest.java
+++ 
b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoDocumentStoreTest.java
@@ -20,6 +20,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -249,12 +250,9 @@ public class MongoDocumentStoreTest {
         DocumentStore docStore = openDocumentStore();
         DocumentNodeStore store = 
builderProvider.newBuilder().setDocumentStore(docStore).setAsyncDelay(0).getNodeStore();
         Revision rev = Revision.newRevision(0);
-        List<UpdateOp> inserts = Lists.newArrayList();
-        for (int i = 0; i < 2; i++) {
-            DocumentNodeState n = new DocumentNodeState(store, 
Path.fromString(DocumentMK.LONG_PATH + i),
-                    new RevisionVector(rev));
-            inserts.add(n.asOperation(rev));
-        }
+        DocumentNodeState n = new DocumentNodeState(store, 
Path.fromString(DocumentMK.LONG_PATH), new RevisionVector(rev));
+        n.asOperation(rev);
+        fail("should not reach this point");
     }
 
     @Test

Reply via email to