View | Details | Raw Unified | Return to bug 65674
Collapse All | Expand All

(-)a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java (+40 lines)
Lines 438-441 Link Here
438
            }
438
            }
439
        }
439
        }
440
    }
440
    }
441
442
    /**
443
     * @return boolean
444
     */
445
    public boolean isSetVideoFile() {
446
        XmlObject xmlObject = getXmlObject();
447
        if (xmlObject instanceof CTPicture) {
448
            CTPicture ctPicture = (CTPicture)xmlObject;
449
            CTPictureNonVisual nvPicPr = ctPicture.getNvPicPr();
450
            if (nvPicPr != null) {
451
                CTApplicationNonVisualDrawingProps nvPr = nvPicPr.getNvPr();
452
                if (nvPr != null) {
453
                    return nvPr.isSetVideoFile();
454
                }
455
            }
456
        }
457
458
        return false;
459
    }
460
461
    /**
462
     * @return String
463
     */
464
    public String getVideoLink() {
465
        if (isSetVideoFile()) {
466
            XmlObject xmlObject = getXmlObject();
467
            if (xmlObject instanceof CTPicture) {
468
                CTPicture ctPicture = (CTPicture)xmlObject;
469
                CTPictureNonVisual nvPicPr = ctPicture.getNvPicPr();
470
                if (nvPicPr != null) {
471
                    CTApplicationNonVisualDrawingProps nvPr = nvPicPr.getNvPr();
472
                    if (nvPr != null) {
473
                        return nvPr.getVideoFile().getLink();
474
                    }
475
                }
476
            }
477
        }
478
479
        return null;
480
    }
441
}
481
}
(-)a/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXSLFPictureShape.java (+20 lines)
Lines 339-342 Link Here
339
            }
339
            }
340
        }
340
        }
341
    }
341
    }
342
343
    @Test
344
    void testIsSetVideoFile() throws IOException {
345
        try (XMLSlideShow ppt = openSampleDocument("EmbeddedVideo.pptx")) {
346
            XSLFSlide slide = ppt.getSlides().get(0);
347
            XSLFPictureShape ps = (XSLFPictureShape) slide.getShapes().get(0);
348
349
            assertTrue(ps.isSetVideoFile());
350
        }
351
    }
352
353
    @Test
354
    void testGetVideoLink() throws IOException {
355
        try (XMLSlideShow ppt = openSampleDocument("EmbeddedVideo.pptx")) {
356
            XSLFSlide slide = ppt.getSlides().get(0);
357
            XSLFPictureShape ps = (XSLFPictureShape) slide.getShapes().get(0);
358
359
            assertEquals(ps.getVideoLink(), "rId2");
360
        }
361
    }
342
}
362
}

Return to bug 65674