You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ye...@apache.org on 2009/04/20 18:50:05 UTC

svn commit: r766750 - in /poi/trunk/src: ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java testcases/org/apache/poi/ss/usermodel/BaseTestCell.java

Author: yegor
Date: Mon Apr 20 16:50:05 2009
New Revision: 766750

URL: http://svn.apache.org/viewvc?rev=766750&view=rev
Log:
avoid NPE when calling XSSF.setCellFormula(null) for a non-formula cell

Modified:
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java
    poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java?rev=766750&r1=766749&r2=766750&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java Mon Apr 20 16:50:05 2009
@@ -359,9 +359,9 @@
      */
     public void setCellFormula(String formula) {
         XSSFWorkbook wb = row.getSheet().getWorkbook();
-        if (formula == null && cell.isSetF()) {
+        if (formula == null) {
             wb.onDeleteFormula(this);
-            cell.unsetF();
+            if(cell.isSetF()) cell.unsetF();
             return;
         }
 

Modified: poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java?rev=766750&r1=766749&r2=766750&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java Mon Apr 20 16:50:05 2009
@@ -265,7 +265,13 @@
 		assertEquals("I changed!", c2.getStringCellValue());
 		assertEquals(Cell.CELL_TYPE_FORMULA, c2.getCellType());
 		assertEquals(Cell.CELL_TYPE_STRING, c2.getCachedFormulaResultType());
-	}
+
+        //calglin Cell.setCellFormula(null) for a non-formula cell
+        Cell c3 = r.createCell(2);
+        c3.setCellFormula(null);
+        assertEquals(Cell.CELL_TYPE_BLANK, c3.getCellType());
+
+    }
 	private Cell createACell() {
 		return _testDataProvider.createWorkbook().createSheet("Sheet1").createRow(0).createCell(0);
 	}



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