Hi Stefan,
Thanks for the help. I will put further questions to the user list. Sorry
about that.
I am using the RMI implementation to aquire a repository instance so this
maybe my problem.
The repository is acquired through JNDI and then I simply acquire the
correct node using session.getRootNode(); then node.getNode("myNode");
Hopefully this will help narrow the problem down.
Shane.
On 11/10/06, Stefan Guggisberg <[EMAIL PROTECTED]> wrote:
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.
>
>