You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ce...@apache.org on 2014/12/19 15:29:50 UTC

svn commit: r1646729 - in /poi/trunk: src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFBugs.java test-data/document/57312.docx

Author: centic
Date: Fri Dec 19 14:29:50 2014
New Revision: 1646729

URL: http://svn.apache.org/r1646729
Log:
Bug 57312: Add check for null value of underline w:val

Added:
    poi/trunk/test-data/document/57312.docx   (with props)
Modified:
    poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFBugs.java

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java?rev=1646729&r1=1646728&r2=1646729&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java Fri Dec 19 14:29:50 2014
@@ -356,8 +356,9 @@ public class XWPFRun implements ISDTCont
      */
     public UnderlinePatterns getUnderline() {
         CTRPr pr = run.getRPr();
-        return (pr != null && pr.isSetU()) ? UnderlinePatterns.valueOf(pr
-            .getU().getVal().intValue()) : UnderlinePatterns.NONE;
+        return (pr != null && pr.isSetU() && pr.getU().getVal() != null) 
+                ? UnderlinePatterns.valueOf(pr.getU().getVal().intValue()) 
+                : UnderlinePatterns.NONE;
     }
 
     /**

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFBugs.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFBugs.java?rev=1646729&r1=1646728&r2=1646729&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFBugs.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFBugs.java Fri Dec 19 14:29:50 2014
@@ -16,8 +16,11 @@
 ==================================================================== */
 package org.apache.poi.xwpf.usermodel;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.*;
 
+import java.io.IOException;
+
+import org.apache.poi.xwpf.XWPFTestDataSamples;
 import org.apache.poi.xwpf.usermodel.XWPFRun.FontCharRange;
 import org.junit.Test;
 
@@ -48,4 +51,30 @@ public class TestXWPFBugs {
         assertEquals(run.getFontFamily(FontCharRange.hAnsi), "Arial");
     }
 
+    
+    @Test
+    public void bug57312_NullPointException() throws IOException {
+        XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("57312.docx");
+        assertNotNull(doc);
+        
+        for( IBodyElement bodyElement : doc.getBodyElements()){
+            BodyElementType elementType = bodyElement.getElementType();
+            
+            if(elementType == BodyElementType.PARAGRAPH) {
+                XWPFParagraph paragraph = (XWPFParagraph) bodyElement;
+                
+                for (IRunElement iRunElem : paragraph.getIRuns()){
+                    
+                    if (iRunElem instanceof XWPFRun){   
+                        XWPFRun runElement = (XWPFRun) iRunElem;
+                        
+                        UnderlinePatterns underline = runElement.getUnderline();
+                        assertNotNull(underline);
+                        
+                        //System.out.println("Found: " + underline + ": " + runElement.getText(0));
+                    }
+                }
+            } 
+        }
+    }
 }

Added: poi/trunk/test-data/document/57312.docx
URL: http://svn.apache.org/viewvc/poi/trunk/test-data/document/57312.docx?rev=1646729&view=auto
==============================================================================
Binary file - no diff available.

Propchange: poi/trunk/test-data/document/57312.docx
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream



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