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: [email protected]
For additional commands, e-mail: [email protected]