]> source.dussan.org Git - poi.git/commitdiff
Allow common tests to do auto-sizing even on SXSSF
authorNick Burch <nick@apache.org>
Thu, 11 Feb 2016 15:13:01 +0000 (15:13 +0000)
committerNick Burch <nick@apache.org>
Thu, 11 Feb 2016 15:13:01 +0000 (15:13 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1729848 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/testcases/org/apache/poi/xssf/SXSSFITestDataProvider.java
src/ooxml/testcases/org/apache/poi/xssf/XSSFITestDataProvider.java
src/testcases/org/apache/poi/hssf/HSSFITestDataProvider.java
src/testcases/org/apache/poi/ss/ITestDataProvider.java

index 2e507d082180843ca46743b696c1ff24e61d2cae..04da561e0491e13dd4b95d235072eebec4582032 100644 (file)
@@ -30,7 +30,9 @@ import org.apache.poi.POIDataSamples;
 import org.apache.poi.ss.ITestDataProvider;
 import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.usermodel.FormulaEvaluator;
+import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.streaming.SXSSFSheet;
 import org.apache.poi.xssf.streaming.SXSSFWorkbook;
 import org.apache.poi.xssf.usermodel.XSSFFormulaEvaluator;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@@ -85,6 +87,13 @@ public final class SXSSFITestDataProvider implements ITestDataProvider {
         return wb;
     }
     
+    @Override
+    public void trackColumnsForAutosizing(Sheet sheet, int...columns) {
+        for (int cn : columns) {
+            ((SXSSFSheet)sheet).trackColumnForAutoSizing(cn);
+        }
+    }
+    
     @Override
     public FormulaEvaluator createFormulaEvaluator(Workbook wb) {
         return new XSSFFormulaEvaluator(((SXSSFWorkbook) wb).getXSSFWorkbook());
index 3ceac02a57e5ad7f1e4a81c58fc8928b5436eb57..ef9e8836f787bbcb7d7c140a105825b6893e5575 100644 (file)
@@ -21,6 +21,7 @@ import org.apache.poi.POIDataSamples;
 import org.apache.poi.ss.ITestDataProvider;
 import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.usermodel.FormulaEvaluator;
+import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.xssf.usermodel.XSSFFormulaEvaluator;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@@ -53,6 +54,9 @@ public final class XSSFITestDataProvider implements ITestDataProvider {
         return new XSSFWorkbook();
     }
     
+    @Override
+    public void trackColumnsForAutosizing(Sheet sheet, int...columns) {}
+   
     @Override
     public FormulaEvaluator createFormulaEvaluator(Workbook wb) {
         return new XSSFFormulaEvaluator((XSSFWorkbook) wb);
index 20ec0965b3fca5648be33ababd3154488b5cf262..ffbb828d2c92b1a5eeb1fb20903585e425f0737f 100644 (file)
@@ -25,6 +25,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.ITestDataProvider;
 import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.usermodel.FormulaEvaluator;
+import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
 
 /**
@@ -59,6 +60,9 @@ public final class HSSFITestDataProvider implements ITestDataProvider {
         return new HSSFWorkbook();
     }
     
+    @Override
+    public void trackColumnsForAutosizing(Sheet sheet, int...columns) {}
+    
     @Override
     public FormulaEvaluator createFormulaEvaluator(Workbook wb) {
         return new HSSFFormulaEvaluator((HSSFWorkbook) wb);
index 98d90e10386cc6debb1fd82b186d08505ce84ac7..4be5d25a2ad8b7a14572763a1e233b1670f69cb7 100644 (file)
@@ -18,6 +18,7 @@
 package org.apache.poi.ss;
 
 import org.apache.poi.ss.usermodel.FormulaEvaluator;
+import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
 
 /**
@@ -45,6 +46,12 @@ public interface ITestDataProvider {
      * @return an instance of Workbook
      */
     Workbook createWorkbook();
+    
+    /**
+     * Only matters for SXSSF - enables tracking of the column
+     *  widths so that autosizing can work. No-op on others.
+     */
+    void trackColumnsForAutosizing(Sheet sheet, int...columns);
 
     /**
      * Creates the corresponding {@link FormulaEvaluator} for the