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));
+        }
+    }
+
 }


Reply via email to