]> source.dussan.org Git - poi.git/commitdiff
Fix HPBF generics warnings, and add a NPOIFS check to the HPBF tests
authorNick Burch <nick@apache.org>
Fri, 25 Mar 2011 18:03:18 +0000 (18:03 +0000)
committerNick Burch <nick@apache.org>
Fri, 25 Mar 2011 18:03:18 +0000 (18:03 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1085495 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/src/org/apache/poi/hpbf/model/EscherPart.java
src/scratchpad/testcases/org/apache/poi/hpbf/extractor/TestPublisherTextExtractor.java

index fce22481ad35f797ed5c07700f065ab25df7ff1d..26fb1d61d414f7cbfeb5d5a4466081379e18ffd4 100644 (file)
@@ -41,7 +41,7 @@ public abstract class EscherPart extends HPBFPart {
                DefaultEscherRecordFactory erf =
                        new DefaultEscherRecordFactory();
 
-               ArrayList ec = new ArrayList();
+               ArrayList<EscherRecord> ec = new ArrayList<EscherRecord>();
                int left = data.length;
                while(left > 0) {
                        EscherRecord er = erf.createRecord(data, 0);
@@ -51,8 +51,7 @@ public abstract class EscherPart extends HPBFPart {
                        ec.add(er);
                }
 
-               records = (EscherRecord[])
-                       ec.toArray(new EscherRecord[ec.size()]);
+               records = ec.toArray(new EscherRecord[ec.size()]);
        }
 
        public EscherRecord[] getEscherRecords() {
index a14de3c55ef0c6d69465783070b221bdbda76a60..ca96f3a299aec1de2bf3003201ecdaeb34356a5a 100644 (file)
 package org.apache.poi.hpbf.extractor;
 
 import java.io.File;
+import java.io.FileInputStream;
 
 import junit.framework.TestCase;
 
 import org.apache.poi.POIDataSamples;
 import org.apache.poi.hpbf.HPBFDocument;
+import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
 
 public final class TestPublisherTextExtractor extends TestCase {
     private static final POIDataSamples _samples = POIDataSamples.getPublisherInstance();
+    
+    private static final String SAMPLE_TEXT = 
+       "This is some text on the first page\n" +
+       "It\u2019s in times new roman, font size 10, all normal\n" +
+       "" +
+       "This is in bold and italic\n" +
+       "It\u2019s Arial, 20 point font\n" +
+       "It\u2019s in the second textbox on the first page\n" +
+       "" +
+       "This is the second page\n\n" +
+       "" +
+       "It is also times new roman, 10 point\n" +
+       "" +
+       "Table on page 2\nTop right\n" +
+       "P2 table left\nP2 table right\n" +
+       "Bottom Left\nBottom Right\n" +
+       "" +
+       "This text is on page two\n" +
+       "#This is a link to Apache POI\n" +
+       "More normal text\n" +
+       "Link to a file\n" +
+       "" +
+       "More text, more hyperlinks\n" +
+       "email link\n" +
+       "Final hyperlink\n" +
+       "Within doc to page 1\n";
+    private static final String SIMPLE_TEXT =
+       "0123456789\n" +
+       "0123456789abcdef\n" +
+       "0123456789abcdef0123456789abcdef\n" +
+       "0123456789\n" +
+       "0123456789abcdef\n" +
+       "0123456789abcdef0123456789abcdef\n" +
+       "0123456789abcdef0123456789abcdef0123456789abcdef\n";
 
        public void testBasics() throws Exception {
                HPBFDocument doc = new HPBFDocument(
@@ -43,57 +79,30 @@ public final class TestPublisherTextExtractor extends TestCase {
        }
 
        public void testContents() throws Exception {
-               HPBFDocument doc = new HPBFDocument(
-                _samples.openResourceAsStream("Sample.pub")
+          PublisherTextExtractor ext;
+          File sample = _samples.getFile("Sample.pub");
+      File simple = _samples.getFile("Simple.pub");
+          
+          // Check this complicated file using POIFS
+               HPBFDocument docOPOIFS = new HPBFDocument(
+                     new FileInputStream(sample)
                );
-
-               PublisherTextExtractor ext =
-                       new PublisherTextExtractor(doc);
-               String text = ext.getText();
-
-               assertEquals(
-"This is some text on the first page\n" +
-"It\u2019s in times new roman, font size 10, all normal\n" +
-"" +
-"This is in bold and italic\n" +
-"It\u2019s Arial, 20 point font\n" +
-"It\u2019s in the second textbox on the first page\n" +
-"" +
-"This is the second page\n\n" +
-"" +
-"It is also times new roman, 10 point\n" +
-"" +
-"Table on page 2\nTop right\n" +
-"P2 table left\nP2 table right\n" +
-"Bottom Left\nBottom Right\n" +
-"" +
-"This text is on page two\n" +
-"#This is a link to Apache POI\n" +
-"More normal text\n" +
-"Link to a file\n" +
-"" +
-"More text, more hyperlinks\n" +
-"email link\n" +
-"Final hyperlink\n" +
-"Within doc to page 1\n"
-                               , text
-               );
-
-               // Now a simpler one
+      ext = new PublisherTextExtractor(docOPOIFS);
+      assertEquals( SAMPLE_TEXT, ext.getText() );
+
+      // And with NPOIFS
+      HPBFDocument docNPOIFS = new HPBFDocument(
+            new NPOIFSFileSystem(sample)
+      );
+               ext = new PublisherTextExtractor(docNPOIFS);
+               assertEquals( SAMPLE_TEXT, ext.getText() );
+
+               
+               // Now a simpler file
                ext = new PublisherTextExtractor(
-                _samples.openResourceAsStream("Simple.pub")
-               );
-               text = ext.getText();
-               assertEquals(
-"0123456789\n" +
-"0123456789abcdef\n" +
-"0123456789abcdef0123456789abcdef\n" +
-"0123456789\n" +
-"0123456789abcdef\n" +
-"0123456789abcdef0123456789abcdef\n" +
-"0123456789abcdef0123456789abcdef0123456789abcdef\n"
-                               , text
+                     new FileInputStream(simple)
                );
+      assertEquals( SIMPLE_TEXT, ext.getText() );
        }
 
        /**