Hi, thank you very much for the hint!
Sebastian -----Ursprüngliche Nachricht----- Von: Jeroen Reijn [mailto:[email protected]] Gesendet: Donnerstag, 22. August 2013 15:17 An: [email protected] Betreff: Re: Resultless XPath Queries Hi, as of Jackrabbit 2 you will need an order by clause to get a valid result out of the size. Also see http://jackrabbit.apache.org/frequently-asked-questions.html at the bottom of the page. Jeroen On Wed, Jul 17, 2013 at 3:40 PM, Sebastian Lindstaedt < [email protected]> wrote: > Hi Julian, > > Thank you very much, you were absolutely correct! The nodes where there. > > Interestingly the code that I'm dealing with has plenty of such places > where it relies on the described behavior. > > <code> > result.getNodes().getSize() >= 1 > </code> > > Checking the different Versions of RangeIterator ( > http://grepcode.com/file/repo1.maven.org/maven2/javax.jcr/jcr/1.0/java > x/jcr/RangeIterator.java/) I'm wondering how that worked over the > course of years. Maybe the Implementation of RangeIterator in the old > Jackrabbit Version (1.5) did always knew how many nodes it contained > :-) > > > Best regards, > > Sebastian > > -----Ursprüngliche Nachricht----- > Von: Julian Reschke [mailto:[email protected]] > Gesendet: Mittwoch, 17. Juli 2013 14:09 > An: [email protected] > Cc: Sebastian Lindstaedt > Betreff: Re: Resultless XPath Queries > > On 2013-07-17 13:47, Sebastian Lindstaedt wrote: > > Hi, > > > > I'm migrating an Jackrabbit Application from JBoss EAP 5 to JBoss > > EAP 6 > (aka. JBoss 7.1.3.Final-redheat-4). > > The Migration of Jackrabbit (from 1.5-jca to 2.5.3-jca) causes a bit > > of > trouble with XPath Queries. > > > > To get jackrabbit-jca-2.5.3.rar running in the JBoss I modified it, > > as shown here > > (https://community.jboss.org/wiki/JackrabbitDeploymentInAS6AndAS7) > > and here (http://www.javaworld.com/community/node/8185) > > > > After Deployment JBoss starts and the repository gets created. > > > > In my EJB Application I inject the repository as a Resource <code> > > Class MySessionBean ...{ > > ... > > @Resource(mappedName = "java:jboss/jca/DocumentStore", type = > javax.jcr.Repository.class, authenticationType = > javax.annotation.Resource.AuthenticationType.CONTAINER) > > Repository repo; > > ... > > } > > </code> > > > > With this injected Repository I can: > > - create nodes: > > <code> > > Node node = rootNode.addNode("test", "nt:unstructured"); > > </code> > > > > - list existing nodes: > > <code> > > session.getRootNode().getNodes(); > > </code> > > > > - run JCR-SQL2 Queries, showing plenty of nodes > > <code> > > "SELECT * FROM [nt:unstructured]" > > </code> > > > > But unfortunately any XPath Query returns without any result > > Query: "//*" Result: queryresult.size = -1 > > Query: "//*[jcr:contains(., '*')]" Result: queryresult.size = -1 > > Result size -1 means "unknown", not empty. You'll need to iterate > through the result set... > > Best regards, Julian > > -- > This email was Virus checked by Astaro Security Gateway. > http://www.astaro.com > -- Jeroen Reijn Solution Architect Hippo Amsterdam - Oosteinde 11, 1017 WT Amsterdam Boston - 101 Main Street, Cambridge, MA 02142 US +1 877 414 4776 (toll free) Europe +31(0)20 522 4466 www.onehippo.com http://about.me/jeroenreijn -- This email was Virus checked by Astaro Security Gateway. http://www.astaro.com
