[Joafip-svn] SF.net SVN: joafip:[2959] trunk/joafip-file/src
Brought to you by:
luc_peuvrier
|
From: <luc...@us...> - 2011-10-31 03:41:49
|
Revision: 2959
http://joafip.svn.sourceforge.net/joafip/?rev=2959&view=rev
Author: luc_peuvrier
Date: 2011-10-31 03:41:43 +0000 (Mon, 31 Oct 2011)
Log Message:
-----------
added close and open consistency on parallel random access file
Modified Paths:
--------------
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileOutputStreamNIO.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/IRandomAccessFile.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/ParallelRandomAccessFileForTest.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/RandomAccessFileProbeForTest.java
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileOutputStreamNIO.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileOutputStreamNIO.java 2011-10-31 03:40:12 UTC (rev 2958)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileOutputStreamNIO.java 2011-10-31 03:41:43 UTC (rev 2959)
@@ -70,12 +70,12 @@
@Override
public void close() throws IOException {
writeBuffer();
- if (randomAccessFile.isOpen()) {
- try {
+ try {
+ if (randomAccessFile.isOpen()) {
randomAccessFile.close();
- } catch (FileIOException exception) {
- throw new IOException(exception);
}
+ } catch (FileIOException exception) {
+ throw new IOException(exception);
}
}
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/IRandomAccessFile.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/IRandomAccessFile.java 2011-10-31 03:40:12 UTC (rev 2958)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/IRandomAccessFile.java 2011-10-31 03:41:43 UTC (rev 2959)
@@ -46,9 +46,9 @@
*/
void close() throws FileIOException;
- boolean isOpen();
+ boolean isOpen() throws FileIOException;
- boolean isClose();
+ boolean isClose() throws FileIOException;
/**
* flush all modification on disk
Modified: trunk/joafip-file/src/test/java/net/sf/joafip/file/service/ParallelRandomAccessFileForTest.java
===================================================================
--- trunk/joafip-file/src/test/java/net/sf/joafip/file/service/ParallelRandomAccessFileForTest.java 2011-10-31 03:40:12 UTC (rev 2958)
+++ trunk/joafip-file/src/test/java/net/sf/joafip/file/service/ParallelRandomAccessFileForTest.java 2011-10-31 03:41:43 UTC (rev 2959)
@@ -181,13 +181,30 @@
}
@Override
- public boolean isClose() {
- return randomFileDirect.isClose();
+ public boolean isClose() throws FileIOException {
+ final boolean close1 = randomFileDirect.isClose();
+ final boolean close2 = randomFileDirectNio.isClose();
+ final boolean close3 = randomFileReadWriteCache.isClose();
+ if (close1 != close2 || close1 != close3 || close2 != close3) {
+ throw HelperFileUtil.getInstance()
+ .fileIOException(
+ "close state error " + close1 + "," + close2 + ","
+ + close3, null, null);
+ }
+ return close1;
}
@Override
- public boolean isOpen() {
- return randomFileDirect.isOpen();
+ public boolean isOpen() throws FileIOException {
+ final boolean open1 = randomFileDirect.isOpen();
+ final boolean open2 = randomFileDirectNio.isOpen();
+ final boolean open3 = randomFileReadWriteCache.isOpen();
+ if (open1 != open2 || open1 != open3 || open2 != open3) {
+ throw HelperFileUtil.getInstance().fileIOException(
+ "close state error " + open1 + "," + open2 + "," + open3,
+ null, null);
+ }
+ return open1;
}
@Override
Modified: trunk/joafip-file/src/test/java/net/sf/joafip/file/service/RandomAccessFileProbeForTest.java
===================================================================
--- trunk/joafip-file/src/test/java/net/sf/joafip/file/service/RandomAccessFileProbeForTest.java 2011-10-31 03:40:12 UTC (rev 2958)
+++ trunk/joafip-file/src/test/java/net/sf/joafip/file/service/RandomAccessFileProbeForTest.java 2011-10-31 03:41:43 UTC (rev 2959)
@@ -152,12 +152,12 @@
}
@Override
- public boolean isClose() {
+ public boolean isClose() throws FileIOException {
return delegate.isClose();
}
@Override
- public boolean isOpen() {
+ public boolean isOpen() throws FileIOException {
return delegate.isOpen();
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|