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