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 mr...@apache.org on 2013/06/13 14:44:51 UTC
svn commit: r1492648 - in /jackrabbit/oak/trunk/oak-jcr/src:
main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java
test/java/org/apache/jackrabbit/oak/jcr/CRUDTest.java
Author: mreutegg
Date: Thu Jun 13 12:44:51 2013
New Revision: 1492648
URL: http://svn.apache.org/r1492648
Log:
OAK-870: Session.getNode/Property/Item() with relative path throws IllegalArgumentException
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/CRUDTest.java
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java?rev=1492648&r1=1492647&r2=1492648&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java Thu Jun 13 12:44:51 2013
@@ -106,7 +106,11 @@ public class SessionImpl implements Jack
@Nonnull
private String getOakPathOrThrow(String absPath) throws RepositoryException {
- return sessionContext.getOakPathOrThrow(absPath);
+ String p = sessionContext.getOakPathOrThrow(absPath);
+ if (!PathUtils.isAbsolute(p)) {
+ throw new RepositoryException("Not an absolute path: " + absPath);
+ }
+ return p;
}
@Nonnull
Modified: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/CRUDTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/CRUDTest.java?rev=1492648&r1=1492647&r2=1492648&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/CRUDTest.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/CRUDTest.java Thu Jun 13 12:44:51 2013
@@ -123,5 +123,37 @@ public class CRUDTest extends AbstractRe
s.getRootNode().addNode("a", "nt:folder").addNode("b");
s.save();
}
-
+
+ @Test
+ public void getNodeWithRelativePath() throws RepositoryException {
+ Session s = getAdminSession();
+ try {
+ s.getNode("some-relative-path");
+ fail("Session.getNode() with relative path must throw a RepositoryException");
+ } catch (RepositoryException e) {
+ // expected
+ }
+ }
+
+ @Test
+ public void getPropertyWithRelativePath() throws RepositoryException {
+ Session s = getAdminSession();
+ try {
+ s.getProperty("some-relative-path");
+ fail("Session.getProperty() with relative path must throw a RepositoryException");
+ } catch (RepositoryException e) {
+ // expected
+ }
+ }
+
+ @Test
+ public void getItemWithRelativePath() throws RepositoryException {
+ Session s = getAdminSession();
+ try {
+ s.getItem("some-relative-path");
+ fail("Session.getItem() with relative path must throw a RepositoryException");
+ } catch (RepositoryException e) {
+ // expected
+ }
+ }
}