You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ni...@apache.org on 2015/04/23 20:26:01 UTC

svn commit: r1675700 - /poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestFileSystemBugs.java

Author: nick
Date: Thu Apr 23 18:26:01 2015
New Revision: 1675700

URL: http://svn.apache.org/r1675700
Log:
Make the opening code generic

Modified:
    poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestFileSystemBugs.java

Modified: poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestFileSystemBugs.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestFileSystemBugs.java?rev=1675700&r1=1675699&r2=1675700&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestFileSystemBugs.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestFileSystemBugs.java Thu Apr 23 18:26:01 2015
@@ -17,7 +17,9 @@
 
 package org.apache.poi.poifs.filesystem;
 
+import java.util.ArrayList;
 import java.util.Iterator;
+import java.util.List;
 
 import junit.framework.TestCase;
 
@@ -27,26 +29,40 @@ import org.apache.poi.POIDataSamples;
  * Tests bugs across both POIFSFileSystem and NPOIFSFileSystem
  */
 public final class TestFileSystemBugs extends TestCase {
+    protected static POIDataSamples _samples = POIDataSamples.getPOIFSInstance();
+    
+    protected List<NPOIFSFileSystem> openedFSs;
+    protected void tearDown() throws Exception {
+        if (openedFSs != null && !openedFSs.isEmpty()) {
+            for (NPOIFSFileSystem fs : openedFSs) {
+                try {
+                    fs.close();
+                } catch (Exception e) {
+                    System.err.println("Error closing FS: " + e);
+                }
+            }
+        }
+        openedFSs = null;
+    }
+    protected DirectoryNode[] openSample(String name) throws Exception {
+        POIFSFileSystem ofs = new POIFSFileSystem(
+                _samples.openResourceAsStream(name));
+        NPOIFSFileSystem nfs = new NPOIFSFileSystem(
+                _samples.openResourceAsStream(name));
+        
+        if (openedFSs == null) openedFSs = new ArrayList<NPOIFSFileSystem>();
+        openedFSs.add(nfs);
+        
+        return new DirectoryNode[] { ofs.getRoot(), nfs.getRoot() };
+    }
+
     /**
      * Test that we can open files that come via Lotus notes.
      * These have a top level directory without a name....
      */
     public void testNotesOLE2Files() throws Exception {
-        POIDataSamples _samples = POIDataSamples.getPOIFSInstance();
-
-        // Open the file up with the two FileSystems
-        @SuppressWarnings("resource")
-        DirectoryNode[] roots = new DirectoryNode[] {
-                new POIFSFileSystem(
-                        _samples.openResourceAsStream("Notes.ole2")
-                ).getRoot(),
-                new NPOIFSFileSystem(
-                        _samples.openResourceAsStream("Notes.ole2")
-                ).getRoot()
-        };
-
         // Check the contents
-        for (DirectoryNode root : roots) {
+        for (DirectoryNode root : openSample("Notes.ole2")) {
             assertEquals(1, root.getEntryCount());
 
             Entry entry = root.getEntries().next();
@@ -69,10 +85,6 @@ public final class TestFileSystemBugs ex
             entry = it.next();
             assertEquals(true, entry.isDocumentEntry());
             assertEquals("\u0001CompObj", entry.getName());
-            
-            // Tidy
-            if (root.getNFileSystem() != null)
-                root.getNFileSystem().close();
         }
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org