hi shane,

On 10/11/06, Shane Preater <[EMAIL PROTECTED]> wrote:
Hi,

I have a property on a node called 'blobData' this property has been loaded
using the following snippet:

ValueFactory factory = session.getValueFactory();
Value value = factory.createValue(new ByteArrayInputStream(data));
node.setProperty(propertyName, value);

Then obviously further on a call to session.save(); is used to persist this.

I am now trying to get this binary information back from the property using:

InputStream inputStream = node.getProperty(property)
                            .getStream();
int readInt = 0;
while ((readInt = inputStream.read()) >= 0) {
  outputStream.write(readInt);
 }
return outputStream.toByteArray();

However this always returns an empty byte array as the first call to
inputStream.read() returns -1 indicating the end of the stream.

Could someone point me in the direction of my error.

your code looks fine so far. if you are directly accessing a local jackrabbit
instance i guess the error must be in that part of the code that you didn't
provide. if you're accessing a remote jackrabbit instance through RMI
there could be an issue wrt stream handling in the RMI implementation.

in any case it would be good if you could provide a complete code sample.

btw: the users list would be more appropriate for such questions.

cheers
stefan





Thanks,
Shane.


Reply via email to