]> source.dussan.org Git - poi.git/commitdiff
fixed a possible NPE in SimpleShape.getClientRecords()
authorYegor Kozlov <yegor@apache.org>
Fri, 20 Feb 2009 13:49:33 +0000 (13:49 +0000)
committerYegor Kozlov <yegor@apache.org>
Fri, 20 Feb 2009 13:49:33 +0000 (13:49 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@746238 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/src/org/apache/poi/hslf/model/SimpleShape.java
src/scratchpad/testcases/org/apache/poi/hslf/extractor/TestExtractor.java

index 0d8992f36ae3aa60fabb41ed1b7e4bd2eb2b397b..b0bdcadcca7d2c8bf6c595bdb9f40d076ac78400 100644 (file)
@@ -314,12 +314,17 @@ public class SimpleShape extends Shape {
         return null;
     }
 
+    /**
+     * Search for EscherClientDataRecord, if found, convert its contents into an array of HSLF records
+     *
+     * @return an array of HSLF records contained in the shape's EscherClientDataRecord or <code>null</code>
+     */
     protected Record[] getClientRecords() {
         if(_clientData == null){
             EscherRecord r = Shape.getEscherChild(getSpContainer(), EscherClientDataRecord.RECORD_ID);
             //ddf can return EscherContainerRecord with recordId=EscherClientDataRecord.RECORD_ID
             //convert in to EscherClientDataRecord on the fly
-            if(!(r instanceof EscherClientDataRecord)){
+            if(r != null && !(r instanceof EscherClientDataRecord)){
                 byte[] data = r.serialize();
                 r = new EscherClientDataRecord();
                 r.fillFields(data, 0, new DefaultEscherRecordFactory());
index f04fbbd5b202ebdf75f4f8505363e7c99eff853a..9c213d4773cdcfd835e47f4007da4e12a887e2ee 100644 (file)
@@ -237,14 +237,7 @@ public final class TestExtractor extends TestCase {
                filename = dirname + "/45543.ppt";
                ppe = new PowerPointExtractor(filename);
 
-               try {
-                       text = ppe.getText();
-               } catch (NullPointerException e) {
-                       // TODO - fix this failing test
-                       // This test was failing here with NPE as at svn r745972.
-                       // At that time, the class name was 'TextExtractor' which caused the build script to skip it
-                       return; // for the moment skip the rest of this test.
-               }
+        text = ppe.getText();
                assertFalse("Comments not in by default", contains(text, "testdoc"));
                
                ppe.setCommentsByDefault(true);