From: Nick Burch Date: Thu, 24 Jul 2014 19:34:19 +0000 (+0000) Subject: Patch from thaichat04 from bug #56194 - HPSF thumbnail format tags are int not unit X-Git-Tag: REL_3_11_BETA1~51 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=f3dba528888a0ee4f1fe10f13bdbd025755913f9;p=poi.git Patch from thaichat04 from bug #56194 - HPSF thumbnail format tags are int not unit git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1613256 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/java/org/apache/poi/hpsf/Thumbnail.java b/src/java/org/apache/poi/hpsf/Thumbnail.java index 8d8ba7d209..3ab1106397 100644 --- a/src/java/org/apache/poi/hpsf/Thumbnail.java +++ b/src/java/org/apache/poi/hpsf/Thumbnail.java @@ -202,7 +202,7 @@ public final class Thumbnail { */ public long getClipboardFormatTag() { - long clipboardFormatTag = LittleEndian.getUInt(getThumbnail(), + long clipboardFormatTag = LittleEndian.getInt(getThumbnail(), OFFSET_CFTAG); return clipboardFormatTag; } @@ -234,7 +234,7 @@ public final class Thumbnail { throw new HPSFException("Clipboard Format Tag of Thumbnail must " + "be CFTAG_WINDOWS."); - return LittleEndian.getUInt(getThumbnail(), OFFSET_CF); + return LittleEndian.getInt(getThumbnail(), OFFSET_CF); } diff --git a/src/testcases/org/apache/poi/hpsf/extractor/TestHPSFPropertiesExtractor.java b/src/testcases/org/apache/poi/hpsf/extractor/TestHPSFPropertiesExtractor.java index ac5283eeab..22238d75f1 100644 --- a/src/testcases/org/apache/poi/hpsf/extractor/TestHPSFPropertiesExtractor.java +++ b/src/testcases/org/apache/poi/hpsf/extractor/TestHPSFPropertiesExtractor.java @@ -22,6 +22,7 @@ import java.io.IOException; import junit.framework.TestCase; import org.apache.poi.POIDataSamples; +import org.apache.poi.hpsf.Thumbnail; import org.apache.poi.hssf.HSSFTestDataSamples; import org.apache.poi.hssf.extractor.ExcelExtractor; import org.apache.poi.hssf.usermodel.HSSFWorkbook; @@ -120,4 +121,14 @@ public final class TestHPSFPropertiesExtractor extends TestCase { assertTrue(txt.indexOf("PID_REVNUMBER") != -1); assertTrue(txt.indexOf("PID_THUMBNAIL") != -1); } + + public void testThumbnail() throws Exception { + POIFSFileSystem fs = new POIFSFileSystem(_samples.openResourceAsStream("TestThumbnail.xls")); + HSSFWorkbook wb = new HSSFWorkbook(fs); + Thumbnail thumbnail = new Thumbnail(wb.getSummaryInformation().getThumbnail()); + assertEquals(-1, thumbnail.getClipboardFormatTag()); + assertEquals(3, thumbnail.getClipboardFormat()); + assertNotNull(thumbnail.getThumbnailAsWMF()); + wb.close(); + } } diff --git a/test-data/hpsf/TestThumbnail.xls b/test-data/hpsf/TestThumbnail.xls new file mode 100644 index 0000000000..69cca038e0 Binary files /dev/null and b/test-data/hpsf/TestThumbnail.xls differ