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