This is an automated email from the ASF dual-hosted git repository.
reschke pushed a commit to branch OAK-10024
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
The following commit(s) were added to refs/heads/OAK-10024 by this push:
new 44c53a9278 OAK-10024: improve diagnostics for addNode for invalid
relative paths
44c53a9278 is described below
commit 44c53a9278497d758c59fbb2d42cbea02381c08f
Author: Julian Reschke <[email protected]>
AuthorDate: Tue Dec 6 15:54:03 2022 +0100
OAK-10024: improve diagnostics for addNode for invalid relative paths
---
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