hi,
please note that in you case the version only has one predecessor, the
rootVersion. and it does contains an empty frozen node. thats probably
where your PathNotFoundException is comming from.
regards, toby
ps: play around with the jcr-browser at http://jcr.day.com
open the content explorer, click on 'view settings' and clear all
filters. then you can browse the jcr:system/jcr:versionStorage. maybe
that clarifies the structure of the version storage.
On 3/15/07, Lubos and Alena Pochman <[EMAIL PROTECTED]> wrote:
I create nt:file node like:
Node root = session.getRootNode();
document = root.addNode(instanceName, "nt:file");
document.addMixin("mix:versionable"); // Make document referencable
and versionable
Node content = document.addNode("jcr:content", "nt:resource");
content.setProperty("jcr:mimeType", "application/zip");
content.setProperty("jcr:data", new
ByteArrayInputStream(zipContents));
content.setProperty("jcr:lastModified", Calendar.getInstance());
this.session.save();
Then I create a new version like:
document.checkout();
Node content = (Node)document.getPrimaryItem();
content.setProperty("jcr:data", new
ByteArrayInputStream(zipContents));
content.setProperty("jcr:lastModified", Calendar.getInstance());
this.session.save();
document.checkin();
Then I try to retrieve current version data (that works OK):
node = this.session.getNodeByUUID(id);
Property prop = node.getProperty("jcr:content/jcr:data");
InputStream is = prop.getStream();
But then I try to retrieve previous version of the node, it fails with
"PathNotFoundException: jcr:frozenNode/jcr:content/jcr:data" exception when
calling getProperty("jcr:frozenNode/jcr:content/jcr:data"):
Node document = this.session.getNodeByUUID(id);
Version base = document.getBaseVersion();
Version[] predecessors = base.getPredecessors();
for (int i = 0; i < predecessors.length; i++) {
System.out.println(predecessors[i].getCreated() + ":
"
+
predecessors[i].getProperty("jcr:frozenNode/jcr:content/jcr:data").getLength());
How do I access and read properties of previous versions of a node?
Thanks, Lubos
--
-----------------------------------------< [EMAIL PROTECTED] >---
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 >---