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 re...@apache.org on 2022/12/06 17:05:07 UTC

[jackrabbit-oak] branch trunk updated: OAK-10024: improve diagnostics for addNode for invalid relative paths (#785)

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

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


The following commit(s) were added to refs/heads/trunk by this push:
     new 6d59064a31 OAK-10024: improve diagnostics for addNode for invalid relative paths (#785)
6d59064a31 is described below

commit 6d59064a31f38971b8c76a52dc5371522a7ef96d
Author: Julian Reschke <re...@apache.org>
AuthorDate: Tue Dec 6 18:05:01 2022 +0100

    OAK-10024: improve diagnostics for addNode for invalid relative paths (#785)
---
 oak-jcr/pom.xml                                              |  1 -
 .../java/org/apache/jackrabbit/oak/jcr/session/NodeImpl.java |  9 ++++++++-
 .../java/org/apache/jackrabbit/oak/jcr/ValidNamesTest.java   | 12 ++++--------
 3 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/oak-jcr/pom.xml b/oak-jcr/pom.xml
index 4ed74cae23..d84f52cab0 100644
--- a/oak-jcr/pom.xml
+++ b/oak-jcr/pom.xml
@@ -40,7 +40,6 @@
       org.apache.jackrabbit.test.api.SessionTest#testMoveConstraintViolationExceptionSrc               <!-- OAK-132 -->
       org.apache.jackrabbit.test.api.SessionTest#testMoveConstraintViolationExceptionDest              <!-- OAK-132 -->
       org.apache.jackrabbit.test.api.SessionTest#testMoveLockException
-      org.apache.jackrabbit.test.api.NameTest#testExpandedNameNodeUnmappedNamespace                    <!-- OAK-9956 -->
       org.apache.jackrabbit.test.api.NodeTest#testAddNodeLackingMandatoryChildNode                     <!-- OAK-9621 -->
       org.apache.jackrabbit.test.api.NodeTest#testRemoveNodeParentLocked
       org.apache.jackrabbit.test.api.NodeSetPrimaryTypeTest#testLocked
diff --git a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/NodeImpl.java b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/NodeImpl.java
index 589625448b..9d9dcede20 100644
--- a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/NodeImpl.java
+++ b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/NodeImpl.java
@@ -270,7 +270,14 @@ public class NodeImpl<T extends NodeDelegate> extends ItemImpl<T> implements Jac
     @Override @NotNull
     public Node addNode(final String relPath, String primaryNodeTypeName)
             throws RepositoryException {
-        final String oakPath = getOakPathOrThrowNotFound(relPath);
+        final String oakPath;
+
+        try {
+            oakPath = getOakPathOrThrowNotFound(relPath);
+        } catch (PathNotFoundException ex) {
+            throw new RepositoryException("cannot determine oak path for: " + relPath, ex);
+        }
+
         final String oakTypeName;
         if (primaryNodeTypeName != null) {
             oakTypeName = getOakName(primaryNodeTypeName);
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ValidNamesTest.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ValidNamesTest.java
index bcd76715c9..d0c2513cc7 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ValidNamesTest.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ValidNamesTest.java
@@ -172,28 +172,24 @@ public class ValidNamesTest extends AbstractRepositoryTest {
         unsupportedNameTest("foo/bar", PathNotFoundException.class);
     }
 
-    // TODO: questionable exception
     @Test
     public void testEnclosedPipe() {
-        unsupportedNameTest("foo|bar", PathNotFoundException.class);
+        unsupportedNameTest("foo|bar", RepositoryException.class);
     }
 
-    // TODO: questionable exception
     @Test
     public void testEnclosedStar() {
-        unsupportedNameTest("foo*bar", PathNotFoundException.class);
+        unsupportedNameTest("foo*bar", RepositoryException.class);
     }
 
-    // TODO: questionable exception
     @Test
     public void testEnclosedOpenBracket() {
-        unsupportedNameTest("foo[bar", PathNotFoundException.class);
+        unsupportedNameTest("foo[bar", RepositoryException.class);
     }
 
-    // TODO: questionable exception
     @Test
     public void testEnclosedCloseBracket() {
-        unsupportedNameTest("foo]bar", PathNotFoundException.class);
+        unsupportedNameTest("foo]bar", RepositoryException.class);
     }
 
     // TODO: questionable exception