Yes, it mentioned, I saw it. Maybe it can be the cause.
Martin
On 3/31/06, Marcel Reutegger <[EMAIL PROTECTED]> wrote:
>
> Hi Alvaro,
>
> thanks for testing the rc3 release of jackrabbit.
>
> I've slightly rewritten your test case and added it to the
> o.a.j.core.query.DerefTest test class in jackrabbit (I hope you don't
> mind...)
>
> The test runs fine in trunk also against the rc3.
>
> Could you please check that you are working with a clean index. rc3 is
> not 100% compatible with any previous 'release'. You have to delete all
> the indexes and let jackrabbit re-index the workspaces.
> If I remember correctly this is also mentioned in the release notes, but
> I'm not sure.
>
> regards
> marcel
>
> Alvaro Gonzalez wrote:
> > Hi all,
> > I have downloaded jackrabbit-1.0-rc3 and tested with my application.
> > Almost everything works fine but i have discovered a problem with
> > jcr:deref queries (yes I am "jcr:deref-boy" :- )).
> > In my application there are several nodes that have a reference property
> > to a version of a particular node (actually a reference to
> > jcr:frozenNode). Prior to 1.0-rc3 version works fine, but with the last
> > release a query searching for this nodes returns 0 results.
> > I don't know if it is correct to use references to nodes in the version
> > workspace or it is a problem of the Query Manager.
> >
> > I have tested it with version 0.9-rc1-incubating and with some
> > house-made versions and it worked well.
> >
> > Here is a a JUnit method that tests this issue:
> >
> >
> > public void testVersionDerefSearch() throws Exception {
> > Session currentSession = JCRUtil.currentSession();
> > Node myRootNode = currentSession.getRootNode().addNode("root");
> > currentSession.save();
> > try {
> > Node referenced = myRootNode.addNode("referenced");
> > referenced.addMixin("mix:versionable");
> > currentSession.save();
> > Version version = referenced.checkin();
> > Node referencedVersionNode = version.getNode
> ("jcr:frozenNode");
> > Value referenceValue =
> > currentSession.getValueFactory().createValue(referencedVersionNode);
> > Node referencer = myRootNode.addNode("referencer");
> > referencer.setProperty("aReference",referenceValue);
> > currentSession.save();
> > String
> >
> query="/"+myRootNode.getPath()+"/[EMAIL
> PROTECTED]/jcr:deref(@aReference,'*')";
> >
> > QueryManager qm =
> > currentSession.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()));
> >
> > } } finally {
> > myRootNode.remove();
> > }
> > }
> >
> >
> > Regards,
> > Alvaro
> >
>
>