]> source.dussan.org Git - poi.git/commitdiff
#56791 Make NPOIFS the default when POIFSFileSystem is requested
authorNick Burch <nick@apache.org>
Tue, 26 May 2015 18:04:00 +0000 (18:04 +0000)
committerNick Burch <nick@apache.org>
Tue, 26 May 2015 18:04:00 +0000 (18:04 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1681804 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/poifs/filesystem/DirectoryNode.java
src/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java
src/testcases/org/apache/poi/poifs/filesystem/TestDocumentInputStream.java

index e8c6638bf6d9fbd96617ef71a3972be7cc200531..9be71a5ccf41b9c21a45eaf6fedb7841e56ad0bf 100644 (file)
@@ -145,14 +145,15 @@ public class DirectoryNode
 
     /**
      * @return the filesystem that this belongs to
-     * TODO Temporary workaround during #56791
      */
-    public POIFSFileSystem getFileSystem()
+    public NPOIFSFileSystem getFileSystem()
     {
-        return (POIFSFileSystem)_ofilesystem;
+        return _nfilesystem;
     }
 
     /**
+     * If this is OPOIFS based, return the NPOIFSFileSystem
+     *  that this belong to, otherwise Null if NPOIFS based
      * @return the filesystem that this belongs to
      */
     public OPOIFSFileSystem getOFileSystem()
@@ -161,6 +162,8 @@ public class DirectoryNode
     }
 
     /**
+     * If this is NPOIFS based, return the NPOIFSFileSystem
+     *  that this belong to, otherwise Null if OPOIFS based
      * @return the filesystem that this belongs to
      */
     public NPOIFSFileSystem getNFileSystem()
index b8afa2f707e220b14cfcb31901e3df1131521b92..5afb4eb8fcc42ec1e139af43c9e84269885c1b46 100644 (file)
@@ -32,7 +32,7 @@ import org.apache.poi.util.CloseIgnoringInputStream;
  */
 
 public class POIFSFileSystem
-    extends OPOIFSFileSystem // TODO Temporary workaround during #56791
+    extends NPOIFSFileSystem // TODO Temporary workaround during #56791
     implements POIFSViewable
 {
     /**
@@ -95,14 +95,14 @@ public class POIFSFileSystem
      * @param inp An InputStream which supports either mark/reset, or is a PushbackInputStream
      */
     public static boolean hasPOIFSHeader(InputStream inp) throws IOException {
-        return OPOIFSFileSystem.hasPOIFSHeader(inp);
+        return NPOIFSFileSystem.hasPOIFSHeader(inp);
     }
     /**
      * Checks if the supplied first 8 bytes of a stream / file
      *  has a POIFS (OLE2) header.
      */
     public static boolean hasPOIFSHeader(byte[] header8Bytes) {
-        return OPOIFSFileSystem.hasPOIFSHeader(header8Bytes);
+        return NPOIFSFileSystem.hasPOIFSHeader(header8Bytes);
     }
 
     /**
index 98b2b7a7d7d6ba74722c7cedc100a4b393bc66dc..801935865c0b64a3e656c0e8d248c30d87bb01b0 100644 (file)
@@ -31,10 +31,7 @@ import org.apache.poi.poifs.storage.RawDataBlock;
 
 /**
  * Class to test DocumentInputStream functionality
- *
- * @author Marc Johnson
  */
-
 public final class TestDocumentInputStream extends TestCase {
    private DocumentNode     _workbook_n;
    private DocumentNode     _workbook_o;
@@ -95,7 +92,7 @@ public final class TestDocumentInputStream extends TestCase {
      * test constructor
      */
     public void testConstructor() throws IOException {
-        DocumentInputStream ostream = new DocumentInputStream(_workbook_o);
+        DocumentInputStream ostream = new ODocumentInputStream(_workbook_o);
         DocumentInputStream nstream = new NDocumentInputStream(_workbook_n);
         
         assertEquals(_workbook_size, _workbook_o.getSize());
@@ -103,6 +100,9 @@ public final class TestDocumentInputStream extends TestCase {
 
         assertEquals(_workbook_size, ostream.available());
         assertEquals(_workbook_size, nstream.available());
+        
+        ostream.close();
+        nstream.close();
     }
 
     /**
@@ -514,12 +514,14 @@ public final class TestDocumentInputStream extends TestCase {
        
        NPOIFSFileSystem npoifs = new NPOIFSFileSystem(sample);
        try {
-           POIFSFileSystem  opoifs = new POIFSFileSystem(new FileInputStream(sample));
+           OPOIFSFileSystem  opoifs = new OPOIFSFileSystem(new FileInputStream(sample));
            
            // Ensure we have what we expect on the root
            assertEquals(npoifs, npoifs.getRoot().getNFileSystem());
-           assertEquals(null,   npoifs.getRoot().getFileSystem());
-           assertEquals(opoifs, opoifs.getRoot().getFileSystem());
+           assertEquals(npoifs, npoifs.getRoot().getFileSystem());
+           assertEquals(null,   npoifs.getRoot().getOFileSystem());
+           assertEquals(null,   opoifs.getRoot().getFileSystem());
+           assertEquals(opoifs, opoifs.getRoot().getOFileSystem());
            assertEquals(null,   opoifs.getRoot().getNFileSystem());
            
            // Check inside