From 4a3ea104fe275e0d0f8d094f7bd1f6da57562d64 Mon Sep 17 00:00:00 2001 From: Andreas Beeker Date: Wed, 16 May 2018 21:57:49 +0000 Subject: [PATCH] #62037 - SlideNames should not be null but have a default as if accessed by VBA git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1831745 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/poi/sl/usermodel/Slide.java | 7 ++++++ .../apache/poi/xslf/usermodel/XSLFSlide.java | 8 ++++++- .../apache/poi/hslf/usermodel/HSLFSlide.java | 8 ++++++- .../poi/sl/usermodel/BaseTestSlideShow.java | 22 +++++++++++------- test-data/slideshow/SampleShow.ppt | Bin 124928 -> 125440 bytes test-data/slideshow/SampleShow.pptx | Bin 38993 -> 39083 bytes 6 files changed, 34 insertions(+), 11 deletions(-) diff --git a/src/java/org/apache/poi/sl/usermodel/Slide.java b/src/java/org/apache/poi/sl/usermodel/Slide.java index 00492df5fc..91b80f107e 100644 --- a/src/java/org/apache/poi/sl/usermodel/Slide.java +++ b/src/java/org/apache/poi/sl/usermodel/Slide.java @@ -83,4 +83,11 @@ public interface Slide< * @since POI 4.0.0 */ MasterSheet getSlideLayout(); + + /** + * @return the slide name, defaults to "Slide[slideNumber]" + * + * @since POI 4.0.0 + */ + String getSlideName(); } diff --git a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlide.java b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlide.java index 4df63e2655..51fc80a54b 100644 --- a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlide.java +++ b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlide.java @@ -390,5 +390,11 @@ implements Slide { public boolean isHidden() { CTSlide sld = getXmlObject(); return sld.isSetShow() && !sld.getShow(); - } + } + + @Override + public String getSlideName() { + final CTCommonSlideData cSld = getXmlObject().getCSld(); + return cSld.isSetName() ? cSld.getName() : "Slide"+getSlideNumber(); + } } diff --git a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlide.java b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlide.java index 5bae46a8ad..673b72009a 100644 --- a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlide.java +++ b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlide.java @@ -27,6 +27,7 @@ import org.apache.poi.ddf.EscherDggRecord; import org.apache.poi.ddf.EscherSpRecord; import org.apache.poi.hslf.exceptions.HSLFException; import org.apache.poi.hslf.model.HeadersFooters; +import org.apache.poi.hslf.record.CString; import org.apache.poi.hslf.record.ColorSchemeAtom; import org.apache.poi.hslf.record.Comment2000; import org.apache.poi.hslf.record.EscherTextboxWrapper; @@ -231,7 +232,12 @@ public final class HSLFSlide extends HSLFSheet implements Slide ppt = SlideShowFactory.create(is)) { - final List shapes1 = ppt.getSlides().get(0).getShapes(); - assertEquals("The Title", shapes1.get(0).getShapeName()); - assertEquals("Another Subtitle", shapes1.get(1).getShapeName()); - final List shapes2 = ppt.getSlides().get(1).getShapes(); - assertEquals("Title 1", shapes2.get(0).getShapeName()); - assertEquals("Content Placeholder 2", shapes2.get(1).getShapeName()); + try (final InputStream is = slTests.openResourceAsStream(file); + final SlideShow ppt = SlideShowFactory.create(is)) { + final List shapes1 = ppt.getSlides().get(0).getShapes(); + assertEquals("The Title", shapes1.get(0).getShapeName()); + assertEquals("Another Subtitle", shapes1.get(1).getShapeName()); + final List shapes2 = ppt.getSlides().get(1).getShapes(); + assertEquals("Title 1", shapes2.get(0).getShapeName()); + assertEquals("Content Placeholder 2", shapes2.get(1).getShapeName()); + + for (final Slide slide : ppt.getSlides()) { + final String expected = slide.getSlideNumber()==1 ? "FirstSlide" : "Slide2"; + assertEquals(expected, slide.getSlideName()); } } } diff --git a/test-data/slideshow/SampleShow.ppt b/test-data/slideshow/SampleShow.ppt index 7af347a5df883e4096849323830f8d07eb3f86ad..556f4c4e1f7ad2aca89bc82b59f8c451c84caeae 100644 GIT binary patch delta 16247 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 NpyoQgWpEDs{{ZqAdc*(# delta 17760 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 diff --git a/test-data/slideshow/SampleShow.pptx b/test-data/slideshow/SampleShow.pptx index 7db4d06e9ebd4d9e15381ea9df0d873446231b47..4496c269530b69ad70631e2543f8c3a360866238 100644 GIT binary patch delta 1651 zcmZ8h2~ZPP7~Z@dkb#!tx{?dy7Koc*J_078nB?!bB!`+^td{TZCOfI3uW53o`xqy-LTlg6~`=ih;WDNv_i$2a&F;PM+OsfO~PqL z1ffGfOM}1UOz9d4A_#vSs4$!->-+lmZFB57(b>PcM?7d|tu#Bdv@YJSjYcY7(oG7j zVul(Q59mUNy8p$PfAHZd{i!0-9BVs@AB`k-B>XN9wE&&ujfF>h{L zwe2b2qt2rBJOAYhxn9n|x4V7YMS7hR?cWT@Z3p*6h)y$~)N?NHh=0Nn$F$OqM!22O z!tHy9?if{voZY8TUv%y$7O3rcCwgiZsXOJ>{caIhtUr*k`Q7#V7X^y!>Xu8LvAj{= z6FB?nHDlw-Wx8eC=Q`KvM`_Dy96bf0TX;KLW>>_rA2s>Z9&W5Ov*m{jZyy`LO^Ud+ z=8+2y)CK-B-qx$|4nOW)qpUnKrtF$;-DtN}LL1w4Ez6}!e2C+Ok*D2*{&obfP zyXmH-%?D?#t|-4czVm*@_VefaCbPc3OI|HfxEd7{4f-vASvurl=q54ClT{6|q&vn_ zbAv>+&zsg}zIRsow0X?0vb`9zQgp1ZVcwvckyOPGpWGMuCh3kkA+z_So#X0UadMJN z+UPm=^nv$3iW|wAdQyod70Y13!OaK*f;kSGe9S~5|9JCAA(4I%4Ekdx*7r@&*G1_ZML076} zNp#E#nsY6oP(`AjY@kN907~uI2E?Z;aS;Sr@?o8lL$x!B zp@CuAaHQA*urPD!xFDWaAmDVa zZ7WRXS}Ccj-%5cVIS<6SBt$W1mglcj%5Z?SDq}RY9THVS$du0X?@FPt#PTz7Gy?)C zakh%2(ZNP#0c)rfwR<2j*B-u) delta 1645 zcmZWoc~BE~6y9tOAW{s_aD*cqNw^dUP1FJsDT;C_f<+J!5K$3GXb=Uf2BgI{;R-J# zltU|3kyBuUTE&v7qs4Br3h8J0;~`q~Fy|Kgo8(b9fPGLakG-)b@~TA9wPy1AVhbE*7T!1C%y zQDd+{&W_7xG483!A6~KVi=f|DE6h%XHtn|jZf|O-S4-$DA{p{mcWVl9U_fqjAJt7~U2Oea4N-IMp#>+sOJ z+Jh2bx!dSzr}n%3xi-9_hJ9km^>0eVw>wy=boGNVhUMo|J<|9i7BXoq;iBe1;A!u` zjnJB@&q4oaD>HxYx0n-{pLFa(+mQRDi|5IJBPq2OVc!Dj6>DdtIr%7|}r^rzI`1xfYXD*g7}E2^ITg36i8 z(c6%19gBZV%^5wrYTV__=*hA-!_Q6)#ZOLN`QT{eT7jOxby?4<6K{m^3Tt)$%$Agz zC9N((eyMV-`rwg)9>2nFy%hPDaX+KrW?z>Lb`}bI*NkS;-N&azKUbIEspSoJ`DVJj zV2(#vmkrjNFn-9K>gQBW50eefj&u)J`P}$bVZv?w6YSTRfoH526eRXxS!_OvJBHv9 z;{@xX`+!qO!;U-jz6EEogp`d0cx0=OjW8Qg%rkZw0o%NZLVyrC6{HETFk#$d6r=L$ zh#1LdGYM;38cD>m7uk_uOhLnTZJnfOd*vqdVF`kp3$O}LF%df+AtqtdVNE2=BjoB_ zD=%0GbLBKx6s6PxdzDS6z^iN~M#-EcW5c#Y0%k0!CjeFa5YxDxBeWR>QoyFd8P`3m zt`JZyNeB`zPEO18fN(h-3Y82rOb;eR7NAjDfk0`AChFs^1MFAQ;E{@fW*NX=DlRlQ z(F_sYb8i6%ia0P^&Oj%Oz+CBM{qE(`1>(kG=KaAR1| zt6)GDn+Ep_sp!)Wp`=|gbkL2kmolXFWL=-K7k zhI zGF1#YDvs97&4#78DZzht`9Y|X`N2^YgHQqIRV=uNOWQvWCY5YRE@Ggzhaj)W5rk3( vdOIJaQeU^FhY@6(C@EYl%E