Author: tallison
Date: Fri Feb 19 15:46:26 2016
New Revision: 1731257
URL: http://svn.apache.org/viewvc?rev=1731257&view=rev
Log:
POI 59030 fix NPE in XWPFTableCell's getVerticalAlignment via Prasad Babu
Added:
poi/trunk/test-data/document/59030.docx (with props)
Modified:
poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTableCell.java
Modified:
poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java?rev=1731257&r1=1731256&r2=1731257&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java
Fri Feb 19 15:46:26 2016
@@ -224,20 +224,23 @@ public class XWPFTableCell implements IB
ctshd.setFill(rgbStr);
}
- /**
- * Get the vertical alignment of the cell.
- *
- * @return the cell alignment enum value
- */
- public XWPFVertAlign getVerticalAlignment() {
- XWPFVertAlign vAlign = null;
- CTTcPr tcpr = ctTc.getTcPr();
- if (tcpr != null) {
- CTVerticalJc va = tcpr.getVAlign();
- vAlign = stVertAlignTypeMap.get(va.getVal().intValue());
- }
- return vAlign;
- }
+ /**
+ * Get the vertical alignment of the cell.
+ *
+ * @return the cell alignment enum value or <code>null</code>
+ * if no vertical alignment is set.
+ */
+ public XWPFVertAlign getVerticalAlignment() {
+ XWPFVertAlign vAlign = null;
+ CTTcPr tcpr = ctTc.getTcPr();
+ if (tcpr != null) {
+ CTVerticalJc va = tcpr.getVAlign();
+ if (va != null && va.getVal() != null) {
+ vAlign = stVertAlignTypeMap.get(va.getVal().intValue());
+ }
+ }
+ return vAlign;
+ }
/**
* Set the vertical alignment of the cell.
Modified:
poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTableCell.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTableCell.java?rev=1731257&r1=1731256&r2=1731257&view=diff
==============================================================================
---
poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTableCell.java
(original)
+++
poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTableCell.java
Fri Feb 19 15:46:26 2016
@@ -19,8 +19,11 @@
package org.apache.poi.xwpf.usermodel;
+import java.util.List;
+
import junit.framework.TestCase;
+import org.apache.poi.xwpf.XWPFTestDataSamples;
import org.apache.poi.xwpf.usermodel.XWPFTableCell.XWPFVertAlign;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTHMerge;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTShd;
@@ -103,4 +106,20 @@ public class TestXWPFTableCell extends T
CTTcBorders tblBorders = tcPr.addNewTcBorders();
CTVMerge vMerge = tcPr.addNewVMerge();
}
+
+ public void testCellVerticalAlign() throws Exception{
+ XWPFDocument docx =
XWPFTestDataSamples.openSampleDocument("59030.docx");
+ List<XWPFTable> tables = docx.getTables();
+ assertEquals(1, tables.size());
+
+ XWPFTable table = tables.get(0);
+
+ List<XWPFTableRow> tableRows = table.getRows();
+ assertEquals(2, tableRows.size());
+
+ assertNull(tableRows.get(0).getCell(0).getVerticalAlignment());
+ assertEquals(XWPFVertAlign.BOTTOM,
tableRows.get(0).getCell(1).getVerticalAlignment());
+ assertEquals(XWPFVertAlign.CENTER,
tableRows.get(1).getCell(0).getVerticalAlignment());
+ assertNull(tableRows.get(1).getCell(1).getVerticalAlignment());
+ }
}
Added: poi/trunk/test-data/document/59030.docx
URL:
http://svn.apache.org/viewvc/poi/trunk/test-data/document/59030.docx?rev=1731257&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/test-data/document/59030.docx
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]