jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Wehrens <wehr...@aei.mpg.de>
Subject Re: Restore a version of a node property
Date Thu, 06 Apr 2006 10:48:29 GMT
Thanks a lot.

Oliver


On 05.04.2006 12:07 Uhr, "Tobias Bocanegra" <tobias.bocanegra@day.com>
wrote:

> you need to checkin first:
> 
> node = session.getRootNode().addNode("entry");
> node.addMixin("mix:versionable");
> node.setProperty("content", "1");
> node.getSession.save();
> node.checkin()   <---------------------
> 
> node.checkout();
> node.setProperty("content", "2");
> node.save();
> node.checkin();
> 
> 
> On 4/4/06, Oliver Wehrens <wehrens@aei.mpg.de> wrote:
>> Hi,
>> 
>> I did read it (but obviously not careful enough) ;-).
>> 
>> If I create a node with a property like:
>> 
>> node = session.getRootNode().addNode("entry");
>> node.addMixin("mix:versionable");
>> node.setProperty("content", "1");
>> node.getSession.save();
>> 
>> node.checkout();
>> node.setProperty("content", "2");
>> node.save();
>> node.checkin();
>> 
>> 
>> Now Version 1.0 of this node contains the property content with the value
>> "2".  How do I get to "1" ? What I did as workaround, I created an empty
>> node and check it out and change the property and check in it again. Now I
>> can access the very first version.
>> 
>> Oliver
>> 
>> On 04.04.2006 12:57 Uhr, "Tobias Bocanegra" <tobias.bocanegra@day.com>
>> wrote:
>> 
>>>> This described method works fine for me, however how do I get a property
of
>>>> the rootNode of the history? As far as I can see it starts with the first
>>>> revision but not with the original node I saved in the very beginning...
>>> when a new versionable node is created, it also creates the respective
>>> version-history node in the version storage. i also creates a
>>> root-version, which is empty. the root-version simply acts as
>>> 'sentinel' for the 'jcr:predecessors' and 'jcr:baseVersion'
>>> references. when you
>>> checkin the node, it's content get copied into the 1.0 version in the
>>> version storage (according to the OnParentVersion) properties.
>>> 
>>> read the versioning chapter of jsr170 for a more detailed explanation.
>>> regards, toby
>>> 
>>> 
>>>> 
>>>> Anybody got an idea?
>>>> 
>>>> Thanks, Oliver
>>>> 
>>>> 
>>>> 
>>>> On 03.04.2006 21:33 Uhr, "David Gillen" <david.gillen@pnl.gov> wrote:
>>>> 
>>>>> Tobias Bocanegra <tobias.bocanegra <at> day.com> writes:
>>>>>> 
>>>>>> hi oliver,
>>>>>> you can access the content of the version directly in the
>>>>>> jcr:versionStorage.
>>>>>> either by searching for your version, or by using the version history:
>>>>>> 
>>>>>> node.getVersionHistory().getVersion(xyz).getNode
>>>>> ("jcr:frozenNode").getProperty("yourprop");
>>>>>> 
>>>>> 
>>>>> 
>>>>> Hello,
>>>>> 
>>>>> I have the same issue as the original poster, and I'm having trouble
>>>>> making
>>>>> the suggestion above work
>>>>> for me.  I keep getting:
>>>>> 
>>>>> javax.jcr.PathNotFoundException: myprop
>>>>> at org.apache.jackrabbit.core.NodeImpl.getProperty(NodeImpl.java:2423)
>>>>> 
>>>>> where myprop is the name of the property I'm trying to retrieve.  When
I
>>>>> run
>>>>> through a debugger, and look at the propertyNames HashMap within the
>>>>> NodeState
>>>>> belonging to the node of the older version, I don't see any property
names
>>>>> listed that I created, only property names that look internal to
>>>>> Jackrabbit.
>>>>> 
>>>>> I can provide source code that demonstrates this problem.  Any ideas?
>>>>> 
>>>>>> regards, toby
>>>>> 
>>>>> -Dave
>>>>> 
>>>>> 
>>>> 
>>>> --
>>>> Oliver Wehrens
>>>> +49 170 785 1323
>>>> http://wehrens.net/oliver
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>> 
>>> 
>>> --
>>> -----------------------------------------< tobias.bocanegra@day.com >---
>>> Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel
>>> T +41 61 226 98 98, F +41 61 226 98 97
>>> -----------------------------------------------< http://www.day.com >---
>>> 
>> 
>> --
>> Oliver Wehrens
>> +49 170 785 1323
>> http://wehrens.net/oliver
>> 
>> 
>> 
>> 
>> 
>> 
>> 
> 
> 
> --
> -----------------------------------------< tobias.bocanegra@day.com >---
> Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel
> T +41 61 226 98 98, F +41 61 226 98 97
> -----------------------------------------------< http://www.day.com >---
> 

-- 
Oliver Wehrens
+49 170 785 1323
http://wehrens.net/oliver







Mime
View raw message