You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by on...@apache.org on 2016/09/22 07:50:33 UTC
svn commit: r1761861 - in /poi/trunk/src/ooxml:
java/org/apache/poi/xssf/usermodel/XSSFSheet.java
testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
Author: onealj
Date: Thu Sep 22 07:50:33 2016
New Revision: 1761861
URL: http://svn.apache.org/viewvc?rev=1761861&view=rev
Log:
bug 59687: correctly delete comments from rows when removing a row and the workbook contains empty rows above the deleted row; patch from Greg Woolsey
Modified:
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java?rev=1761861&r1=1761860&r2=1761861&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java Thu Sep 22 07:50:33 2016
@@ -1928,15 +1928,17 @@ public class XSSFSheet extends POIXMLDoc
}
// Performance optimization: explicit boxing is slightly faster than auto-unboxing, though may use more memory
- final Integer rownumI = new Integer(row.getRowNum()); // NOSONAR
- int idx = _rows.headMap(rownumI).size();
- _rows.remove(rownumI);
+ final int rowNum = row.getRowNum();
+ final Integer rowNumI = new Integer(rowNum); // NOSONAR
+ // this is not the physical row number!
+ final int idx = _rows.headMap(rowNumI).size();
+ _rows.remove(rowNumI);
worksheet.getSheetData().removeRow(idx);
// also remove any comment located in that row
if(sheetComments != null) {
for (CellAddress ref : getCellComments().keySet()) {
- if (ref.getRow() == idx) {
+ if (ref.getRow() == rowNum) {
sheetComments.removeComment(ref);
}
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java?rev=1761861&r1=1761860&r2=1761861&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java Thu Sep 22 07:50:33 2016
@@ -2022,8 +2022,7 @@ public final class TestXSSFSheet extends
}
// bug 59687: XSSFSheet.RemoveRow doesn't handle row gaps properly when removing row comments
- // This test is currently failing (thus expected AssertionError). When this bug is fixed, no error should be thrown.
- @Test(expected=AssertionError.class)
+ @Test
public void testRemoveRowWithCommentAndGapAbove() throws IOException {
final Workbook wb = _testDataProvider.openSampleWorkbook("59687.xlsx");
final Sheet sheet = wb.getSheetAt(0);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org