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/06/11 01:48:37 UTC
svn commit: r1747837 - in
/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel: XSSFRow.java
XSSFSheet.java
Author: onealj
Date: Sat Jun 11 01:48:37 2016
New Revision: 1747837
URL: http://svn.apache.org/viewvc?rev=1747837&view=rev
Log:
bug 57840: avoid auto-boxing ints for row/column TreeTable lookups (4% evaluation speedup at the cost of additional Integer objects); patch from Greg Woolsey
Modified:
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java?rev=1747837&r1=1747836&r2=1747837&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java Sat Jun 11 01:48:37 2016
@@ -72,7 +72,7 @@ public class XSSFRow implements Row, Com
_cells = new TreeMap<Integer, XSSFCell>();
for (CTCell c : row.getCArray()) {
XSSFCell cell = new XSSFCell(this, c);
- _cells.put(cell.getColumnIndex(), cell);
+ _cells.put(new Integer(cell.getColumnIndex()), cell);
sheet.onReadCell(cell);
}
}
@@ -198,7 +198,7 @@ public class XSSFRow implements Row, Com
*/
public XSSFCell createCell(int columnIndex, int type) {
CTCell ctCell;
- XSSFCell prev = _cells.get(columnIndex);
+ XSSFCell prev = _cells.get(new Integer(columnIndex));
if(prev != null){
ctCell = prev.getCTCell();
ctCell.set(CTCell.Factory.newInstance());
@@ -210,7 +210,7 @@ public class XSSFRow implements Row, Com
if (type != Cell.CELL_TYPE_BLANK) {
xcell.setCellType(type);
}
- _cells.put(columnIndex, xcell);
+ _cells.put(new Integer(columnIndex), xcell);
return xcell;
}
@@ -236,7 +236,7 @@ public class XSSFRow implements Row, Com
public XSSFCell getCell(int cellnum, MissingCellPolicy policy) {
if(cellnum < 0) throw new IllegalArgumentException("Cell index must be >= 0");
- XSSFCell cell = _cells.get(cellnum);
+ XSSFCell cell = _cells.get(new Integer(cellnum));
if(policy == RETURN_NULL_AND_BLANK) {
return cell;
}
@@ -455,7 +455,7 @@ public class XSSFRow implements Row, Com
if(cell.getCellType() == Cell.CELL_TYPE_FORMULA) {
_sheet.getWorkbook().onDeleteFormula(xcell);
}
- _cells.remove(cell.getColumnIndex());
+ _cells.remove(new Integer(cell.getColumnIndex()));
}
/**
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=1747837&r1=1747836&r2=1747837&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 Sat Jun 11 01:48:37 2016
@@ -222,7 +222,7 @@ public class XSSFSheet extends POIXMLDoc
arrayFormulas = new ArrayList<CellRangeAddress>();
for (CTRow row : worksheetParam.getSheetData().getRowArray()) {
XSSFRow r = new XSSFRow(row, this);
- _rows.put(r.getRowNum(), r);
+ _rows.put(new Integer(r.getRowNum()), r);
}
}
@@ -693,7 +693,7 @@ public class XSSFSheet extends POIXMLDoc
@Override
public XSSFRow createRow(int rownum) {
CTRow ctRow;
- XSSFRow prev = _rows.get(rownum);
+ XSSFRow prev = _rows.get(new Integer(rownum));
if(prev != null){
// the Cells in an existing row are invalidated on-purpose, in order to clean up correctly, we
// need to call the remove, so things like ArrayFormulas and CalculationChain updates are done
@@ -713,13 +713,13 @@ public class XSSFSheet extends POIXMLDoc
} else {
// get number of rows where row index < rownum
// --> this tells us where our row should go
- int idx = _rows.headMap(rownum).size();
+ int idx = _rows.headMap(new Integer(rownum)).size();
ctRow = worksheet.getSheetData().insertNewRow(idx);
}
}
XSSFRow r = new XSSFRow(ctRow, this);
r.setRowNum(rownum);
- _rows.put(rownum, r);
+ _rows.put(new Integer(rownum), r);
return r;
}
@@ -1377,7 +1377,7 @@ public class XSSFSheet extends POIXMLDoc
*/
@Override
public XSSFRow getRow(int rownum) {
- return _rows.get(rownum);
+ return _rows.get(new Integer(rownum));
}
/**
@@ -1406,7 +1406,7 @@ public class XSSFSheet extends POIXMLDoc
}
}
else {
- rows.addAll(_rows.subMap(startRowNum, endRowNum+1).values());
+ rows.addAll(_rows.subMap(new Integer(startRowNum), new Integer(endRowNum+1)).values());
}
return rows;
}
@@ -1876,8 +1876,8 @@ public class XSSFSheet extends POIXMLDoc
row.removeCell(cell);
}
- int idx = _rows.headMap(row.getRowNum()).size();
- _rows.remove(row.getRowNum());
+ int idx = _rows.headMap(new Integer(row.getRowNum())).size();
+ _rows.remove(new Integer(row.getRowNum()));
worksheet.getSheetData().removeRow(idx);
// also remove any comment located in that row
@@ -2893,7 +2893,7 @@ public class XSSFSheet extends POIXMLDoc
// check if we should remove this row as it will be overwritten by the data later
if (shouldRemoveRow(startRow, endRow, n, rownum)) {
// remove row from worksheet.getSheetData row array
- int idx = _rows.headMap(row.getRowNum()).size();
+ int idx = _rows.headMap(new Integer(row.getRowNum())).size();
worksheet.getSheetData().removeRow(idx);
// remove row from _rows
@@ -3012,7 +3012,7 @@ public class XSSFSheet extends POIXMLDoc
//rebuild the _rows map
SortedMap<Integer, XSSFRow> map = new TreeMap<Integer, XSSFRow>();
for(XSSFRow r : _rows.values()) {
- map.put(r.getRowNum(), r);
+ map.put(new Integer(r.getRowNum()), r);
}
_rows = map;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org