Author: fanningpj Date: Thu Sep 14 14:56:01 2023 New Revision: 1912315 URL: http://svn.apache.org/viewvc?rev=1912315&view=rev Log: [bug-67005] XSLFPictureShape - audio-related methods. Thanks to Max
Added: poi/trunk/test-data/slideshow/EmbeddedAudio.pptx Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXSLFPictureShape.java poi/trunk/src/resources/ooxml-lite-report.clazz poi/trunk/src/resources/ooxml-lite-report.xsb Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java?rev=1912315&r1=1912314&r2=1912315&view=diff ============================================================================== --- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java (original) +++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java Thu Sep 14 14:56:01 2023 @@ -469,6 +469,27 @@ public class XSLFPictureShape extends XS return null; } + private CTApplicationNonVisualDrawingProps getCTApplicationNonVisualDrawing() { + CTPictureNonVisual nvPicPr = getCTPictureNonVisual(); + return nvPicPr == null ? null : nvPicPr.getNvPr(); + } + + /** + * @return boolean; true if the picture is an audio + */ + public boolean isAudioFile() { + CTApplicationNonVisualDrawingProps nvPr = getCTApplicationNonVisualDrawing(); + return nvPr != null && nvPr.isSetAudioFile(); + } + + /** + * @return the link ID for the audio file + */ + public String getAudioFileLink() { + CTApplicationNonVisualDrawingProps nvPr = getCTApplicationNonVisualDrawing(); + return nvPr != null && nvPr.isSetAudioFile() ? nvPr.getAudioFile().getLink() : null; + } + private CTPictureNonVisual getCTPictureNonVisual() { XmlObject xmlObject = getXmlObject(); if (xmlObject instanceof CTPicture) { @@ -477,4 +498,4 @@ public class XSLFPictureShape extends XS } return null; } -} \ No newline at end of file +} Modified: poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXSLFPictureShape.java URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXSLFPictureShape.java?rev=1912315&r1=1912314&r2=1912315&view=diff ============================================================================== --- poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXSLFPictureShape.java (original) +++ poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXSLFPictureShape.java Thu Sep 14 14:56:01 2023 @@ -359,4 +359,24 @@ class TestXSLFPictureShape { assertEquals(ps.getVideoFileLink(), "rId2"); } } + + @Test + void testIsSetAudioFile() throws IOException { + try (XMLSlideShow ppt = openSampleDocument("EmbeddedAudio.pptx")) { + XSLFSlide slide = ppt.getSlides().get(0); + XSLFPictureShape ps = (XSLFPictureShape) slide.getShapes().get(0); + + assertTrue(ps.isAudioFile()); + } + } + + @Test + void testGetAudioLink() throws IOException { + try (XMLSlideShow ppt = openSampleDocument("EmbeddedAudio.pptx")) { + XSLFSlide slide = ppt.getSlides().get(0); + XSLFPictureShape ps = (XSLFPictureShape) slide.getShapes().get(0); + + assertEquals(ps.getAudioFileLink(), "rId2"); + } + } } \ No newline at end of file Modified: poi/trunk/src/resources/ooxml-lite-report.clazz URL: http://svn.apache.org/viewvc/poi/trunk/src/resources/ooxml-lite-report.clazz?rev=1912315&r1=1912314&r2=1912315&view=diff ============================================================================== --- poi/trunk/src/resources/ooxml-lite-report.clazz (original) +++ poi/trunk/src/resources/ooxml-lite-report.clazz Thu Sep 14 14:56:01 2023 @@ -2525,3 +2525,5 @@ org/openxmlformats/schemas/drawingml/x20 org/openxmlformats/schemas/drawingml/x2006/main/CTPositiveFixedAngle org/openxmlformats/schemas/drawingml/x2006/chart/impl/STAxisUnitImpl org/openxmlformats/schemas/drawingml/x2006/chart/STAxisUnit +org/openxmlformats/schemas/drawingml/x2006/main/impl/CTAudioFileImpl +org/openxmlformats/schemas/drawingml/x2006/main/CTAudioFile Modified: poi/trunk/src/resources/ooxml-lite-report.xsb URL: http://svn.apache.org/viewvc/poi/trunk/src/resources/ooxml-lite-report.xsb?rev=1912315&r1=1912314&r2=1912315&view=diff ============================================================================== --- poi/trunk/src/resources/ooxml-lite-report.xsb (original) +++ poi/trunk/src/resources/ooxml-lite-report.xsb Thu Sep 14 14:56:01 2023 @@ -1175,3 +1175,4 @@ ctdlblpos9ce4type stdlblpos1cf4type staxisunit6cc7type chartelement2 +ctaudiofile1563type Added: poi/trunk/test-data/slideshow/EmbeddedAudio.pptx URL: http://svn.apache.org/viewvc/poi/trunk/test-data/slideshow/EmbeddedAudio.pptx?rev=1912315&view=auto ============================================================================== Binary files poi/trunk/test-data/slideshow/EmbeddedAudio.pptx (added) and poi/trunk/test-data/slideshow/EmbeddedAudio.pptx Thu Sep 14 14:56:01 2023 differ --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org