mirror of https://github.com/apache/poi.git
fixed a possible NPE in SimpleShape.getClientRecords()
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@746238 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
b0d231437c
commit
d5e64851f6
|
@ -314,12 +314,17 @@ public class SimpleShape extends Shape {
|
||||||
return null;
|
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() {
|
protected Record[] getClientRecords() {
|
||||||
if(_clientData == null){
|
if(_clientData == null){
|
||||||
EscherRecord r = Shape.getEscherChild(getSpContainer(), EscherClientDataRecord.RECORD_ID);
|
EscherRecord r = Shape.getEscherChild(getSpContainer(), EscherClientDataRecord.RECORD_ID);
|
||||||
//ddf can return EscherContainerRecord with recordId=EscherClientDataRecord.RECORD_ID
|
//ddf can return EscherContainerRecord with recordId=EscherClientDataRecord.RECORD_ID
|
||||||
//convert in to EscherClientDataRecord on the fly
|
//convert in to EscherClientDataRecord on the fly
|
||||||
if(!(r instanceof EscherClientDataRecord)){
|
if(r != null && !(r instanceof EscherClientDataRecord)){
|
||||||
byte[] data = r.serialize();
|
byte[] data = r.serialize();
|
||||||
r = new EscherClientDataRecord();
|
r = new EscherClientDataRecord();
|
||||||
r.fillFields(data, 0, new DefaultEscherRecordFactory());
|
r.fillFields(data, 0, new DefaultEscherRecordFactory());
|
||||||
|
|
|
@ -237,14 +237,7 @@ public final class TestExtractor extends TestCase {
|
||||||
filename = dirname + "/45543.ppt";
|
filename = dirname + "/45543.ppt";
|
||||||
ppe = new PowerPointExtractor(filename);
|
ppe = new PowerPointExtractor(filename);
|
||||||
|
|
||||||
try {
|
text = ppe.getText();
|
||||||
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.
|
|
||||||
}
|
|
||||||
assertFalse("Comments not in by default", contains(text, "testdoc"));
|
assertFalse("Comments not in by default", contains(text, "testdoc"));
|
||||||
|
|
||||||
ppe.setCommentsByDefault(true);
|
ppe.setCommentsByDefault(true);
|
||||||
|
|
Loading…
Reference in New Issue