Author: chetanm
Date: Tue Jun 30 04:11:59 2015
New Revision: 1688349
URL: http://svn.apache.org/r1688349
Log:
OAK-3043 - Provide item path with InvalidItemStateException
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/ItemDelegate.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/delegate/ItemDelegate.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/ItemDelegate.java?rev=1688349&r1=1688348&r2=1688349&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/ItemDelegate.java
(original)
+++
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/ItemDelegate.java
Tue Jun 30 04:11:59 2015
@@ -83,7 +83,7 @@ public abstract class ItemDelegate {
sessionDelegate.checkAlive();
if (checkUpdate() && !exists()) {
throw new InvalidItemStateException(
- "This item does not exist anymore");
+ "This item [" + getPath() + "] does not exist anymore");
}
}
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=1688349&r1=1688348&r2=1688349&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
Tue Jun 30 04:11:59 2015
@@ -35,6 +35,8 @@ import static junit.framework.Assert.ass
import static junit.framework.Assert.assertNotNull;
import static junit.framework.Assert.assertTrue;
import static junit.framework.Assert.fail;
+import static org.junit.Assert.assertThat;
+import static org.junit.matchers.JUnitMatchers.containsString;
public class CRUDTest extends AbstractRepositoryTest {
@@ -206,4 +208,25 @@ public class CRUDTest extends AbstractRe
session.save();
}
+ @Test
+ public void checkPathInInvalidItemStateException() throws Exception {
+ Session s1 = getAdminSession();
+ Node root = s1.getRootNode();
+ Node a = root.addNode("a");
+ String path = a.getPath();
+ s1.save();
+
+ Session s2 = getAdminSession();
+ s2.getRootNode().getNode("a").remove();
+ s2.save();
+
+ s1.refresh(false);
+
+ try {
+ a.getPath();
+ } catch (InvalidItemStateException e) {
+ assertThat(e.getMessage(), containsString(path));
+ }
+ }
+
}