[teiid-commits] teiid SVN: r4455 - in trunk/engine/src: test/java/org/teiid/common/buffer/impl and 1 other directory.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Tue Sep 18 07:57:38 EDT 2012


Author: shawkins
Date: 2012-09-18 07:57:37 -0400 (Tue, 18 Sep 2012)
New Revision: 4455

Modified:
   trunk/engine/src/main/java/org/teiid/common/buffer/FileStore.java
   trunk/engine/src/test/java/org/teiid/common/buffer/impl/TestFileStorageManager.java
Log:
TEIID-2218 making sure that close can be called more than once

Modified: trunk/engine/src/main/java/org/teiid/common/buffer/FileStore.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/common/buffer/FileStore.java	2012-09-17 18:31:05 UTC (rev 4454)
+++ trunk/engine/src/main/java/org/teiid/common/buffer/FileStore.java	2012-09-18 11:57:37 UTC (rev 4455)
@@ -114,6 +114,9 @@
 		
 		@Override
 		public void close() throws IOException {
+			if (closed) {
+				return;
+			}
 			flush();
 			closed = true;
 			if (bytesWritten) {

Modified: trunk/engine/src/test/java/org/teiid/common/buffer/impl/TestFileStorageManager.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/common/buffer/impl/TestFileStorageManager.java	2012-09-17 18:31:05 UTC (rev 4454)
+++ trunk/engine/src/test/java/org/teiid/common/buffer/impl/TestFileStorageManager.java	2012-09-18 11:57:37 UTC (rev 4455)
@@ -104,6 +104,15 @@
     	fsos.flush();
     	assertEquals(0, fsos.getCount());
     }
+    
+    @Test public void testClose() throws Exception {
+    	FileStorageManager sm = getStorageManager(null, null);
+    	FileStore store = sm.createFileStore("0");
+    	FileStoreOutputStream fsos = store.createOutputStream(2);
+    	fsos.write(new byte[100000]);
+    	fsos.close();
+    	fsos.close();
+    }
 
     static Random r = new Random();
     



More information about the teiid-commits mailing list