Author: pnedonosko
Date: 2009-12-09 03:38:07 -0500 (Wed, 09 Dec 2009)
New Revision: 953
Modified:
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileIOHelper.java
Log:
EXOJCR-264 don't open stream on VS file without need (i.e. if smaller of MaxBuffSize)
Modified:
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileIOHelper.java
===================================================================
---
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileIOHelper.java 2009-12-08
16:32:40 UTC (rev 952)
+++
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileIOHelper.java 2009-12-09
08:38:07 UTC (rev 953)
@@ -75,17 +75,17 @@
protected ValueData readValue(File file, int orderNum, int maxBufferSize) throws
IOException
{
- FileInputStream is = new FileInputStream(file);
- try
- {
- long fileSize = file.length();
+ long fileSize = file.length();
- if (fileSize > maxBufferSize)
+ if (fileSize > maxBufferSize)
+ {
+ return new FileStreamPersistedValueData(file, orderNum);
+ }
+ else
+ {
+ FileInputStream is = new FileInputStream(file);
+ try
{
- return new FileStreamPersistedValueData(file, orderNum);
- }
- else
- {
int buffSize = (int)fileSize;
byte[] res = new byte[buffSize];
int rpos = 0;
@@ -96,14 +96,13 @@
System.arraycopy(buff, 0, res, rpos, r);
rpos += r;
}
-
return new ByteArrayPersistedValueData(res, orderNum);
}
+ finally
+ {
+ is.close();
+ }
}
- finally
- {
- is.close();
- }
}
/**
Show replies by date