Author: fanningpj
Date: Tue Jul 14 16:17:52 2020
New Revision: 1879859

URL: http://svn.apache.org/viewvc?rev=1879859&view=rev
Log:
[bug-64600] Avoid XWPF NPE when styleid is null. Thanks to Sayi. This closes 
#186

Modified:
    poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFStyles.java
    
poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFStyles.java

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFStyles.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFStyles.java?rev=1879859&r1=1879858&r2=1879859&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFStyles.java 
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFStyles.java Tue 
Jul 14 16:17:52 2020
@@ -154,11 +154,7 @@ public class XWPFStyles extends POIXMLDo
      * @return true if style exist, false if style not exist
      */
     public boolean styleExist(String styleID) {
-        for (XWPFStyle style : listStyle) {
-            if (style.getStyleId().equals(styleID))
-                return true;
-        }
-        return false;
+        return null != getStyle(styleID);
     }
 
     /**
@@ -182,12 +178,8 @@ public class XWPFStyles extends POIXMLDo
      */
     public XWPFStyle getStyle(String styleID) {
         for (XWPFStyle style : listStyle) {
-            try {
-                if (style.getStyleId().equals(styleID))
-                    return style;
-            } catch (NullPointerException e) {
-                // Ignore NPE
-            }
+            if (null != style.getStyleId() && 
style.getStyleId().equals(styleID))
+                return style;
         }
         return null;
     }

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFStyles.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFStyles.java?rev=1879859&r1=1879858&r2=1879859&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFStyles.java 
(original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFStyles.java 
Tue Jul 14 16:17:52 2020
@@ -217,6 +217,11 @@ public final class TestXWPFStyles {
                 assertNotNull(styles.getStyle("NoList"));
                 assertNull(styles.getStyle("EmptyCellLayoutStyle"));
                 assertNotNull(styles.getStyle("BalloonText"));
+                
+                // Bug 64600: styleExist throws NPE
+                assertTrue(styles.styleExist("NoList"));
+                assertFalse(styles.styleExist("EmptyCellLayoutStyle"));
+                assertTrue(styles.styleExist("BalloonText"));
             } catch (NullPointerException e) {
                 fail(e.toString());
             }
@@ -235,4 +240,5 @@ public final class TestXWPFStyles {
             assertEquals(styleName, style.getName());
         }
     }
+
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org
For additional commands, e-mail: commits-h...@poi.apache.org

Reply via email to