Index: midpath-0.3rc2/components/core/src/org/thenesis/midpath/io/backend/j2se/FileHandlerImpl.java
===================================================================
---- midpath-0.3rc2.orig/components/core/src/org/thenesis/midpath/io/backend/j2se/FileHandlerImpl.java 2008-12-04 21:10:39.000000000 +0100
-+++ midpath-0.3rc2/components/core/src/org/thenesis/midpath/io/backend/j2se/FileHandlerImpl.java 2008-12-05 12:29:47.000000000 +0100
-@@ -181,10 +181,13 @@
+--- midpath-0.3rc2.orig/components/core/src/org/thenesis/midpath/io/backend/j2se/FileHandlerImpl.java 2008-05-19 13:56:18.000000000 +0200
++++ midpath-0.3rc2/components/core/src/org/thenesis/midpath/io/backend/j2se/FileHandlerImpl.java 2008-12-17 07:08:54.000000000 +0100
+@@ -181,10 +181,14 @@
\r
public void openForRead() throws IOException {\r
if (randomAccessFile == null) {\r
- //stream = new FileRandomAccessStream(file);\r
- randomAccessFile = new RandomAccessFile(file, "rws");\r
-- }\r
-- }\r
+ // Try to get maximum rights to avoid closing the stream if openForWrite is called next\r
+ if (file.canWrite()) {\r
+ randomAccessFile = new RandomAccessFile(file, "rws");\r
+ } else {\r
+ randomAccessFile = new RandomAccessFile(file, "r");\r
+ }\r
+ }\r
+- }\r
+ }\r
\r
public void openForWrite() throws IOException {\r