jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alvaro Gonzalez <agonza...@germinus.com>
Subject Re: Jackrabbit 1.0 RC3 and references to versions
Date Fri, 31 Mar 2006 12:36:34 GMT
Yes, I'm always deleting the indexes before invoking my tests. I will 
download the new DerefTest and check the differences with my application 
so I could detect what I'm doing wrong.

And sure, no problem with reusing my test .

Thanks Marcel.

Alvaro

-- 
Alvaro Gonzalez de Paz
Germinus XXI
http://www.germinus.com

Avda. de Manoteras, 44. 2ยช planta.
28050 - Madrid (Spain)
Tel (+34) 91 296 12 34
Fax (+34) 91 296 12 30



Marcel Reutegger 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()+"/*[@aReference]/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
>>
>
>
>

Mime
View raw message