You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2006/02/28 09:37:17 UTC

svn commit: r381593 - in /incubator/jackrabbit/trunk/jackrabbit/src: main/java/org/apache/jackrabbit/core/query/QueryImpl.java test/java/org/apache/jackrabbit/test/api/query/SaveTest.java

Author: mreutegg
Date: Tue Feb 28 00:37:15 2006
New Revision: 381593

URL: http://svn.apache.org/viewcvs?rev=381593&view=rev
Log:
JCR-156: Review test cases and cross check with 1.0 specification
- SaveTest does not check if same name siblings are allowed

Modified:
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/QueryImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/test/api/query/SaveTest.java

Modified: incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/QueryImpl.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/QueryImpl.java?rev=381593&r1=381592&r2=381593&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/QueryImpl.java (original)
+++ incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/QueryImpl.java Tue Feb 28 00:37:15 2006
@@ -178,12 +178,7 @@
             if (!p.isAbsolute()) {
                 throw new RepositoryException(absPath + " is not an absolute path");
             }
-            if (session.itemExists(absPath)) {
-                throw new ItemExistsException(absPath);
-            }
-            if (!session.itemExists(p.getAncestor(1).toJCRPath(resolver))) {
-                throw new PathNotFoundException(p.getAncestor(1).toJCRPath(resolver));
-            }
+
             String relPath = p.toJCRPath(resolver).substring(1);
             Node queryNode = session.getRootNode().addNode(relPath,
                     QName.NT_QUERY.toJCRName(resolver));

Modified: incubator/jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/test/api/query/SaveTest.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/test/api/query/SaveTest.java?rev=381593&r1=381592&r2=381593&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/test/api/query/SaveTest.java (original)
+++ incubator/jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/test/api/query/SaveTest.java Tue Feb 28 00:37:15 2006
@@ -66,19 +66,27 @@
 
     /**
      * Tests if an {@link javax.jcr.ItemExistsException} is thrown when a query
-     * is stored on an existing node.
+     * is stored on an existing node and same name siblings are not allowed.
      */
     public void testItemExistsException() throws RepositoryException {
         Query query = superuser.getWorkspace().getQueryManager().createQuery(statement, Query.XPATH);
-        query.storeAsNode(testRoot + "/" + nodeName1);
+        Node qNode = query.storeAsNode(testRoot + "/" + nodeName1);
 
         // create another one
         query = superuser.getWorkspace().getQueryManager().createQuery(statement, Query.XPATH);
         try {
             query.storeAsNode(testRoot + "/" + nodeName1);
-            fail("Query.storeAsNode() did not throw ItemExistsException");
+            if (!qNode.getDefinition().allowsSameNameSiblings()) {
+                // must throw if same name siblings are not allowed
+                fail("Query.storeAsNode() did not throw ItemExistsException");
+            }
         } catch (ItemExistsException e) {
-            // expected behaviour
+            if (qNode.getDefinition().allowsSameNameSiblings()) {
+                fail("Query.storeAsNode() must not throw ItemExistsException " +
+                        "when same name siblings are allowed");
+            } else {
+                // expected behaviour
+            }
         }
     }