Author: maxcom
Date: Mon Sep 12 11:48:00 2011
New Revision: 1169702
URL: http://svn.apache.org/viewvc?rev=1169702&view=rev
Log:
PPT: avoid NPE when OLEShape.getObjectData() is null (see POI bug#51771). Patch
by Yegor Kozlov
Modified:
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java
Modified:
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java
URL:
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java?rev=1169702&r1=1169701&r2=1169702&view=diff
==============================================================================
---
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java
(original)
+++
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java
Mon Sep 12 11:48:00 2011
@@ -21,6 +21,7 @@ import java.util.List;
import org.apache.poi.hslf.extractor.PowerPointExtractor;
import org.apache.poi.hslf.model.OLEShape;
+import org.apache.poi.hslf.usermodel.ObjectData;
import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
import org.apache.tika.exception.TikaException;
import org.apache.tika.io.TikaInputStream;
@@ -42,18 +43,21 @@ public class HSLFExtractor extends Abstr
List<OLEShape> shapeList = powerPointExtractor.getOLEShapes();
for (OLEShape shape : shapeList) {
- TikaInputStream stream =
- TikaInputStream.get(shape.getObjectData().getData());
- try {
- String mediaType = null;
- if ("Excel.Chart.8".equals(shape.getProgID())) {
- mediaType = "application/vnd.ms-excel";
+ ObjectData data = shape.getObjectData();
+ if(data != null) {
+ TikaInputStream stream =
+ TikaInputStream.get(data.getData());
+ try {
+ String mediaType = null;
+ if ("Excel.Chart.8".equals(shape.getProgID())) {
+ mediaType = "application/vnd.ms-excel";
+ }
+ handleEmbeddedResource(
+ stream, Integer.toString(shape.getObjectID()),
+ mediaType, xhtml, false);
+ } finally {
+ stream.close();
}
- handleEmbeddedResource(
- stream, Integer.toString(shape.getObjectID()),
- mediaType, xhtml, false);
- } finally {
- stream.close();
}
}
}