From 7499f96145d7758798bed5b492704b1e2aba7092 Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Fri, 25 Mar 2011 18:03:18 +0000 Subject: [PATCH] Fix HPBF generics warnings, and add a NPOIFS check to the HPBF tests git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1085495 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/poi/hpbf/model/EscherPart.java | 5 +- .../extractor/TestPublisherTextExtractor.java | 105 ++++++++++-------- 2 files changed, 59 insertions(+), 51 deletions(-) diff --git a/src/scratchpad/src/org/apache/poi/hpbf/model/EscherPart.java b/src/scratchpad/src/org/apache/poi/hpbf/model/EscherPart.java index fce22481ad..26fb1d61d4 100644 --- a/src/scratchpad/src/org/apache/poi/hpbf/model/EscherPart.java +++ b/src/scratchpad/src/org/apache/poi/hpbf/model/EscherPart.java @@ -41,7 +41,7 @@ public abstract class EscherPart extends HPBFPart { DefaultEscherRecordFactory erf = new DefaultEscherRecordFactory(); - ArrayList ec = new ArrayList(); + ArrayList ec = new ArrayList(); 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() { diff --git a/src/scratchpad/testcases/org/apache/poi/hpbf/extractor/TestPublisherTextExtractor.java b/src/scratchpad/testcases/org/apache/poi/hpbf/extractor/TestPublisherTextExtractor.java index a14de3c55e..ca96f3a299 100644 --- a/src/scratchpad/testcases/org/apache/poi/hpbf/extractor/TestPublisherTextExtractor.java +++ b/src/scratchpad/testcases/org/apache/poi/hpbf/extractor/TestPublisherTextExtractor.java @@ -18,14 +18,50 @@ 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() ); } /** -- 2.39.5