jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Mueller (JIRA)" <j...@apache.org>
Subject [jira] Created: (JCR-2067) FileDataStore: only open a stream when really necessary
Date Thu, 09 Apr 2009 10:00:12 GMT
FileDataStore: only open a stream when really necessary
-------------------------------------------------------

                 Key: JCR-2067
                 URL: https://issues.apache.org/jira/browse/JCR-2067
             Project: Jackrabbit Content Repository
          Issue Type: Improvement
            Reporter: Thomas Mueller
            Assignee: Thomas Mueller


Currently, PropertyImpl.getValue() opens a FileInputStream if the FileDataStore is used.
If the application doesn't use the value, this stream is never closed.

PropertyImpl.getValue():
  return internalGetValue().toJCRValue(session);
InternalValue.toJCRValue(..):
  case PropertyType.BINARY:
    return new BinaryValue(((BLOBFileValue) val).getStream());
BLOBInDataStore.getStream():
  return getDataRecord().getStream();
FileDataRecord.getStream():
  return new FileInputStream(file);

One solution is to return a 'lazy' file input stream that only opens the file when reading
from the stream (and closing the file when the last byte was read). Maybe there is already
a class (in Apache Commons maybe?) that can do that.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message