@SuppressWarnings("WeakerAccess")
protected String getBlipLink(){
- String link = getBlip().getLink();
- if (link.isEmpty()) return null;
- return link;
+ CTBlip blip = getBlip();
+ if (blip != null) {
+ String link = blip.getLink();
+ if (link.isEmpty()) return null;
+ return link;} else {
+ return null;
+ }
}
@SuppressWarnings("WeakerAccess")
protected String getBlipId(){
- String id = getBlip().getEmbed();
- if (id.isEmpty()) return null;
- return id;
+ CTBlip blip = getBlip();
+ if (blip != null) {
+ String id = getBlip().getEmbed();
+ if (id.isEmpty()) return null;
+ return id;
+ } else {
+ return null;
+ }
}
@Override
package org.apache.poi.xslf;
import static org.apache.poi.POITestCase.assertContains;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.*;
import java.awt.Color;
import java.awt.Dimension;
public class TestXSLFBugs {
private static final POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
+ @Test
+ public void bug62929() throws Exception {
+ try(XMLSlideShow ss1 = XSLFTestDataSamples.openSampleDocument("missing-blip-fill.pptx")) {
+ assertEquals(1, ss1.getSlides().size());
+
+ XSLFSlide slide = ss1.getSlides().get(0);
+
+ assertEquals(slide.getShapes().size(), 1);
+
+ XSLFPictureShape picture = (XSLFPictureShape)slide.getShapes().get(0);
+
+ assertEquals(picture.getShapeId(), 662);
+ assertFalse(picture.isExternalLinkedPicture());
+ assertNull(picture.getPictureData());
+ assertNull(picture.getPictureLink());
+ assertNull(picture.getClipping());
+ }
+ }
+
@Test
public void bug62736() throws Exception {
XMLSlideShow ss1 = XSLFTestDataSamples.openSampleDocument("bug62736.pptx");