import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
+import java.util.List;
import org.apache.poi.POIDataSamples;
import org.apache.poi.ss.ITestDataProvider;
public final class SXSSFITestDataProvider implements ITestDataProvider {
public static final SXSSFITestDataProvider instance = new SXSSFITestDataProvider();
- private ArrayList<SXSSFWorkbook> instances = new ArrayList<SXSSFWorkbook>();
+ // an instance of all SXSSFWorkbooks opened by this TestDataProvider,
+ // so that the temporary files created can be disposed up by cleanup()
+ private final List<SXSSFWorkbook> instances = new ArrayList<SXSSFWorkbook>();
private SXSSFITestDataProvider() {
// enforce singleton
// enforce singleton
}
+ @Override
public XSSFWorkbook openSampleWorkbook(String sampleFileName) {
return XSSFTestDataSamples.openSampleWorkbook(sampleFileName);
}
+ @Override
public XSSFWorkbook writeOutAndReadBack(Workbook original) {
if(!(original instanceof XSSFWorkbook)) {
throw new IllegalArgumentException("Expected an instance of XSSFWorkbook, but had " + original.getClass());
return XSSFTestDataSamples.writeOutAndReadBack((XSSFWorkbook)original);
}
- public XSSFWorkbook createWorkbook(){
+ @Override
+ public XSSFWorkbook createWorkbook() {
return new XSSFWorkbook();
}
+ @Override
public FormulaEvaluator createFormulaEvaluator(Workbook wb) {
return new XSSFFormulaEvaluator((XSSFWorkbook) wb);
}
+ @Override
public byte[] getTestDataFileContent(String fileName) {
return POIDataSamples.getSpreadSheetInstance().readFile(fileName);
}
+ @Override
public SpreadsheetVersion getSpreadsheetVersion(){
return SpreadsheetVersion.EXCEL2007;
}
+ @Override
public String getStandardFileNameExtension() {
return "xlsx";
}
// enforce singleton
}
+ @Override
public HSSFWorkbook openSampleWorkbook(String sampleFileName) {
return HSSFTestDataSamples.openSampleWorkbook(sampleFileName);
}
+
public InputStream openWorkbookStream(String sampleFileName) {
return HSSFTestDataSamples.openSampleFileStream(sampleFileName);
}
+ @Override
public HSSFWorkbook writeOutAndReadBack(Workbook original) {
if(!(original instanceof HSSFWorkbook)) {
throw new IllegalArgumentException("Expected an instance of HSSFWorkbook");
return HSSFTestDataSamples.writeOutAndReadBack((HSSFWorkbook)original);
}
+ @Override
public HSSFWorkbook createWorkbook(){
return new HSSFWorkbook();
}
+ @Override
public FormulaEvaluator createFormulaEvaluator(Workbook wb) {
return new HSSFFormulaEvaluator((HSSFWorkbook) wb);
}
+ @Override
public byte[] getTestDataFileContent(String fileName) {
return POIDataSamples.getSpreadSheetInstance().readFile(fileName);
}
+ @Override
public SpreadsheetVersion getSpreadsheetVersion(){
return SpreadsheetVersion.EXCEL97;
}
+ @Override
public String getStandardFileNameExtension() {
return "xls";
}