]> source.dussan.org Git - poi.git/commitdiff
bug 57840: avoid auto-boxing ints for row/column TreeTable lookups (4% evaluation...
authorJaven O'Neal <onealj@apache.org>
Sat, 11 Jun 2016 01:48:37 +0000 (01:48 +0000)
committerJaven O'Neal <onealj@apache.org>
Sat, 11 Jun 2016 01:48:37 +0000 (01:48 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1747837 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java

index 5c8b385b76e16d0ba0f80911e694f8bfc1a9fa03..13b15bf28c565241c8b0c7b73a58c305714fda5d 100644 (file)
@@ -72,7 +72,7 @@ public class XSSFRow implements Row, Comparable<XSSFRow> {
         _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, Comparable<XSSFRow> {
      */
     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, Comparable<XSSFRow> {
         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, Comparable<XSSFRow> {
     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, Comparable<XSSFRow> {
         if(cell.getCellType() == Cell.CELL_TYPE_FORMULA) {
            _sheet.getWorkbook().onDeleteFormula(xcell);
         }
-        _cells.remove(cell.getColumnIndex());
+        _cells.remove(new Integer(cell.getColumnIndex()));
     }
 
     /**
index a328f2ad936e8dcc0198baaa36bb490531c9804d..f8c9724f29471baf4724b9205108f494caa7dc6c 100644 (file)
@@ -222,7 +222,7 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
         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 POIXMLDocumentPart implements Sheet {
     @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 POIXMLDocumentPart implements Sheet {
             } 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 POIXMLDocumentPart implements Sheet {
      */
     @Override
     public XSSFRow getRow(int rownum) {
-        return _rows.get(rownum);
+        return _rows.get(new Integer(rownum));
     }
     
     /**
@@ -1406,7 +1406,7 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
             }
         }
         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 POIXMLDocumentPart implements Sheet {
             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 POIXMLDocumentPart implements Sheet {
             // 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 POIXMLDocumentPart implements Sheet {
         //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;
     }