Michael Harris wrote:
hey all,
more newb questions here.
Want to save a file in the repository. found this on the wiki
Node folderNode = session.getRootNode();
Node fileNode = folderNode.addNode(file.getName(), "nt:file");
// create the mandatory child node - jcr:content
Node resNode = fileNode.addNode("jcr:content", "nt:resource");
resNode.setProperty("jcr:mimeType", "");
resNode.setProperty("jcr:encoding", "");
> ...
That is very bad advice. If you don't know mimeType or encoding, do not
set it.
Where did you find that?
resNode.setProperty("jcr:data", new FileInputStream(file));
Calendar lastModified = Calendar.getInstance();
lastModified.setTimeInMillis(file.lastModified());
resNode.setProperty("jcr:lastModified", lastModified);
Is the file itself being put in the repository (jcr.data) or just the
content?
The contents.
Do I even need the resNode? Can I just save the file into the fileNode?
Not unless you use a different node type.
Finally, we are going to need to lock the file (which is why we are using
jcr). Is it possible to attach info (like who owns the lock) to the locked
file?
To some extent, that's part of the JCR locking model (it remembers who
owns the lock, and exposes the information both in the API and on
properties defined in mix:lockable).
Thanx. This community has been quite helpful.
BR, Julian