]> source.dussan.org Git - poi.git/commitdiff
Update a test to use the existing EntryUtils to copy with, rather than duplciating...
authorNick Burch <nick@apache.org>
Thu, 24 Apr 2014 17:32:47 +0000 (17:32 +0000)
committerNick Burch <nick@apache.org>
Thu, 24 Apr 2014 17:32:47 +0000 (17:32 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1589802 13f79535-47bb-0310-9956-ffa450edef68

src/testcases/org/apache/poi/poifs/filesystem/TestNPOIFSFileSystem.java

index 75ef5f18fd4a2ab03832cfb8995707f602c2ce71..36ba94d88bf06e6ab55d4eb7b7d8057e4e0d1662 100644 (file)
@@ -646,14 +646,18 @@ if(1==2) {
       // TODO The rest of the test
    }
 
+   /**
+    * Test that we can read a file with NPOIFS, create a new NPOIFS instance,
+    *  write it out, read it with POIFS, and see the original data
+    */
    @Test
-   public void writPOIFSWriterListener() throws Exception {
+   public void NPOIFSReadCopyWritePOIFSRead() throws Exception {
        File testFile = POIDataSamples.getSpreadSheetInstance().getFile("Simple.xls");
        NPOIFSFileSystem src = new NPOIFSFileSystem(testFile);
        byte wbDataExp[] = IOUtils.toByteArray(src.createDocumentInputStream("Workbook"));
        
        NPOIFSFileSystem nfs = new NPOIFSFileSystem();
-       copy(src.getRoot(), nfs.getRoot());
+       EntryUtils.copyNodes(src.getRoot(), nfs.getRoot());
        src.close();
 
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
@@ -665,34 +669,6 @@ if(1==2) {
        
        assertThat(wbDataExp, equalTo(wbDataAct));
    }
-
-   private static void copy(final DirectoryNode src, final DirectoryNode dest) throws IOException {
-       Iterator<Entry> srcIter = src.getEntries();
-       while(srcIter.hasNext()) {
-           Entry entry = srcIter.next();
-           if (entry.isDirectoryEntry()) {
-               DirectoryNode srcDir = (DirectoryNode)entry;
-               DirectoryNode destDir = (DirectoryNode)dest.createDirectory(srcDir.getName());
-               destDir.setStorageClsid(src.getStorageClsid());
-               copy(srcDir, destDir);
-           } else {
-               final DocumentNode srcDoc = (DocumentNode)entry;
-               // dest.createDocument(srcDoc.getName(), src.createDocumentInputStream(srcDoc));
-               dest.createDocument(srcDoc.getName(), srcDoc.getSize(), new POIFSWriterListener() {
-                   public void processPOIFSWriterEvent(POIFSWriterEvent event) {
-                       try {
-                           DocumentInputStream dis = src.createDocumentInputStream(srcDoc);
-                           IOUtils.copy(dis, event.getStream());
-                       } catch (IOException e) {
-                           throw new RuntimeException(e);
-                       }
-                   }
-               });
-           }
-       }
-       
-   }
-   
    
    // TODO Directory/Document write tests
 }