Return-Path: Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: (qmail 84892 invoked from network); 31 Mar 2006 12:15:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 31 Mar 2006 12:15:47 -0000 Received: (qmail 75108 invoked by uid 500); 31 Mar 2006 12:15:46 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 75066 invoked by uid 500); 31 Mar 2006 12:15:45 -0000 Mailing-List: contact commits-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list commits@jackrabbit.apache.org Received: (qmail 75052 invoked by uid 99); 31 Mar 2006 12:15:44 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 31 Mar 2006 04:15:44 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Fri, 31 Mar 2006 04:15:44 -0800 Received: (qmail 84171 invoked by uid 65534); 31 Mar 2006 12:15:23 -0000 Message-ID: <20060331121523.84166.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r390402 - /jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/core/query/DerefTest.java Date: Fri, 31 Mar 2006 12:15:22 -0000 To: commits@jackrabbit.apache.org From: mreutegg@apache.org X-Mailer: svnmailer-1.0.7 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: mreutegg Date: Fri Mar 31 04:15:17 2006 New Revision: 390402 URL: http://svn.apache.org/viewcvs?rev=390402&view=rev Log: Add jcr:deref test case that checks dereferencing into version storage Modified: jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/core/query/DerefTest.java Modified: jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/core/query/DerefTest.java URL: http://svn.apache.org/viewcvs/jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/core/query/DerefTest.java?rev=390402&r1=390401&r2=390402&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/core/query/DerefTest.java (original) +++ jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/core/query/DerefTest.java Fri Mar 31 04:15:17 2006 @@ -17,6 +17,11 @@ import javax.jcr.Node; import javax.jcr.RepositoryException; +import javax.jcr.NodeIterator; +import javax.jcr.query.QueryManager; +import javax.jcr.query.Query; +import javax.jcr.query.QueryResult; +import javax.jcr.version.Version; /** * Tests the jcr:deref() function. @@ -108,5 +113,32 @@ executeXPathQuery(testPath + "/people/*/jcr:deref(@worksfor, '*')[jcr:contains(.,'ballmer')]", new Node[]{microsoft}); + } + + /** + * Checks if jcr:deref works when dereferencing into the version storage. + */ + public void testDerefToVersionNode() throws RepositoryException { + Node referenced = testRootNode.addNode(nodeName1); + referenced.addMixin(mixVersionable); + testRootNode.save(); + + Version version = referenced.checkin(); + Node referencedVersionNode = version.getNode(jcrFrozenNode); + Node referencer = testRootNode.addNode(nodeName2); + referencer.setProperty(propertyName1, referencedVersionNode); + testRootNode.save(); + + String query = "/" + testRoot + "/*[@" + propertyName1 + + "]/jcr:deref(@" + propertyName1 + ",'*')"; + QueryManager qm = superuser.getWorkspace().getQueryManager(); + Query q = qm.createQuery(query, Query.XPATH); + QueryResult qr = q.execute(); + NodeIterator ni = qr.getNodes(); + assertEquals("Must find one result in query", 1, ni.getSize()); + while (ni.hasNext()) { + Node node = (Node) ni.next(); + assertTrue(node.getProperty("jcr:frozenUuid").getString().equals(referenced.getUUID())); + } } }