Question

In JCR 1 you could do:

final InputStream in = zip.getInputStream(zip.getEntry(zipEntryName));
node.setProperty(JcrConstants.JCR_CONTENT, in);

But that's deprecated in JCR 2 as detailed at http://www.day.com/maven/jsr170/javadocs/jcr-2.0/javax/jcr/Node.html#setProperty%28java.lang.String,%20java.io.InputStream%29

That says I should be using node.setProperty(String, Binary) but I don't see any way to turn my inputStream into a Binary. Can anyone point me to docs or example code for this?

Was it helpful?

Solution

ValueFactory.createBinary(InputStream stream)

You get the ValueFactory through the Session returned by Repository.login()

OTHER TIPS

Just a tip after Rob's answer, if you wondered where to get ValueFactory from, you can use:

node.getSession().getValueFactory().createBinary(inputStream)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top