aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Beeker <kiwiwings@apache.org>2017-01-15 23:08:47 +0000
committerAndreas Beeker <kiwiwings@apache.org>2017-01-15 23:08:47 +0000
commit3cf6c40004a3beb5d8855478fb202429c25a1555 (patch)
tree0119eff3108bb6799526a55c04568a99abee930b
parentd2d885990fea477e9efdae8858989350904e1c44 (diff)
downloadpoi-3cf6c40004a3beb5d8855478fb202429c25a1555.tar.gz
poi-3cf6c40004a3beb5d8855478fb202429c25a1555.zip
fix eclipse warnings - close resources / type generics
cleanup sources - add parenthesis to statements git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1778955 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--src/examples/src/org/apache/poi/ss/examples/AddDimensionedImage.java4
-rw-r--r--src/examples/src/org/apache/poi/xssf/usermodel/examples/CellComments.java21
-rw-r--r--src/examples/src/org/apache/poi/xssf/usermodel/examples/WorkingWithPictures.java26
-rw-r--r--src/integrationtest/org/apache/poi/stress/HDGFFileHandler.java5
-rw-r--r--src/java/org/apache/poi/hssf/extractor/OldExcelExtractor.java7
-rw-r--r--src/java/org/apache/poi/ss/usermodel/Cell.java11
-rw-r--r--src/java/org/apache/poi/ss/usermodel/Sheet.java4
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFSheet.java40
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/model/TestCommentsTable.java6
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java19
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFComment.java15
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java12
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartLegend.java42
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartTitle.java53
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFLineChartData.java15
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFManualLayout.java63
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFScatterChartData.java15
-rw-r--r--src/ooxml/testcases/org/apache/poi/xwpf/TestDocumentProtection.java59
-rw-r--r--src/scratchpad/src/org/apache/poi/hslf/extractor/PowerPointExtractor.java7
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hdgf/streams/StreamTest.java9
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hdgf/streams/TestStreamBasics.java103
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hdgf/streams/TestStreamBugs.java34
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hdgf/streams/TestStreamComplex.java46
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hpbf/model/TestEscherParts.java49
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hslf/extractor/TestExtractor.java308
-rw-r--r--src/testcases/org/apache/poi/hssf/extractor/TestOldExcelExtractor.java80
-rw-r--r--src/testcases/org/apache/poi/hssf/model/TestDrawingAggregate.java33
-rw-r--r--src/testcases/org/apache/poi/hssf/record/TestStringRecord.java32
-rw-r--r--src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java11
-rw-r--r--src/testcases/org/apache/poi/hssf/usermodel/TestPolygon.java2
-rw-r--r--src/testcases/org/apache/poi/hssf/usermodel/TestText.java2
-rw-r--r--src/testcases/org/apache/poi/poifs/storage/RawDataUtil.java33
-rw-r--r--src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java57
-rw-r--r--src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java6
-rw-r--r--src/testcases/org/apache/poi/ss/usermodel/BaseTestCellComment.java12
-rw-r--r--src/testcases/org/apache/poi/ss/usermodel/BaseTestPicture.java2
-rw-r--r--src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java4
-rw-r--r--src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java5
38 files changed, 707 insertions, 545 deletions
diff --git a/src/examples/src/org/apache/poi/ss/examples/AddDimensionedImage.java b/src/examples/src/org/apache/poi/ss/examples/AddDimensionedImage.java
index a9099f5756..227216df0d 100644
--- a/src/examples/src/org/apache/poi/ss/examples/AddDimensionedImage.java
+++ b/src/examples/src/org/apache/poi/ss/examples/AddDimensionedImage.java
@@ -269,7 +269,7 @@ public class AddDimensionedImage {
* to the resizeBehaviour
* parameter.
*/
- public void addImageToSheet(String cellNumber, Sheet sheet, Drawing drawing,
+ public void addImageToSheet(String cellNumber, Sheet sheet, Drawing<?> drawing,
URL imageFile, double reqImageWidthMM, double reqImageHeightMM,
int resizeBehaviour) throws IOException, IllegalArgumentException {
// Convert the String into column and row indices then chain the
@@ -329,7 +329,7 @@ public class AddDimensionedImage {
* it is of a type that cannot
* currently be added to the worksheet.
*/
- public void addImageToSheet(int colNumber, int rowNumber, Sheet sheet, Drawing drawing,
+ public void addImageToSheet(int colNumber, int rowNumber, Sheet sheet, Drawing<?> drawing,
URL imageFile, double reqImageWidthMM, double reqImageHeightMM,
int resizeBehaviour) throws IOException,
IllegalArgumentException {
diff --git a/src/examples/src/org/apache/poi/xssf/usermodel/examples/CellComments.java b/src/examples/src/org/apache/poi/xssf/usermodel/examples/CellComments.java
index a94e58a342..ffc3ff5236 100644
--- a/src/examples/src/org/apache/poi/xssf/usermodel/examples/CellComments.java
+++ b/src/examples/src/org/apache/poi/xssf/usermodel/examples/CellComments.java
@@ -16,13 +16,22 @@
==================================================================== */
package org.apache.poi.xssf.usermodel.examples;
-import org.apache.poi.ss.usermodel.*;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.ClientAnchor;
+import org.apache.poi.ss.usermodel.Comment;
+import org.apache.poi.ss.usermodel.CreationHelper;
+import org.apache.poi.ss.usermodel.Drawing;
+import org.apache.poi.ss.usermodel.Font;
+import org.apache.poi.ss.usermodel.IndexedColors;
+import org.apache.poi.ss.usermodel.RichTextString;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellAddress;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import java.io.IOException;
-import java.io.FileOutputStream;
-
/**
* Demonstrates how to work with excel cell comments.
*
@@ -44,7 +53,7 @@ public class CellComments {
Cell cell1 = sheet.createRow(3).createCell(5);
cell1.setCellValue("F4");
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
ClientAnchor anchor = factory.createClientAnchor();
@@ -63,7 +72,7 @@ public class CellComments {
Font font = wb.createFont();
font.setFontName("Arial");
font.setFontHeightInPoints((short)14);
- font.setBoldweight(Font.BOLDWEIGHT_BOLD);
+ font.setBold(true);
font.setColor(IndexedColors.RED.getIndex());
str2.applyFont(font);
diff --git a/src/examples/src/org/apache/poi/xssf/usermodel/examples/WorkingWithPictures.java b/src/examples/src/org/apache/poi/xssf/usermodel/examples/WorkingWithPictures.java
index e7aeaaac11..34735b7c87 100644
--- a/src/examples/src/org/apache/poi/xssf/usermodel/examples/WorkingWithPictures.java
+++ b/src/examples/src/org/apache/poi/xssf/usermodel/examples/WorkingWithPictures.java
@@ -17,20 +17,23 @@
package org.apache.poi.xssf.usermodel.examples;
-import org.apache.poi.xssf.usermodel.*;
-import org.apache.poi.ss.usermodel.*;
-import org.apache.poi.util.IOUtils;
-
-import java.io.IOException;
-import java.io.InputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
import java.io.OutputStream;
+import org.apache.poi.ss.usermodel.ClientAnchor;
+import org.apache.poi.ss.usermodel.CreationHelper;
+import org.apache.poi.ss.usermodel.Drawing;
+import org.apache.poi.ss.usermodel.Picture;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.util.IOUtils;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
/**
* Demonstrates how to insert pictures in a SpreadsheetML document
- *
- * @author Yegor Kozlov
*/
public class WorkingWithPictures {
public static void main(String[] args) throws IOException {
@@ -50,7 +53,7 @@ public class WorkingWithPictures {
Sheet sheet = wb.createSheet();
//create drawing
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
//add a picture shape
ClientAnchor anchor = helper.createClientAnchor();
@@ -63,7 +66,10 @@ public class WorkingWithPictures {
//save workbook
String file = "picture.xls";
- if(wb instanceof XSSFWorkbook) file += "x"; // NOSONAR
+ if(wb instanceof XSSFWorkbook)
+ {
+ file += "x"; // NOSONAR
+ }
OutputStream fileOut = new FileOutputStream(file);
try {
wb.write(fileOut);
diff --git a/src/integrationtest/org/apache/poi/stress/HDGFFileHandler.java b/src/integrationtest/org/apache/poi/stress/HDGFFileHandler.java
index eb0e1b6c06..758a3ad294 100644
--- a/src/integrationtest/org/apache/poi/stress/HDGFFileHandler.java
+++ b/src/integrationtest/org/apache/poi/stress/HDGFFileHandler.java
@@ -21,6 +21,7 @@ import static org.junit.Assert.assertTrue;
import java.io.File;
import java.io.FileInputStream;
+import java.io.IOException;
import java.io.InputStream;
import org.apache.poi.hdgf.HDGFDiagram;
@@ -32,7 +33,7 @@ import org.junit.Test;
public class HDGFFileHandler extends POIFSFileHandler {
@Override
- public void handleFile(InputStream stream) throws Exception {
+ public void handleFile(InputStream stream) throws IOException {
POIFSFileSystem poifs = new POIFSFileSystem(stream);
HDGFDiagram diagram = new HDGFDiagram(poifs);
Stream[] topLevelStreams = diagram.getTopLevelStreams();
@@ -44,7 +45,7 @@ public class HDGFFileHandler extends POIFSFileHandler {
TrailerStream trailerStream = diagram.getTrailerStream();
assertNotNull(trailerStream);
assertTrue(trailerStream.getPointer().getLength() >= 0);
-
+ diagram.close();
poifs.close();
// writing is not yet implemented... handlePOIDocument(diagram);
diff --git a/src/java/org/apache/poi/hssf/extractor/OldExcelExtractor.java b/src/java/org/apache/poi/hssf/extractor/OldExcelExtractor.java
index 3d6bc3515c..922db321c7 100644
--- a/src/java/org/apache/poi/hssf/extractor/OldExcelExtractor.java
+++ b/src/java/org/apache/poi/hssf/extractor/OldExcelExtractor.java
@@ -161,7 +161,7 @@ public class OldExcelExtractor implements Closeable {
prepare();
}
- public static void main(String[] args) throws Exception {
+ public static void main(String[] args) throws IOException {
if (args.length < 1) {
System.err.println("Use:");
System.err.println(" OldExcelExtractor <filename>");
@@ -173,8 +173,9 @@ public class OldExcelExtractor implements Closeable {
}
private void prepare() {
- if (! ris.hasNextRecord())
- throw new IllegalArgumentException("File contains no records!");
+ if (! ris.hasNextRecord()) {
+ throw new IllegalArgumentException("File contains no records!");
+ }
ris.nextRecord();
// Work out what version we're dealing with
diff --git a/src/java/org/apache/poi/ss/usermodel/Cell.java b/src/java/org/apache/poi/ss/usermodel/Cell.java
index a6f4f6387b..7b1637eeb5 100644
--- a/src/java/org/apache/poi/ss/usermodel/Cell.java
+++ b/src/java/org/apache/poi/ss/usermodel/Cell.java
@@ -19,11 +19,11 @@ package org.apache.poi.ss.usermodel;
import java.util.Calendar;
import java.util.Date;
+import java.util.Map;
import org.apache.poi.ss.formula.FormulaParseException;
import org.apache.poi.ss.util.CellAddress;
import org.apache.poi.ss.util.CellRangeAddress;
-import org.apache.poi.util.Internal;
import org.apache.poi.util.Removal;
/**
@@ -47,6 +47,7 @@ public interface Cell {
* @see #getCellType()
* @deprecated POI 3.15 beta 3. Use {@link CellType#NUMERIC} instead.
*/
+ @Deprecated
@Removal(version="4.0")
int CELL_TYPE_NUMERIC = 0; //CellType.NUMERIC.getCode();
@@ -56,6 +57,7 @@ public interface Cell {
* @see #getCellType()
* @deprecated POI 3.15 beta 3. Use {@link CellType#STRING} instead.
*/
+ @Deprecated
@Removal(version="4.0")
int CELL_TYPE_STRING = 1; //CellType.STRING.getCode();
@@ -65,6 +67,7 @@ public interface Cell {
* @see #getCellType()
* @deprecated POI 3.15 beta 3. Use {@link CellType#FORMULA} instead.
*/
+ @Deprecated
@Removal(version="4.0")
int CELL_TYPE_FORMULA = 2; //CellType.FORMULA.getCode();
@@ -74,6 +77,7 @@ public interface Cell {
* @see #getCellType()
* @deprecated POI 3.15 beta 3. Use {@link CellType#BLANK} instead.
*/
+ @Deprecated
@Removal(version="4.0")
int CELL_TYPE_BLANK = 3; //CellType.BLANK.getCode();
@@ -83,6 +87,7 @@ public interface Cell {
* @see #getCellType()
* @deprecated POI 3.15 beta 3. Use {@link CellType#BOOLEAN} instead.
*/
+ @Deprecated
@Removal(version="4.0")
int CELL_TYPE_BOOLEAN = 4; //CellType.BOOLEAN.getCode();
@@ -92,6 +97,7 @@ public interface Cell {
* @see #getCellType()
* @deprecated POI 3.15 beta 3. Use {@link CellType#ERROR} instead.
*/
+ @Deprecated
@Removal(version="4.0")
int CELL_TYPE_ERROR = 5; //CellType.ERROR.getCode();
@@ -143,6 +149,7 @@ public interface Cell {
* @see CellType#ERROR
* @deprecated POI 3.15 beta 3. Use {@link #setCellType(CellType)} instead.
*/
+ @Deprecated
@Removal(version="4.0")
void setCellType(int cellType);
/**
@@ -169,6 +176,7 @@ public interface Cell {
* @return the cell type
* @deprecated POI 3.15. Will return a {@link CellType} enum in the future.
*/
+ @Deprecated
int getCellType();
/**
@@ -192,6 +200,7 @@ public interface Cell {
* on the cached value of the formula
* @deprecated 3.15. Will return a {@link CellType} enum in the future.
*/
+ @Deprecated
int getCachedFormulaResultType();
/**
diff --git a/src/java/org/apache/poi/ss/usermodel/Sheet.java b/src/java/org/apache/poi/ss/usermodel/Sheet.java
index 4c171ff2cc..e21aeafd86 100644
--- a/src/java/org/apache/poi/ss/usermodel/Sheet.java
+++ b/src/java/org/apache/poi/ss/usermodel/Sheet.java
@@ -972,7 +972,7 @@ public interface Sheet extends Iterable<Row> {
*
* @return a SpreadsheetML drawing
*/
- Drawing getDrawingPatriarch();
+ Drawing<?> getDrawingPatriarch();
/**
* Creates the top-level drawing patriarch.
@@ -982,7 +982,7 @@ public interface Sheet extends Iterable<Row> {
*
* @return The new drawing patriarch.
*/
- Drawing createDrawingPatriarch();
+ Drawing<?> createDrawingPatriarch();
/**
diff --git a/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFSheet.java b/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFSheet.java
index 2c9fb6e372..6f85aad49f 100644
--- a/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFSheet.java
+++ b/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFSheet.java
@@ -33,7 +33,6 @@ import org.apache.poi.ss.usermodel.CellRange;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.DataValidation;
import org.apache.poi.ss.usermodel.DataValidationHelper;
-import org.apache.poi.ss.usermodel.Drawing;
import org.apache.poi.ss.usermodel.Footer;
import org.apache.poi.ss.usermodel.Header;
import org.apache.poi.ss.usermodel.PrintSetup;
@@ -51,6 +50,7 @@ import org.apache.poi.util.Removal;
import org.apache.poi.xssf.usermodel.XSSFColor;
import org.apache.poi.xssf.usermodel.XSSFComment;
import org.apache.poi.xssf.usermodel.XSSFDataValidation;
+import org.apache.poi.xssf.usermodel.XSSFDrawing;
import org.apache.poi.xssf.usermodel.XSSFHyperlink;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetFormatPr;
@@ -207,8 +207,9 @@ public class SXSSFSheet implements Sheet
@Override
public int getFirstRowNum()
{
- if(_writer.getNumberOfFlushedRows() > 0)
+ if(_writer.getNumberOfFlushedRows() > 0) {
return _writer.getLowestIndexOfFlushedRows();
+ }
return _rows.size() == 0 ? 0 : _rows.firstKey();
}
@@ -875,6 +876,7 @@ public class SXSSFSheet implements Sheet
* @param denominator The denominator for the zoom magnification.
* @deprecated 2015-11-23 (circa POI 3.14beta1). Use {@link #setZoom(int)} instead.
*/
+ @Deprecated
@Removal(version="3.16")
@Override
public void setZoom(int numerator, int denominator)
@@ -1293,7 +1295,9 @@ public class SXSSFSheet implements Sheet
int level = row.getOutlineLevel() + 1;
row.setOutlineLevel(level);
- if(level > outlineLevelRow) outlineLevelRow = level;
+ if(level > outlineLevelRow) {
+ outlineLevelRow = level;
+ }
}
setWorksheetOutlineLevelRow();
@@ -1328,7 +1332,9 @@ public class SXSSFSheet implements Sheet
CTSheetFormatPr pr = ct.isSetSheetFormatPr() ?
ct.getSheetFormatPr() :
ct.addNewSheetFormatPr();
- if(outlineLevelRow > 0) pr.setOutlineLevelRow((short)outlineLevelRow);
+ if(outlineLevelRow > 0) {
+ pr.setOutlineLevelRow((short)outlineLevelRow);
+ }
}
/**
@@ -1397,8 +1403,9 @@ public class SXSSFSheet implements Sheet
}
int currentRow = rowIndex;
while (getRow(currentRow) != null) {
- if (getRow(currentRow).getOutlineLevel() < level)
+ if (getRow(currentRow).getOutlineLevel() < level) {
return currentRow + 1;
+ }
currentRow--;
}
return currentRow + 1;
@@ -1626,6 +1633,8 @@ public class SXSSFSheet implements Sheet
* @return cell comment or <code>null</code> if not found
* @deprecated as of 2015-11-23 (circa POI 3.14beta1). Use {@link #getCellComment(CellAddress)} instead.
*/
+ @Deprecated
+ @Removal(version="3.16")
@Override
public XSSFComment getCellComment(int row, int column)
{
@@ -1691,7 +1700,7 @@ public class SXSSFSheet implements Sheet
* {@inheritDoc}
*/
@Override
- public Drawing getDrawingPatriarch()
+ public XSSFDrawing getDrawingPatriarch()
{
return _sh.getDrawingPatriarch();
}
@@ -1702,9 +1711,9 @@ public class SXSSFSheet implements Sheet
* @return The new drawing patriarch.
*/
@Override
- public Drawing createDrawingPatriarch()
+ public SXSSFDrawing createDrawingPatriarch()
{
- return new SXSSFDrawing((SXSSFWorkbook)getWorkbook(), _sh.createDrawingPatriarch());
+ return new SXSSFDrawing(getWorkbook(), _sh.createDrawingPatriarch());
}
@@ -1868,8 +1877,12 @@ public class SXSSFSheet implements Sheet
*/
public void flushRows(int remaining) throws IOException
{
- while(_rows.size() > remaining) flushOneRow();
- if (remaining == 0) allFlushed = true;
+ while(_rows.size() > remaining) {
+ flushOneRow();
+ }
+ if (remaining == 0) {
+ allFlushed = true;
+ }
}
/**
@@ -1907,8 +1920,9 @@ public class SXSSFSheet implements Sheet
for(Iterator<Map.Entry<Integer,SXSSFRow>> iter=_rows.entrySet().iterator();iter.hasNext();)
{
Map.Entry<Integer,SXSSFRow> entry=iter.next();
- if(entry.getValue()==row)
+ if(entry.getValue()==row) {
return entry.getKey().intValue();
+ }
}
return -1;
}
@@ -1918,7 +1932,9 @@ public class SXSSFSheet implements Sheet
* @return true if the file was deleted, false if it wasn't.
*/
boolean dispose() throws IOException {
- if (!allFlushed) flushRows();
+ if (!allFlushed) {
+ flushRows();
+ }
return _writer.dispose();
}
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/model/TestCommentsTable.java b/src/ooxml/testcases/org/apache/poi/xssf/model/TestCommentsTable.java
index 1c03b97316..4ebd5387d9 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/model/TestCommentsTable.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/model/TestCommentsTable.java
@@ -144,7 +144,7 @@ public class TestCommentsTable {
Cell c1r2s2 = r2s2.createCell(1);
assertNull(c1r2s2.getCellComment());
- Drawing dg = sheet2.createDrawingPatriarch();
+ Drawing<?> dg = sheet2.createDrawingPatriarch();
Comment cc2 = dg.createCellComment(new XSSFClientAnchor());
cc2.setAuthor("Also POI");
cc2.setString(new XSSFRichTextString("A new comment"));
@@ -256,7 +256,7 @@ public class TestCommentsTable {
// NOTE - only occurs if a comment is placed in A1 first
Cell A1 = getCell(sheet, 0, 0);
//Cell A1 = getCell(sheet, 2, 2);
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
setComment(sheet, A1, drawing, "for A1", helper, anchor);
// find comment in A1 before we set the comment in B2
@@ -282,7 +282,7 @@ public class TestCommentsTable {
// Set the comment on a sheet
//
- private static void setComment(Sheet sheet, Cell cell, Drawing drawing, String commentText, CreationHelper helper, ClientAnchor anchor) {
+ private static void setComment(Sheet sheet, Cell cell, Drawing<?> drawing, String commentText, CreationHelper helper, ClientAnchor anchor) {
System.out.println("Setting col: " + cell.getColumnIndex() + " and row " + cell.getRowIndex());
anchor.setCol1(cell.getColumnIndex());
anchor.setCol2(cell.getColumnIndex());
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
index 6cf7003ceb..decd3b6b37 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
@@ -25,7 +25,14 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import java.io.*;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.util.Arrays;
import java.util.Calendar;
import java.util.HashMap;
@@ -57,6 +64,7 @@ import org.apache.poi.openxml4j.opc.PackagingURIHelper;
import org.apache.poi.openxml4j.util.ZipSecureFile;
import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
+import org.apache.poi.ss.SpreadsheetVersion;
import org.apache.poi.ss.formula.WorkbookEvaluator;
import org.apache.poi.ss.formula.eval.ErrorEval;
import org.apache.poi.ss.formula.eval.NumberEval;
@@ -1277,7 +1285,7 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
// Try to add comments to Sheet 1
CreationHelper factory = wb1.getCreationHelper();
- Drawing drawing = sh1.createDrawingPatriarch();
+ Drawing<?> drawing = sh1.createDrawingPatriarch();
ClientAnchor anchor = factory.createClientAnchor();
anchor.setCol1(0);
@@ -1336,8 +1344,7 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
Name name = wb.getName("Intekon.ProdCodes");
assertEquals("'Abc,1'!$A$1:$A$2", name.getRefersToFormula());
- @SuppressWarnings("deprecation")
- AreaReference ref = new AreaReference(name.getRefersToFormula());
+ AreaReference ref = new AreaReference(name.getRefersToFormula(), SpreadsheetVersion.EXCEL2007);
assertEquals(0, ref.getFirstCell().getRow());
assertEquals(0, ref.getFirstCell().getCol());
assertEquals(1, ref.getLastCell().getRow());
@@ -2312,7 +2319,7 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
assertNotNull(orig);
Sheet sheet = wb.cloneSheet(0);
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
for (XSSFShape shape : ((XSSFDrawing) drawing).getShapes()) {
if (shape instanceof XSSFPicture) {
XSSFPictureData pictureData = ((XSSFPicture) shape).getPictureData();
@@ -2991,7 +2998,7 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
XSSFColor color = new XSSFColor(java.awt.Color.RED);
XSSFCellStyle style = workbook.createCellStyle();
style.setFillForegroundColor(color);
- style.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND);
+ style.setFillPattern(CellStyle.SOLID_FOREGROUND);
cell.setCellStyle(style);
// Everything is fine at this point, cell is red
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFComment.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFComment.java
index dac2095ae6..fd153a77af 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFComment.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFComment.java
@@ -18,9 +18,15 @@
package org.apache.poi.xssf.usermodel;
import static org.apache.poi.xssf.usermodel.XSSFRelation.NS_SPREADSHEETML;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.fail;
-import java.io.*;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.ss.usermodel.BaseTestCellComment;
@@ -48,9 +54,6 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRPrElt;
import com.microsoft.schemas.vml.CTShape;
-/**
- * @author Yegor Kozlov
- */
public final class TestXSSFComment extends BaseTestCellComment {
private static final String TEST_RICHTEXTSTRING = "test richtextstring";
@@ -274,7 +277,7 @@ public final class TestXSSFComment extends BaseTestCellComment {
cell.setCellValue("F4");
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
CreationHelper factory = wb.getCreationHelper();
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
index ee84e503b0..27bfe5b2a0 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
@@ -1955,7 +1955,7 @@ public final class TestXSSFSheet extends BaseTestXSheet {
}
private void addComments(CreationHelper helper, Sheet sheet) {
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
for (int i = 0; i < 2; i++) {
ClientAnchor anchor = helper.createClientAnchor();
@@ -1968,11 +1968,13 @@ public final class TestXSSFSheet extends BaseTestXSheet {
comment.setString(helper.createRichTextString("BugTesting"));
Row row = sheet.getRow(0 + i);
- if (row == null)
- row = sheet.createRow(0 + i);
+ if (row == null) {
+ row = sheet.createRow(0 + i);
+ }
Cell cell = row.getCell(0);
- if (cell == null)
- cell = row.createCell(0);
+ if (cell == null) {
+ cell = row.createCell(0);
+ }
cell.setCellComment(comment);
}
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartLegend.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartLegend.java
index 02aabad057..524b421da9 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartLegend.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartLegend.java
@@ -17,38 +17,47 @@
package org.apache.poi.xssf.usermodel.charts;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
-import org.apache.poi.ss.usermodel.*;
+import java.io.IOException;
+
+import org.apache.poi.ss.usermodel.Chart;
+import org.apache.poi.ss.usermodel.ClientAnchor;
+import org.apache.poi.ss.usermodel.Drawing;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.charts.ChartLegend;
import org.apache.poi.ss.usermodel.charts.LegendPosition;
-import org.apache.poi.xssf.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.junit.Test;
/**
* Tests ChartLegend
- *
- * @author Martin Andersson
- * @author Cedric dot Walter at gmail dot com
*/
-public final class TestXSSFChartLegend extends TestCase {
-
- public void testLegendPositionAccessMethods() throws Exception {
+public final class TestXSSFChartLegend {
+ @Test
+ public void testLegendPositionAccessMethods() throws IOException {
Workbook wb = new XSSFWorkbook();
Sheet sheet = wb.createSheet();
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 10, 30);
Chart chart = drawing.createChart(anchor);
ChartLegend legend = chart.getOrCreateLegend();
legend.setPosition(LegendPosition.TOP_RIGHT);
assertEquals(LegendPosition.TOP_RIGHT, legend.getPosition());
+
+ wb.close();
}
- public void test_setOverlay_defaultChartLegend_expectOverlayInitialValueSetToFalse() {
+ @Test
+ public void test_setOverlay_defaultChartLegend_expectOverlayInitialValueSetToFalse() throws IOException {
// Arrange
Workbook wb = new XSSFWorkbook();
Sheet sheet = wb.createSheet();
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 10, 30);
Chart chart = drawing.createChart(anchor);
ChartLegend legend = chart.getOrCreateLegend();
@@ -57,13 +66,16 @@ public final class TestXSSFChartLegend extends TestCase {
// Assert
assertFalse(legend.isOverlay());
+
+ wb.close();
}
- public void test_setOverlay_chartLegendSetToTrue_expectOverlayInitialValueSetToTrue() {
+ @Test
+ public void test_setOverlay_chartLegendSetToTrue_expectOverlayInitialValueSetToTrue() throws IOException {
// Arrange
Workbook wb = new XSSFWorkbook();
Sheet sheet = wb.createSheet();
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 10, 30);
Chart chart = drawing.createChart(anchor);
ChartLegend legend = chart.getOrCreateLegend();
@@ -73,5 +85,7 @@ public final class TestXSSFChartLegend extends TestCase {
// Assert
assertTrue(legend.isOverlay());
+
+ wb.close();
}
}
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartTitle.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartTitle.java
index de05749300..08d1f179df 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartTitle.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartTitle.java
@@ -17,19 +17,43 @@
package org.apache.poi.xssf.usermodel.charts;
-import junit.framework.TestCase;
-import org.apache.poi.ss.usermodel.*;
-import org.apache.poi.ss.usermodel.charts.*;
-import org.apache.poi.ss.util.CellRangeAddress;
-import org.apache.poi.xssf.XSSFTestDataSamples;
-import org.apache.poi.xssf.usermodel.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import java.io.IOException;
import java.util.List;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Chart;
+import org.apache.poi.ss.usermodel.ClientAnchor;
+import org.apache.poi.ss.usermodel.Drawing;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.usermodel.charts.AxisCrosses;
+import org.apache.poi.ss.usermodel.charts.AxisPosition;
+import org.apache.poi.ss.usermodel.charts.ChartAxis;
+import org.apache.poi.ss.usermodel.charts.ChartDataSource;
+import org.apache.poi.ss.usermodel.charts.ChartLegend;
+import org.apache.poi.ss.usermodel.charts.DataSources;
+import org.apache.poi.ss.usermodel.charts.LegendPosition;
+import org.apache.poi.ss.usermodel.charts.LineChartData;
+import org.apache.poi.ss.usermodel.charts.ValueAxis;
+import org.apache.poi.ss.util.CellRangeAddress;
+import org.apache.poi.xssf.XSSFTestDataSamples;
+import org.apache.poi.xssf.usermodel.XSSFChart;
+import org.apache.poi.xssf.usermodel.XSSFDrawing;
+import org.apache.poi.xssf.usermodel.XSSFRichTextString;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.junit.Test;
+
/**
* Test get/set chart title.
*/
-public class TestXSSFChartTitle extends TestCase {
+public class TestXSSFChartTitle {
private Workbook createWorkbookWithChart() {
Workbook wb = new XSSFWorkbook();
Sheet sheet = wb.createSheet("linechart");
@@ -47,7 +71,7 @@ public class TestXSSFChartTitle extends TestCase {
}
}
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 0, 5, 10, 15);
Chart chart = drawing.createChart(anchor);
@@ -91,7 +115,8 @@ public class TestXSSFChartTitle extends TestCase {
return null;
}
- public void testNewChart() {
+ @Test
+ public void testNewChart() throws IOException {
Workbook wb = createWorkbookWithChart();
XSSFChart chart = getChartFromWorkbook(wb, "linechart");
assertNotNull(chart);
@@ -101,9 +126,11 @@ public class TestXSSFChartTitle extends TestCase {
XSSFRichTextString queryTitle = chart.getTitle();
assertNotNull(queryTitle);
assertEquals(myTitle, queryTitle.toString());
+ wb.close();
}
- public void testExistingChartWithTitle() {
+ @Test
+ public void testExistingChartWithTitle() throws IOException {
Workbook wb = XSSFTestDataSamples.openSampleWorkbook("chartTitle_withTitle.xlsx");
XSSFChart chart = getChartFromWorkbook(wb, "Sheet1");
assertNotNull(chart);
@@ -115,9 +142,11 @@ public class TestXSSFChartTitle extends TestCase {
XSSFRichTextString queryTitle = chart.getTitle();
assertNotNull(queryTitle);
assertEquals(myTitle, queryTitle.toString());
+ wb.close();
}
- public void testExistingChartNoTitle() {
+ @Test
+ public void testExistingChartNoTitle() throws IOException {
Workbook wb = XSSFTestDataSamples.openSampleWorkbook("chartTitle_noTitle.xlsx");
XSSFChart chart = getChartFromWorkbook(wb, "Sheet1");
assertNotNull(chart);
@@ -127,6 +156,6 @@ public class TestXSSFChartTitle extends TestCase {
XSSFRichTextString queryTitle = chart.getTitle();
assertNotNull(queryTitle);
assertEquals(myTitle, queryTitle.toString());
+ wb.close();
}
-
}
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFLineChartData.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFLineChartData.java
index cf7fd78ed3..2bfb06bf8e 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFLineChartData.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFLineChartData.java
@@ -16,7 +16,11 @@
==================================================================== */
package org.apache.poi.xssf.usermodel.charts;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
import org.apache.poi.ss.usermodel.Chart;
import org.apache.poi.ss.usermodel.ClientAnchor;
@@ -32,21 +36,23 @@ import org.apache.poi.ss.usermodel.charts.LineChartSeries;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.SheetBuilder;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.junit.Test;
/**
* Tests for XSSF Line Charts
*/
-public class TestXSSFLineChartData extends TestCase {
+public class TestXSSFLineChartData {
private static final Object[][] plotData = {
{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J"},
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
};
- public void testOneSeriePlot() throws Exception {
+ @Test
+ public void testOneSeriePlot() throws IOException {
Workbook wb = new XSSFWorkbook();
Sheet sheet = new SheetBuilder(wb, plotData).build();
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 10, 30);
Chart chart = drawing.createChart(anchor);
@@ -65,5 +71,6 @@ public class TestXSSFLineChartData extends TestCase {
assertTrue(lineChartData.getSeries().contains(series));
chart.plot(lineChartData, bottomAxis, leftAxis);
+ wb.close();
}
}
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFManualLayout.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFManualLayout.java
index 8b5e8d92a7..97438c0678 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFManualLayout.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFManualLayout.java
@@ -17,29 +17,57 @@
package org.apache.poi.xssf.usermodel.charts;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
-import org.apache.poi.ss.usermodel.*;
+import java.io.IOException;
+
+import org.apache.poi.ss.usermodel.Chart;
+import org.apache.poi.ss.usermodel.ClientAnchor;
+import org.apache.poi.ss.usermodel.Drawing;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.charts.ChartLegend;
-import org.apache.poi.ss.usermodel.charts.ManualLayout;
import org.apache.poi.ss.usermodel.charts.LayoutMode;
import org.apache.poi.ss.usermodel.charts.LayoutTarget;
-import org.apache.poi.xssf.usermodel.*;
-
-public final class TestXSSFManualLayout extends TestCase {
-
+import org.apache.poi.ss.usermodel.charts.ManualLayout;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public final class TestXSSFManualLayout {
+
+ private Workbook wb;
+ private ManualLayout layout;
+
+ @Before
+ public void createEmptyLayout() {
+ wb = new XSSFWorkbook();
+ Sheet sheet = wb.createSheet();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
+ ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 10, 30);
+ Chart chart = drawing.createChart(anchor);
+ ChartLegend legend = chart.getOrCreateLegend();
+ layout = legend.getManualLayout();
+ }
+
+ @After
+ public void closeWB() throws IOException {
+ wb.close();
+ }
+
/*
* Accessor methods are not trivial. They use lazy underlying bean
* initialization so there can be some errors (NPE, for example).
*/
- public void testAccessorMethods() throws Exception {
+ @Test
+ public void testAccessorMethods() {
final double newRatio = 1.1;
final double newCoordinate = 0.3;
final LayoutMode nonDefaultMode = LayoutMode.FACTOR;
final LayoutTarget nonDefaultTarget = LayoutTarget.OUTER;
- ManualLayout layout = getEmptyLayout();
-
layout.setWidthRatio(newRatio);
assertTrue(layout.getWidthRatio() == newRatio);
@@ -73,9 +101,8 @@ public final class TestXSSFManualLayout extends TestCase {
* Layout must have reasonable default values and must not throw
* any exceptions.
*/
- public void testDefaultValues() throws Exception {
- ManualLayout layout = getEmptyLayout();
-
+ @Test
+ public void testDefaultValues() {
assertNotNull(layout.getTarget());
assertNotNull(layout.getXMode());
assertNotNull(layout.getYMode());
@@ -90,14 +117,4 @@ public final class TestXSSFManualLayout extends TestCase {
assertTrue(layout.getWidthRatio() == 0.0);
assertTrue(layout.getHeightRatio() == 0.0);
}
-
- private ManualLayout getEmptyLayout() {
- Workbook wb = new XSSFWorkbook();
- Sheet sheet = wb.createSheet();
- Drawing drawing = sheet.createDrawingPatriarch();
- ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 10, 30);
- Chart chart = drawing.createChart(anchor);
- ChartLegend legend = chart.getOrCreateLegend();
- return legend.getManualLayout();
- }
}
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFScatterChartData.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFScatterChartData.java
index e041e891c6..79dc71c8d2 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFScatterChartData.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFScatterChartData.java
@@ -17,7 +17,11 @@
package org.apache.poi.xssf.usermodel.charts;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
import org.apache.poi.ss.usermodel.Chart;
import org.apache.poi.ss.usermodel.ClientAnchor;
@@ -33,21 +37,23 @@ import org.apache.poi.ss.usermodel.charts.ScatterChartSeries;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.SheetBuilder;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.junit.Test;
/**
* Tests for XSSFScatterChartData.
*/
-public final class TestXSSFScatterChartData extends TestCase {
+public final class TestXSSFScatterChartData {
private static final Object[][] plotData = {
{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J"},
{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
};
- public void testOneSeriePlot() throws Exception {
+ @Test
+ public void testOneSeriePlot() throws IOException {
Workbook wb = new XSSFWorkbook();
Sheet sheet = new SheetBuilder(wb, plotData).build();
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 10, 30);
Chart chart = drawing.createChart(anchor);
@@ -66,5 +72,6 @@ public final class TestXSSFScatterChartData extends TestCase {
assertTrue(scatterChartData.getSeries().contains(series));
chart.plot(scatterChartData, bottomAxis, leftAxis);
+ wb.close();
}
}
diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/TestDocumentProtection.java b/src/ooxml/testcases/org/apache/poi/xwpf/TestDocumentProtection.java
index 67ad79422e..550a0c18ca 100644
--- a/src/ooxml/testcases/org/apache/poi/xwpf/TestDocumentProtection.java
+++ b/src/ooxml/testcases/org/apache/poi/xwpf/TestDocumentProtection.java
@@ -23,6 +23,7 @@ import static org.junit.Assert.assertTrue;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
+import java.io.IOException;
import org.apache.poi.poifs.crypt.CryptoFunctions;
import org.apache.poi.poifs.crypt.HashAlgorithm;
@@ -35,48 +36,53 @@ import org.junit.Test;
public class TestDocumentProtection {
@Test
- public void testShouldReadEnforcementProperties() throws Exception {
+ public void testShouldReadEnforcementProperties() throws IOException {
XWPFDocument documentWithoutDocumentProtectionTag = XWPFTestDataSamples.openSampleDocument("documentProtection_no_protection.docx");
assertFalse(documentWithoutDocumentProtectionTag.isEnforcedReadonlyProtection());
assertFalse(documentWithoutDocumentProtectionTag.isEnforcedFillingFormsProtection());
assertFalse(documentWithoutDocumentProtectionTag.isEnforcedCommentsProtection());
assertFalse(documentWithoutDocumentProtectionTag.isEnforcedTrackedChangesProtection());
+ documentWithoutDocumentProtectionTag.close();
XWPFDocument documentWithoutEnforcement = XWPFTestDataSamples.openSampleDocument("documentProtection_no_protection_tag_existing.docx");
assertFalse(documentWithoutEnforcement.isEnforcedReadonlyProtection());
assertFalse(documentWithoutEnforcement.isEnforcedFillingFormsProtection());
assertFalse(documentWithoutEnforcement.isEnforcedCommentsProtection());
assertFalse(documentWithoutEnforcement.isEnforcedTrackedChangesProtection());
+ documentWithoutEnforcement.close();
XWPFDocument documentWithReadonlyEnforcement = XWPFTestDataSamples.openSampleDocument("documentProtection_readonly_no_password.docx");
assertTrue(documentWithReadonlyEnforcement.isEnforcedReadonlyProtection());
assertFalse(documentWithReadonlyEnforcement.isEnforcedFillingFormsProtection());
assertFalse(documentWithReadonlyEnforcement.isEnforcedCommentsProtection());
assertFalse(documentWithReadonlyEnforcement.isEnforcedTrackedChangesProtection());
+ documentWithReadonlyEnforcement.close();
XWPFDocument documentWithFillingFormsEnforcement = XWPFTestDataSamples.openSampleDocument("documentProtection_forms_no_password.docx");
assertTrue(documentWithFillingFormsEnforcement.isEnforcedFillingFormsProtection());
assertFalse(documentWithFillingFormsEnforcement.isEnforcedReadonlyProtection());
assertFalse(documentWithFillingFormsEnforcement.isEnforcedCommentsProtection());
assertFalse(documentWithFillingFormsEnforcement.isEnforcedTrackedChangesProtection());
+ documentWithFillingFormsEnforcement.close();
XWPFDocument documentWithCommentsEnforcement = XWPFTestDataSamples.openSampleDocument("documentProtection_comments_no_password.docx");
assertFalse(documentWithCommentsEnforcement.isEnforcedFillingFormsProtection());
assertFalse(documentWithCommentsEnforcement.isEnforcedReadonlyProtection());
assertTrue(documentWithCommentsEnforcement.isEnforcedCommentsProtection());
assertFalse(documentWithCommentsEnforcement.isEnforcedTrackedChangesProtection());
+ documentWithCommentsEnforcement.close();
XWPFDocument documentWithTrackedChangesEnforcement = XWPFTestDataSamples.openSampleDocument("documentProtection_trackedChanges_no_password.docx");
assertFalse(documentWithTrackedChangesEnforcement.isEnforcedFillingFormsProtection());
assertFalse(documentWithTrackedChangesEnforcement.isEnforcedReadonlyProtection());
assertFalse(documentWithTrackedChangesEnforcement.isEnforcedCommentsProtection());
assertTrue(documentWithTrackedChangesEnforcement.isEnforcedTrackedChangesProtection());
-
+ documentWithTrackedChangesEnforcement.close();
}
@Test
- public void testShouldEnforceForReadOnly() throws Exception {
+ public void testShouldEnforceForReadOnly() throws IOException {
// XWPFDocument document = createDocumentFromSampleFile("test-data/document/documentProtection_no_protection.docx");
XWPFDocument document = XWPFTestDataSamples.openSampleDocument("documentProtection_no_protection.docx");
assertFalse(document.isEnforcedReadonlyProtection());
@@ -84,81 +90,89 @@ public class TestDocumentProtection {
document.enforceReadonlyProtection();
assertTrue(document.isEnforcedReadonlyProtection());
+ document.close();
}
@Test
- public void testShouldEnforceForFillingForms() throws Exception {
+ public void testShouldEnforceForFillingForms() throws IOException {
XWPFDocument document = XWPFTestDataSamples.openSampleDocument("documentProtection_no_protection.docx");
assertFalse(document.isEnforcedFillingFormsProtection());
document.enforceFillingFormsProtection();
assertTrue(document.isEnforcedFillingFormsProtection());
+ document.close();
}
@Test
- public void testShouldEnforceForComments() throws Exception {
+ public void testShouldEnforceForComments() throws IOException {
XWPFDocument document = XWPFTestDataSamples.openSampleDocument("documentProtection_no_protection.docx");
assertFalse(document.isEnforcedCommentsProtection());
document.enforceCommentsProtection();
assertTrue(document.isEnforcedCommentsProtection());
+ document.close();
}
@Test
- public void testShouldEnforceForTrackedChanges() throws Exception {
+ public void testShouldEnforceForTrackedChanges() throws IOException {
XWPFDocument document = XWPFTestDataSamples.openSampleDocument("documentProtection_no_protection.docx");
assertFalse(document.isEnforcedTrackedChangesProtection());
document.enforceTrackedChangesProtection();
assertTrue(document.isEnforcedTrackedChangesProtection());
+ document.close();
}
@Test
- public void testShouldUnsetEnforcement() throws Exception {
+ public void testShouldUnsetEnforcement() throws IOException {
XWPFDocument document = XWPFTestDataSamples.openSampleDocument("documentProtection_readonly_no_password.docx");
assertTrue(document.isEnforcedReadonlyProtection());
document.removeProtectionEnforcement();
assertFalse(document.isEnforcedReadonlyProtection());
+ document.close();
}
@Test
- public void testIntegration() throws Exception {
- XWPFDocument doc = new XWPFDocument();
+ public void testIntegration() throws IOException {
+ XWPFDocument doc1 = new XWPFDocument();
- XWPFParagraph p1 = doc.createParagraph();
+ XWPFParagraph p1 = doc1.createParagraph();
XWPFRun r1 = p1.createRun();
r1.setText("Lorem ipsum dolor sit amet.");
- doc.enforceCommentsProtection();
+ doc1.enforceCommentsProtection();
File tempFile = TempFile.createTempFile("documentProtectionFile", ".docx");
FileOutputStream out = new FileOutputStream(tempFile);
- doc.write(out);
+ doc1.write(out);
out.close();
FileInputStream inputStream = new FileInputStream(tempFile);
- XWPFDocument document = new XWPFDocument(inputStream);
+ XWPFDocument doc2 = new XWPFDocument(inputStream);
inputStream.close();
- assertTrue(document.isEnforcedCommentsProtection());
+ assertTrue(doc2.isEnforcedCommentsProtection());
+ doc2.close();
+ doc1.close();
}
@Test
- public void testUpdateFields() throws Exception {
+ public void testUpdateFields() throws IOException {
XWPFDocument doc = new XWPFDocument();
assertFalse(doc.isEnforcedUpdateFields());
doc.enforceUpdateFields();
assertTrue(doc.isEnforcedUpdateFields());
+ doc.close();
}
@Test
- public void bug56076_read() throws Exception {
+ public void bug56076_read() throws IOException {
// test legacy xored-hashed password
assertEquals("64CEED7E", CryptoFunctions.xorHashPassword("Example"));
// check leading 0
@@ -168,15 +182,18 @@ public class TestDocumentProtection {
XWPFDocument document = XWPFTestDataSamples.openSampleDocument("bug56076.docx");
boolean isValid = document.validateProtectionPassword("Example");
assertTrue(isValid);
+ document.close();
}
@Test
- public void bug56076_write() throws Exception {
+ public void bug56076_write() throws IOException {
// test document write protection with password
- XWPFDocument document = new XWPFDocument();
- document.enforceCommentsProtection("Example", HashAlgorithm.sha512);
- document = XWPFTestDataSamples.writeOutAndReadBack(document);
- boolean isValid = document.validateProtectionPassword("Example");
+ XWPFDocument doc1 = new XWPFDocument();
+ doc1.enforceCommentsProtection("Example", HashAlgorithm.sha512);
+ XWPFDocument doc2 = XWPFTestDataSamples.writeOutAndReadBack(doc1);
+ doc1.close();
+ boolean isValid = doc2.validateProtectionPassword("Example");
assertTrue(isValid);
+ doc2.close();
}
}
diff --git a/src/scratchpad/src/org/apache/poi/hslf/extractor/PowerPointExtractor.java b/src/scratchpad/src/org/apache/poi/hslf/extractor/PowerPointExtractor.java
index 8085482ecc..7e09764e19 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/extractor/PowerPointExtractor.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/extractor/PowerPointExtractor.java
@@ -54,7 +54,6 @@ import org.apache.poi.util.POILogger;
public final class PowerPointExtractor extends POIOLE2TextExtractor {
private static final POILogger LOG = POILogFactory.getLogger(PowerPointExtractor.class);
- private final HSLFSlideShowImpl _hslfshow;
private final HSLFSlideShow _show;
private final List<HSLFSlide> _slides;
@@ -147,8 +146,7 @@ public final class PowerPointExtractor extends POIOLE2TextExtractor {
*/
public PowerPointExtractor(HSLFSlideShowImpl ss) {
super(ss);
- _hslfshow = ss;
- _show = new HSLFSlideShow(_hslfshow);
+ _show = new HSLFSlideShow(ss);
_slides = _show.getSlides();
}
@@ -184,7 +182,8 @@ public final class PowerPointExtractor extends POIOLE2TextExtractor {
* Fetches all the slide text from the slideshow, but not the notes, unless
* you've called setSlidesByDefault() and setNotesByDefault() to change this
*/
- public String getText() {
+ @Override
+ public String getText() {
return getText(_slidesByDefault, _notesByDefault, _commentsByDefault, _masterByDefault);
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hdgf/streams/StreamTest.java b/src/scratchpad/testcases/org/apache/poi/hdgf/streams/StreamTest.java
index f29adb7f0c..eeb55a56c5 100644
--- a/src/scratchpad/testcases/org/apache/poi/hdgf/streams/StreamTest.java
+++ b/src/scratchpad/testcases/org/apache/poi/hdgf/streams/StreamTest.java
@@ -17,12 +17,13 @@
package org.apache.poi.hdgf.streams;
-import org.apache.poi.hdgf.pointers.Pointer;
-import static org.apache.poi.hdgf.pointers.PointerV6.*;
+import static org.apache.poi.hdgf.pointers.PointerV6.getNumPointersOffsetV6;
+import static org.apache.poi.hdgf.pointers.PointerV6.getNumPointersV6;
+import static org.apache.poi.hdgf.pointers.PointerV6.getPostNumPointersSkipV6;
-import junit.framework.TestCase;
+import org.apache.poi.hdgf.pointers.Pointer;
-public abstract class StreamTest extends TestCase {
+public abstract class StreamTest {
public static class TestPointer extends Pointer {
private final boolean compressed;
protected boolean hasPointers = false;
diff --git a/src/scratchpad/testcases/org/apache/poi/hdgf/streams/TestStreamBasics.java b/src/scratchpad/testcases/org/apache/poi/hdgf/streams/TestStreamBasics.java
index 26c91d0d19..436286c07e 100644
--- a/src/scratchpad/testcases/org/apache/poi/hdgf/streams/TestStreamBasics.java
+++ b/src/scratchpad/testcases/org/apache/poi/hdgf/streams/TestStreamBasics.java
@@ -17,73 +17,45 @@
package org.apache.poi.hdgf.streams;
+import static org.apache.poi.poifs.storage.RawDataUtil.decompress;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+
import org.apache.poi.hdgf.pointers.Pointer;
+import org.junit.BeforeClass;
+import org.junit.Test;
public final class TestStreamBasics extends StreamTest {
- /** The header from when compressedStream is decompressed */
- public static final byte[] compressedStreamDCHeader = new byte[] {
- -60, 2, 0, 0
- };
- public static final byte[] compressedStream = new byte[] {
- 123, -60, 2, -21, -16, 1, 0, 0, -72, -13, -16, 78, -32, -5, 1,
- 0, 3, -21, -16, 10, 5, 4, -21, -16, 21, 9, -21, -16, 103, -21,
- -16, 34, -36, -1, 52, 15, 70, 15, 120, 88, 15, -7, -2, -28, -9,
- -123, 21, 0, 44, -122, 1, -4, 104, 15, -24, -13, 40, -98, 32,
- 78, 102, -67, -1, -2, -30, 64, 40, -67, -113, -73, 116, -98,
- -85, 2, 66, 123, 9, 109, -85, 2, -89, 14, -56, -69, -83, -79,
- -34, -3, 120, 110, 75, -9, -10, 20, -6, -25, -12, 22, -21, -16,
- -12, -81, 67, 1, -128, -70, -21, -16, 84, -21, -16, 70, 0, 23,
- -21, -16, 76, 47, -40, 79, 1, -44, -21, -16, 32, 3, 18, 12, 17,
- -43, -68, 17, 16, -8, 21, 22, -1, -21, -16, -84, -1, -35, 79,
- -9, -10, 96, 0, 46, -21, -16, 44, -39, -41, 79, 1, 119, -13,
- -16, -106, -13, -16, 84, 0, 125, 26, -21, -16, 68, -38, 79, 1,
- 17, 10, 0, -97, 50, 10, 0, 0, -42, -108, 15, 118, 31, 0, -3, 29,
- -21, -16, -100, -25, 79, 1, -18, 97, -36, 76, 16, -21, -16, 86,
- 0, 36, -5, 1, -5, 79, 63, 1, -124, 98, 0, 0, 28, 3, 20, -34, -3,
- 125, 33, -21, -16, 100, -4, 79, 1, -92, -91, 16, -22, 24, 19, 41,
- -21, -16, -44, -59, 16, 108, 100, 0, -21, 0, 71, -105, 18, 39, 85,
- 17, -3, 79, 1, 95, -108, 113, 0, 0, 104, 3, 18, 49, 49, 17, -1, 64,
- 85, 1, 0, 114, 0, 0, -93, -36, -21, -16, 100, 31, 0, 0, -40, -21,
- -16, -92, 66, 127, 85, 1, 98, 119, 0, 0, -48, 79, 18, -3, 50, -17,
- 1, 67, 85, 1, 81, -127, 0, -41, 0, 14, 6, 4, 17, 63, -63, 17, 68,
- 85, -65, 1, 30, -120, 0, 0, 42, 79, 18, 68, 126, -21, -16, -76, 69,
- 85, 1, 102, -119, 72, 37, 0, 97, 33 };
- public static final byte[] uncompressedStream = new byte[] {
- 0, 1, 0, 0, -72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0,
- 0, 9, 0, 0, 0, 103, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- -123, 21, 0, 44, -123, 21, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, -98, 32, 78, 102, -67,
- -2, -30, 64, 40, -67, -113, -73, 116, -67, -2, -30, 64, 40, 66,
- 123, 9, 109, -67, -2, -30, 64, 40, -98, 32, 78, 102, -67, -2, -30,
- 64, 40, -67, -113, -73, 116, -67, -2, -30, 64, -56, -83, -79, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 110, 75, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, -12, -81, 67,
- 1, -128, 0, 0, 0, 84, 0, 0, 0, 70, 0, 23, 0, 0, 0, 76, -40, 79, 1,
- -44, 0, 0, 0, 32, 0, 0, 0, 84, 0, 23, 0, 0, 0, -68, -40, 79, 1, -8,
- 0, 0, 0, 32, 0, 0, 0, 84, 0, -1, 0, 0, 0, -84, -1, 79, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 96, 0, 46, 0, 0, 0, 44, -39, 79, 1, 119, 1, 0, 0,
- -106, 1, 0, 0, 84, 0, 26, 0, 0, 0, 68, -38, 79, 1, 17, 3, 0, 0,
- 50, 10, 0, 0, -42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 29, 0, 0, 0, -100, -25, 79, 1, -18, 97, 0, 0, -106, 0, 0, 0, 86, 0,
- 36, 0, 0, 0, -12, -5, 79, 1, -124, 98, 0, 0, 28, 0, 0, 0, 84, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 100,
- -4, 79, 1, -92, 98, 0, 0, 32, 0, 0, 0, 84, 0, 41, 0, 0, 0, -44, -4,
- 79, 1, 108, 100, 0, 0, 71, 0, 0, 0, 86, 0, 39, 0, 0, 0, 68, -3, 79,
- 1, -108, 113, 0, 0, 104, 0, 0, 0, 84, 0, 49, 0, 0, 0, -84, 64, 85,
- 1, 0, 114, 0, 0, -93, 0, 0, 0, -42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, -40, 0, 0, 0, -92, 66, 85, 1, 98, 119,
- 0, 0, -48, 1, 0, 0, 84, 0, 50, 0, 0, 0, 20, 67, 85, 1, 81, -127,
- 0, 0, 14, 6, 0, 0, 84, 0, 63, 0, 0, 0, 100, 68, 85, 1, 30, -120,
- 0, 0, 42, 1, 0, 0, 84, 0, 68, 0, 0, 0, -76, 69, 85, 1, 102, -119,
- 0, 0, 42, 1, 0, 0, 84, 0, 0, 0, 0, 0
- };
+ private static byte[] compressedStream, uncompressedStream;
+
+ @BeforeClass
+ public static void init() throws IOException {
+ compressedStream = decompress(
+ "H4sIAAAAAAAAAAFTAaz+e8QC6/ABAAC48/BO4PsBAAPr8AoFBOvwFQnr8Gfr8CLc/zQPRg94WA/5/u"+
+ "T3hRUALIYB/GgP6PMoniBOZr3//uJAKL2Pt3SeqwJCewltqwKnDsi7rbHe/XhuS/f2FPrn9Bbr8PSv"+
+ "QwGAuuvwVOvwRgAX6/BML9hPAdTr8CADEgwR1bwREPgVFv/r8Kz/3U/39mAALuvwLNnXTwF38/CW8/"+
+ "BUAH0a6/BE2k8BEQoAnzIKAADWlA92HwD9HevwnOdPAe5h3EwQ6/BWACT7AftPPwGEYgAAHAMU3v19"+
+ "IevwZPxPAaSlEOoYEynr8NTFEGxkAOsAR5cSJ1UR/U8BX5RxAABoAxIxMRH/QFUBAHIAAKPc6/BkHw"+
+ "AA2OvwpEJ/VQFidwAA0E8S/TLvAUNVAVGBANcADgYEET/BEURVvwEeiAAAKk8SRH7r8LRFVQFmiUgl"+
+ "AGEhwtTYaVMBAAA="
+ );
+
+ uncompressedStream = decompress(
+ "H4sIAAAAAAAAAGNgZGDYAcSogJGBGUjCMAsQcwJxOhAroSulEkB2Qqsogw4I41KrMU/BL23vv0cOGn"+
+ "v7t5eAGU7VnLlgBobUibUb0fVX5HnDrROB0mJA/GW9M2MDkA4BYjcGcSDpc8Of8QqQVgCLgkT2AEV+"+
+ "wEX+A8k1//3hpiUw6AFJnZv+jOVAsWmMIDVSQBGXW/6MgsCgNOJiYLhGVHjIAvGc5/6M7xKB5gDZYQ"+
+ "wqIBf+9mdsSWJgkIG6Eh0oAnHKH3/GJUkwF2oCyStAkZwUBgZ3sDnqIPf89WecUsjAkAFWYwjyhUMo"+
+ "I0MRA8NiBuwuvAHES5xCGZPKGRgugP1lBAo951DGwEYGBj42kIg9yHaXUEa5DgYGLbAaF6DIFtdQxr"+
+ "ROmAgIAAD6SJPAdAIAAA=="
+ );
+ }
+
+ @Test
public void testCompressedStream() {
// Create a fake pointer
Pointer ptr = new TestPointer(true, 0, compressedStream.length, -1, (short)-1);
@@ -93,7 +65,6 @@ public final class TestStreamBasics extends StreamTest {
// Check
assertNotNull(stream.getPointer());
assertNotNull(stream.getStore());
- assertTrue(stream.getStore() instanceof StreamStore);
assertTrue(stream.getStore() instanceof CompressedStreamStore);
assertTrue(stream instanceof UnknownStream);
@@ -108,7 +79,8 @@ public final class TestStreamBasics extends StreamTest {
}
}
- public void testUncompressedStream() {
+ @Test
+ public void testUncompressedStream() {
// Create a fake pointer
Pointer ptr = new TestPointer(false, 0, uncompressedStream.length, -1, (short)-1);
// Now the stream
@@ -117,7 +89,6 @@ public final class TestStreamBasics extends StreamTest {
// Check
assertNotNull(stream.getPointer());
assertNotNull(stream.getStore());
- assertTrue(stream.getStore() instanceof StreamStore);
assertFalse(stream.getStore() instanceof CompressedStreamStore);
assertTrue(stream instanceof UnknownStream);
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hdgf/streams/TestStreamBugs.java b/src/scratchpad/testcases/org/apache/poi/hdgf/streams/TestStreamBugs.java
index 0377b248a5..006021b014 100644
--- a/src/scratchpad/testcases/org/apache/poi/hdgf/streams/TestStreamBugs.java
+++ b/src/scratchpad/testcases/org/apache/poi/hdgf/streams/TestStreamBugs.java
@@ -17,15 +17,18 @@
package org.apache.poi.hdgf.streams;
+import java.io.IOException;
import java.io.InputStream;
+import org.apache.poi.POIDataSamples;
import org.apache.poi.hdgf.HDGFDiagram;
import org.apache.poi.hdgf.chunks.ChunkFactory;
import org.apache.poi.hdgf.pointers.Pointer;
import org.apache.poi.hdgf.pointers.PointerFactory;
-import org.apache.poi.poifs.filesystem.DocumentEntry;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.poi.POIDataSamples;
+import org.apache.poi.util.IOUtils;
+import org.junit.Before;
+import org.junit.Test;
/**
* Tests for bugs with streams
@@ -36,33 +39,35 @@ public final class TestStreamBugs extends StreamTest {
private PointerFactory ptrFactory;
private POIFSFileSystem filesystem;
- @Override
- protected void setUp() throws Exception {
+ @Before
+ public void setUp() throws IOException {
ptrFactory = new PointerFactory(11);
chunkFactory = new ChunkFactory(11);
InputStream is = POIDataSamples.getDiagramInstance().openResourceAsStream("44594.vsd");
filesystem = new POIFSFileSystem(is);
-
- DocumentEntry docProps =
- (DocumentEntry)filesystem.getRoot().getEntry("VisioDocument");
+ is.close();
// Grab the document stream
- contents = new byte[docProps.getSize()];
- filesystem.createDocumentInputStream("VisioDocument").read(contents);
+ InputStream is2 = filesystem.createDocumentInputStream("VisioDocument");
+ contents = IOUtils.toByteArray(is2);
+ is2.close();
}
- public void testGetTrailer() {
+ @Test
+ public void testGetTrailer() {
Pointer trailerPointer = ptrFactory.createPointer(contents, 0x24);
Stream.createStream(trailerPointer, contents, chunkFactory, ptrFactory);
}
- public void TOIMPLEMENTtestGetCertainChunks() {
+ @SuppressWarnings("unused")
+ public void TOIMPLEMENTtestGetCertainChunks() {
int offsetA = 3708;
int offsetB = 3744;
}
- public void testGetChildren() {
+ @Test
+ public void testGetChildren() {
Pointer trailerPointer = ptrFactory.createPointer(contents, 0x24);
TrailerStream trailer = (TrailerStream)
Stream.createStream(trailerPointer, contents, chunkFactory, ptrFactory);
@@ -97,7 +102,8 @@ public final class TestStreamBugs extends StreamTest {
trailer.findChildren(contents);
}
- public void testOpen() throws Exception {
- HDGFDiagram dg = new HDGFDiagram(filesystem);
+ @Test
+ public void testOpen() throws IOException {
+ new HDGFDiagram(filesystem).close();
}
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hdgf/streams/TestStreamComplex.java b/src/scratchpad/testcases/org/apache/poi/hdgf/streams/TestStreamComplex.java
index d1092e2bba..c601a06438 100644
--- a/src/scratchpad/testcases/org/apache/poi/hdgf/streams/TestStreamComplex.java
+++ b/src/scratchpad/testcases/org/apache/poi/hdgf/streams/TestStreamComplex.java
@@ -17,15 +17,24 @@
package org.apache.poi.hdgf.streams;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
import java.io.InputStream;
+import org.apache.poi.POIDataSamples;
import org.apache.poi.hdgf.chunks.Chunk;
import org.apache.poi.hdgf.chunks.ChunkFactory;
import org.apache.poi.hdgf.pointers.Pointer;
import org.apache.poi.hdgf.pointers.PointerFactory;
-import org.apache.poi.poifs.filesystem.DocumentEntry;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.poi.POIDataSamples;
+import org.apache.poi.util.IOUtils;
+import org.junit.Before;
+import org.junit.Test;
public final class TestStreamComplex extends StreamTest {
private byte[] contents;
@@ -34,26 +43,28 @@ public final class TestStreamComplex extends StreamTest {
private ChunkFactory chunkFactory;
private PointerFactory ptrFactory;
- @Override
- protected void setUp() throws Exception {
+ @Before
+ public void setUp() throws IOException {
ptrFactory = new PointerFactory(11);
chunkFactory = new ChunkFactory(11);
InputStream is = POIDataSamples.getDiagramInstance().openResourceAsStream("Test_Visio-Some_Random_Text.vsd");
POIFSFileSystem filesystem = new POIFSFileSystem(is);
-
- DocumentEntry docProps =
- (DocumentEntry)filesystem.getRoot().getEntry("VisioDocument");
+ is.close();
// Grab the document stream
- contents = new byte[docProps.getSize()];
- filesystem.createDocumentInputStream("VisioDocument").read(contents);
+ InputStream is2 = filesystem.createDocumentInputStream("VisioDocument");
+ contents = IOUtils.toByteArray(is2);
+ is2.close();
+
+ filesystem.close();
}
/**
* Test creating the trailer, but not looking for children
*/
- public void testTrailer() {
+ @Test
+ public void testTrailer() {
// Find the trailer
Pointer trailerPtr = ptrFactory.createPointer(contents, trailerPointerAt);
@@ -74,7 +85,8 @@ public final class TestStreamComplex extends StreamTest {
assertEquals(0xff, ts.getChildPointers()[3].getType());
}
- public void testChunks() {
+ @Test
+ public void testChunks() {
Pointer trailerPtr = ptrFactory.createPointer(contents, trailerPointerAt);
TrailerStream ts = (TrailerStream)
Stream.createStream(trailerPtr, contents, chunkFactory, ptrFactory);
@@ -94,7 +106,8 @@ public final class TestStreamComplex extends StreamTest {
cs.findChunks();
}
- public void testStrings() {
+ @Test
+ public void testStrings() {
Pointer trailerPtr = ptrFactory.createPointer(contents, trailerPointerAt);
TrailerStream ts = (TrailerStream)
Stream.createStream(trailerPtr, contents, chunkFactory, ptrFactory);
@@ -110,7 +123,8 @@ public final class TestStreamComplex extends StreamTest {
assertTrue(stream instanceof StringsStream);
}
- public void testPointerToStrings() {
+ @Test
+ public void testPointerToStrings() {
// The stream at 0x347f has strings
// The stream at 0x4312 has a pointer to 0x347f
// The stream at 0x44d3 has a pointer to 0x4312
@@ -154,7 +168,8 @@ public final class TestStreamComplex extends StreamTest {
assertTrue(s4312.getPointedToStreams()[1] instanceof StringsStream);
}
- public void testTrailerContents() {
+ @Test
+ public void testTrailerContents() {
Pointer trailerPtr = ptrFactory.createPointer(contents, trailerPointerAt);
TrailerStream ts = (TrailerStream)
Stream.createStream(trailerPtr, contents, chunkFactory, ptrFactory);
@@ -205,7 +220,8 @@ public final class TestStreamComplex extends StreamTest {
assertTrue(s8451.getPointedToStreams()[1] instanceof StringsStream);
}
- public void testChunkWithText() {
+ @Test
+ public void testChunkWithText() {
// Parent ChunkStream is at 0x7194
// This is one of the last children of the trailer
Pointer trailerPtr = ptrFactory.createPointer(contents, trailerPointerAt);
diff --git a/src/scratchpad/testcases/org/apache/poi/hpbf/model/TestEscherParts.java b/src/scratchpad/testcases/org/apache/poi/hpbf/model/TestEscherParts.java
index 72d8274ed4..28e1eeca69 100644
--- a/src/scratchpad/testcases/org/apache/poi/hpbf/model/TestEscherParts.java
+++ b/src/scratchpad/testcases/org/apache/poi/hpbf/model/TestEscherParts.java
@@ -17,18 +17,24 @@
package org.apache.poi.hpbf.model;
-import org.apache.poi.hpbf.HPBFDocument;
-import org.apache.poi.POIDataSamples;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
-import junit.framework.TestCase;
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.apache.poi.POIDataSamples;
+import org.apache.poi.hpbf.HPBFDocument;
+import org.junit.Test;
-public final class TestEscherParts extends TestCase {
+public final class TestEscherParts {
private static final POIDataSamples _samples = POIDataSamples.getPublisherInstance();
- public void testBasics() throws Exception {
- HPBFDocument doc = new HPBFDocument(
- _samples.openResourceAsStream("Sample.pub")
- );
+ @Test
+ public void testBasics() throws IOException {
+ InputStream is = _samples.openResourceAsStream("Sample.pub");
+ HPBFDocument doc = new HPBFDocument(is);
+ is.close();
EscherStm es = doc.getEscherStm();
EscherDelayStm eds = doc.getEscherDelayStm();
@@ -40,15 +46,17 @@ public final class TestEscherParts extends TestCase {
assertEquals(0, eds.getEscherRecords().length);
// TODO - check the contents
+ doc.close();
}
- public void testComplex() throws Exception {
- HPBFDocument doc = new HPBFDocument(
- _samples.openResourceAsStream("SampleBrochure.pub")
- );
+ @Test
+ public void testComplex() throws Exception {
+ InputStream is = _samples.openResourceAsStream("SampleBrochure.pub");
+ HPBFDocument doc1 = new HPBFDocument(is);
+ is.close();
- EscherStm es = doc.getEscherStm();
- EscherDelayStm eds = doc.getEscherDelayStm();
+ EscherStm es = doc1.getEscherStm();
+ EscherDelayStm eds = doc1.getEscherDelayStm();
assertNotNull(es);
assertNotNull(eds);
@@ -57,20 +65,21 @@ public final class TestEscherParts extends TestCase {
assertEquals(19, eds.getEscherRecords().length);
// TODO - check contents
-
+ doc1.close();
// Now do another complex file
- doc = new HPBFDocument(
- _samples.openResourceAsStream("SampleNewsletter.pub")
- );
+ InputStream is2 = _samples.openResourceAsStream("SampleNewsletter.pub");
+ HPBFDocument doc2 = new HPBFDocument(is2);
+ is2.close();
- es = doc.getEscherStm();
- eds = doc.getEscherDelayStm();
+ es = doc2.getEscherStm();
+ eds = doc2.getEscherDelayStm();
assertNotNull(es);
assertNotNull(eds);
assertEquals(51, es.getEscherRecords().length);
assertEquals(92, eds.getEscherRecords().length);
+ doc2.close();
}
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/extractor/TestExtractor.java b/src/scratchpad/testcases/org/apache/poi/hslf/extractor/TestExtractor.java
index 8ab30ee973..d62e954842 100644
--- a/src/scratchpad/testcases/org/apache/poi/hslf/extractor/TestExtractor.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/extractor/TestExtractor.java
@@ -25,6 +25,9 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
import java.io.InputStream;
import java.util.List;
@@ -36,10 +39,9 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.poifs.filesystem.DirectoryNode;
import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
+import org.apache.poi.poifs.filesystem.OPOIFSFileSystem;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.util.IOUtils;
-import org.junit.After;
-import org.junit.Before;
import org.junit.Test;
/**
@@ -49,13 +51,11 @@ public final class TestExtractor {
/**
* Extractor primed on the 2 page basic test data
*/
- private PowerPointExtractor ppe;
private static final String expectText = "This is a test title\nThis is a test subtitle\nThis is on page 1\nThis is the title on page 2\nThis is page two\nIt has several blocks of text\nNone of them have formatting\n";
/**
* Extractor primed on the 1 page but text-box'd test data
*/
- private PowerPointExtractor ppe2;
private static final String expectText2 = "Hello, World!!!\nI am just a poor boy\nThis is Times New Roman\nPlain Text \n";
/**
@@ -63,49 +63,59 @@ public final class TestExtractor {
*/
private static POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
- @Before
- public void setUp() throws Exception {
- ppe = new PowerPointExtractor(slTests.getFile("basic_test_ppt_file.ppt").getCanonicalPath());
- ppe2 = new PowerPointExtractor(slTests.getFile("with_textbox.ppt").getCanonicalPath());
- }
-
- @After
- public void closeResources() throws Exception {
- ppe2.close();
- ppe.close();
+// @Before
+// public void setUp() throws Exception {
+// ppe = new PowerPointExtractor(slTests.getFile("basic_test_ppt_file.ppt").getCanonicalPath());
+// ppe2 = new PowerPointExtractor(slTests.getFile("with_textbox.ppt").getCanonicalPath());
+// }
+
+// @After
+// public void closeResources() throws Exception {
+// ppe2.close();
+// ppe.close();
+// }
+
+ private PowerPointExtractor openExtractor(String fileName) throws IOException {
+ InputStream is = slTests.openResourceAsStream(fileName);
+ try {
+ return new PowerPointExtractor(is);
+ } finally {
+ is.close();
+ }
}
-
+
@Test
- public void testReadSheetText() {
+ public void testReadSheetText() throws IOException {
// Basic 2 page example
- String sheetText = ppe.getText();
-
- ensureTwoStringsTheSame(expectText, sheetText);
-
+ PowerPointExtractor ppe = openExtractor("basic_test_ppt_file.ppt");
+ ensureTwoStringsTheSame(expectText, ppe.getText());
+ ppe.close();
// 1 page example with text boxes
- sheetText = ppe2.getText();
-
- ensureTwoStringsTheSame(expectText2, sheetText);
+ PowerPointExtractor ppe2 = openExtractor("with_textbox.ppt");
+ ensureTwoStringsTheSame(expectText2, ppe2.getText());
+ ppe2.close();
}
@Test
- public void testReadNoteText() {
+ public void testReadNoteText() throws IOException {
// Basic 2 page example
+ PowerPointExtractor ppe = openExtractor("basic_test_ppt_file.ppt");
String notesText = ppe.getNotes();
String expText = "These are the notes for page 1\nThese are the notes on page two, again lacking formatting\n";
-
ensureTwoStringsTheSame(expText, notesText);
+ ppe.close();
// Other one doesn't have notes
+ PowerPointExtractor ppe2 = openExtractor("with_textbox.ppt");
notesText = ppe2.getNotes();
expText = "";
-
ensureTwoStringsTheSame(expText, notesText);
+ ppe2.close();
}
@Test
- public void testReadBoth() {
+ public void testReadBoth() throws IOException {
String[] slText = new String[]{
"This is a test title\nThis is a test subtitle\nThis is on page 1\n",
"This is the title on page 2\nThis is page two\nIt has several blocks of text\nNone of them have formatting\n"
@@ -115,6 +125,7 @@ public final class TestExtractor {
"These are the notes on page two, again lacking formatting\n"
};
+ PowerPointExtractor ppe = openExtractor("basic_test_ppt_file.ppt");
ppe.setSlidesByDefault(true);
ppe.setNotesByDefault(false);
assertEquals(slText[0] + slText[1], ppe.getText());
@@ -126,6 +137,7 @@ public final class TestExtractor {
ppe.setSlidesByDefault(true);
ppe.setNotesByDefault(true);
assertEquals(slText[0] + slText[1] + "\n" + ntText[0] + ntText[1], ppe.getText());
+ ppe.close();
}
/**
@@ -135,9 +147,8 @@ public final class TestExtractor {
* @throws Exception
*/
@Test
- public void testMissingCoreRecords() throws Exception {
- ppe.close();
- ppe = new PowerPointExtractor(slTests.openResourceAsStream("missing_core_records.ppt"));
+ public void testMissingCoreRecords() throws IOException {
+ PowerPointExtractor ppe = openExtractor("missing_core_records.ppt");
String text = ppe.getText(true, false);
String nText = ppe.getNotes();
@@ -150,6 +161,8 @@ public final class TestExtractor {
// Slide records were fine
assertTrue(text.startsWith("Using Disease Surveillance and Response"));
+
+ ppe.close();
}
private void ensureTwoStringsTheSame(String exp, String act) {
@@ -163,49 +176,37 @@ public final class TestExtractor {
}
@Test
- public void testExtractFromEmbeded() throws Exception {
- POIFSFileSystem fs = new POIFSFileSystem(
- POIDataSamples.getSpreadSheetInstance().openResourceAsStream("excel_with_embeded.xls")
- );
- HSLFSlideShowImpl ss;
-
- DirectoryNode dirA = (DirectoryNode)
- fs.getRoot().getEntry("MBD0000A3B6");
- DirectoryNode dirB = (DirectoryNode)
- fs.getRoot().getEntry("MBD0000A3B3");
-
- assertNotNull(dirA.getEntry("PowerPoint Document"));
- assertNotNull(dirB.getEntry("PowerPoint Document"));
+ public void testExtractFromEmbeded() throws IOException {
+ InputStream is = POIDataSamples.getSpreadSheetInstance().openResourceAsStream("excel_with_embeded.xls");
+ POIFSFileSystem fs = new POIFSFileSystem(is);
+ DirectoryNode root = fs.getRoot();
+ PowerPointExtractor ppe1 = assertExtractFromEmbedded(root, "MBD0000A3B6", "Sample PowerPoint file\nThis is the 1st file\nNot much too it\n");
+ PowerPointExtractor ppe2 = assertExtractFromEmbedded(root, "MBD0000A3B3", "Sample PowerPoint file\nThis is the 2nd file\nNot much too it either\n");
+ ppe2.close();
+ ppe1.close();
+ fs.close();
+ }
+
+ private PowerPointExtractor assertExtractFromEmbedded(DirectoryNode root, String entryName, String expected)
+ throws IOException {
+ DirectoryNode dir = (DirectoryNode)root.getEntry(entryName);
+ assertTrue(dir.hasEntry("PowerPoint Document"));
// Check the first file
- ss = new HSLFSlideShowImpl(dirA);
- ppe.close();
- ppe = new PowerPointExtractor(ss);
- assertEquals("Sample PowerPoint file\nThis is the 1st file\nNot much too it\n",
- ppe.getText(true, false)
- );
-
- // And the second
- ss = new HSLFSlideShowImpl(dirB);
- ppe.close();
- ppe = new PowerPointExtractor(ss);
- assertEquals("Sample PowerPoint file\nThis is the 2nd file\nNot much too it either\n",
- ppe.getText(true, false)
- );
- fs.close();
+ HSLFSlideShowImpl ppt = new HSLFSlideShowImpl(dir);
+ PowerPointExtractor ppe = new PowerPointExtractor(ppt);
+ assertEquals(expected, ppe.getText(true, false));
+ return ppe;
}
/**
* A powerpoint file with embeded powerpoint files
*/
- @SuppressWarnings("unused")
@Test
- public void testExtractFromOwnEmbeded() throws Exception {
- String path = "ppt_with_embeded.ppt";
- ppe.close();
- ppe = new PowerPointExtractor(POIDataSamples.getSlideShowInstance().openResourceAsStream(path));
+ public void testExtractFromOwnEmbeded() throws IOException {
+ PowerPointExtractor ppe = openExtractor("ppt_with_embeded.ppt");
List<OLEShape> shapes = ppe.getOLEShapes();
- assertEquals("Expected 6 ole shapes in " + path, 6, shapes.size());
+ assertEquals("Expected 6 ole shapes", 6, shapes.size());
int num_ppt = 0, num_doc = 0, num_xls = 0;
for (OLEShape ole : shapes) {
String name = ole.getInstanceName();
@@ -217,6 +218,7 @@ public final class TestExtractor {
} else if ("Document".equals(name)) {
HWPFDocument doc = new HWPFDocument(data);
num_doc++;
+ doc.close();
} else if ("Presentation".equals(name)) {
num_ppt++;
HSLFSlideShow ppt = new HSLFSlideShow(data);
@@ -227,153 +229,147 @@ public final class TestExtractor {
assertEquals("Expected 2 embedded Word Documents", 2, num_doc);
assertEquals("Expected 2 embedded Excel Spreadsheets", 2, num_xls);
assertEquals("Expected 2 embedded PowerPoint Presentations", 2, num_ppt);
+ ppe.close();
}
/**
* A powerpoint file with embeded powerpoint files
*/
@Test
- public void test52991() throws Exception {
- String path = "badzip.ppt";
- ppe.close();
- ppe = new PowerPointExtractor(POIDataSamples.getSlideShowInstance().openResourceAsStream(path));
- List<OLEShape> shapes = ppe.getOLEShapes();
-
- for (OLEShape shape : shapes) {
+ public void test52991() throws IOException {
+ PowerPointExtractor ppe = openExtractor("badzip.ppt");
+ for (OLEShape shape : ppe.getOLEShapes()) {
IOUtils.copy(shape.getObjectData().getData(), new ByteArrayOutputStream());
}
+ ppe.close();
}
/**
* From bug #45543
*/
@Test
- public void testWithComments() throws Exception {
- ppe.close();
- ppe = new PowerPointExtractor(slTests.openResourceAsStream("WithComments.ppt"));
-
- String text = ppe.getText();
+ public void testWithComments() throws IOException {
+ PowerPointExtractor ppe1 = openExtractor("WithComments.ppt");
+ String text = ppe1.getText();
assertFalse("Comments not in by default", text.contains("This is a test comment"));
- ppe.setCommentsByDefault(true);
+ ppe1.setCommentsByDefault(true);
- text = ppe.getText();
+ text = ppe1.getText();
assertContains(text, "This is a test comment");
+ ppe1.close();
// And another file
- ppe.close();
- ppe = new PowerPointExtractor(slTests.openResourceAsStream("45543.ppt"));
-
- text = ppe.getText();
+ PowerPointExtractor ppe2 = openExtractor("45543.ppt");
+ text = ppe2.getText();
assertFalse("Comments not in by default", text.contains("testdoc"));
- ppe.setCommentsByDefault(true);
+ ppe2.setCommentsByDefault(true);
- text = ppe.getText();
+ text = ppe2.getText();
assertContains(text, "testdoc");
+ ppe2.close();
}
/**
* From bug #45537
*/
@Test
- public void testHeaderFooter() throws Exception {
+ public void testHeaderFooter() throws IOException {
String text;
// With a header on the notes
- HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(slTests.openResourceAsStream("45537_Header.ppt"));
- HSLFSlideShow ss = new HSLFSlideShow(hslf);
- assertNotNull(ss.getNotesHeadersFooters());
- assertEquals("testdoc test phrase", ss.getNotesHeadersFooters().getHeaderText());
- ppe.close();
+ InputStream is1 = slTests.openResourceAsStream("45537_Header.ppt");
+ HSLFSlideShow ppt1 = new HSLFSlideShow(is1);
+ is1.close();
+ assertNotNull(ppt1.getNotesHeadersFooters());
+ assertEquals("testdoc test phrase", ppt1.getNotesHeadersFooters().getHeaderText());
- ppe = new PowerPointExtractor(hslf);
+ PowerPointExtractor ppe1 = new PowerPointExtractor(ppt1.getSlideShowImpl());
- text = ppe.getText();
+ text = ppe1.getText();
assertFalse("Header shouldn't be there by default\n" + text, text.contains("testdoc"));
assertFalse("Header shouldn't be there by default\n" + text, text.contains("test phrase"));
- ppe.setNotesByDefault(true);
- text = ppe.getText();
+ ppe1.setNotesByDefault(true);
+ text = ppe1.getText();
assertContains(text, "testdoc");
assertContains(text, "test phrase");
- ss.close();
+ ppe1.close();
+ ppt1.close();
// And with a footer, also on notes
- hslf = new HSLFSlideShowImpl(slTests.openResourceAsStream("45537_Footer.ppt"));
- ss = new HSLFSlideShow(hslf);
- assertNotNull(ss.getNotesHeadersFooters());
- assertEquals("testdoc test phrase", ss.getNotesHeadersFooters().getFooterText());
- ppe.close();
+ InputStream is2 = slTests.openResourceAsStream("45537_Footer.ppt");
+ HSLFSlideShow ppt2 = new HSLFSlideShow(is2);
+ is2.close();
+
+ assertNotNull(ppt2.getNotesHeadersFooters());
+ assertEquals("testdoc test phrase", ppt2.getNotesHeadersFooters().getFooterText());
+ ppt2.close();
- ppe = new PowerPointExtractor(slTests.openResourceAsStream("45537_Footer.ppt"));
+ PowerPointExtractor ppe2 = openExtractor("45537_Footer.ppt");
- text = ppe.getText();
+ text = ppe2.getText();
assertFalse("Header shouldn't be there by default\n" + text, text.contains("testdoc"));
assertFalse("Header shouldn't be there by default\n" + text, text.contains("test phrase"));
- ppe.setNotesByDefault(true);
- text = ppe.getText();
+ ppe2.setNotesByDefault(true);
+ text = ppe2.getText();
assertContains(text, "testdoc");
assertContains(text, "test phrase");
+ ppe2.close();
}
@SuppressWarnings("unused")
@Test
- public void testSlideMasterText() throws Exception {
+ public void testSlideMasterText() throws IOException {
String masterTitleText = "This is the Master Title";
String masterRandomText = "This text comes from the Master Slide";
String masterFooterText = "Footer from the master slide";
- HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(slTests.openResourceAsStream("WithMaster.ppt"));
- ppe.close();
-
- ppe = new PowerPointExtractor(hslf);
+ PowerPointExtractor ppe = openExtractor("WithMaster.ppt");
+ ppe.setMasterByDefault(true);
String text = ppe.getText();
- //assertContains(text, masterTitleText); // TODO Is this available in PPT?
- //assertContains(text, masterRandomText); // TODO Extract
+ assertContains(text, masterRandomText);
assertContains(text, masterFooterText);
+ ppe.close();
}
@Test
- public void testMasterText() throws Exception {
- ppe.close();
- ppe = new PowerPointExtractor(slTests.openResourceAsStream("master_text.ppt"));
+ public void testMasterText() throws IOException {
+ PowerPointExtractor ppe1 = openExtractor("master_text.ppt");
// Initially not there
- String text = ppe.getText();
+ String text = ppe1.getText();
assertFalse(text.contains("Text that I added to the master slide"));
// Enable, shows up
- ppe.setMasterByDefault(true);
- text = ppe.getText();
+ ppe1.setMasterByDefault(true);
+ text = ppe1.getText();
assertTrue(text.contains("Text that I added to the master slide"));
// Make sure placeholder text does not come out
assertFalse(text.contains("Click to edit Master"));
+ ppe1.close();
// Now with another file only containing master text
// Will always show up
+ PowerPointExtractor ppe2 = openExtractor("WithMaster.ppt");
String masterText = "Footer from the master slide";
- HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(slTests.openResourceAsStream("WithMaster.ppt"));
- ppe.close();
- ppe = new PowerPointExtractor(hslf);
-
- text = ppe.getText();
+ text = ppe2.getText();
assertContainsIgnoreCase(text, "master");
assertContains(text, masterText);
+ ppe2.close();
}
/**
* Bug #54880 Chinese text not extracted properly
*/
@Test
- public void testChineseText() throws Exception {
- HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(slTests.openResourceAsStream("54880_chinese.ppt"));
- ppe.close();
- ppe = new PowerPointExtractor(hslf);
+ public void testChineseText() throws IOException {
+ PowerPointExtractor ppe = openExtractor("54880_chinese.ppt");
String text = ppe.getText();
@@ -388,6 +384,7 @@ public final class TestExtractor {
// Check for the chinese only text line
assertContains(text, "\uff8a\uff9d\uff76\uff78");
+ ppe.close();
}
/**
@@ -396,12 +393,15 @@ public final class TestExtractor {
*/
@SuppressWarnings("resource")
@Test
- public void testDifferentPOIFS() throws Exception {
+ public void testDifferentPOIFS() throws IOException {
// Open the two filesystems
- DirectoryNode[] files = new DirectoryNode[2];
- files[0] = (new POIFSFileSystem(slTests.openResourceAsStream("basic_test_ppt_file.ppt"))).getRoot();
- NPOIFSFileSystem npoifsFileSystem = new NPOIFSFileSystem(slTests.getFile("basic_test_ppt_file.ppt"));
- files[1] = npoifsFileSystem.getRoot();
+ File pptFile = slTests.getFile("basic_test_ppt_file.ppt");
+ InputStream is1 = new FileInputStream(pptFile);
+ OPOIFSFileSystem opoifs = new OPOIFSFileSystem(is1);
+ is1.close();
+ NPOIFSFileSystem npoifs = new NPOIFSFileSystem(pptFile);
+
+ DirectoryNode[] files = { opoifs.getRoot(), npoifs.getRoot() };
// Open directly
for (DirectoryNode dir : files) {
@@ -409,48 +409,48 @@ public final class TestExtractor {
assertEquals(expectText, extractor.getText());
}
- // Open via a HWPFDocument
+ // Open via a HSLFSlideShow
for (DirectoryNode dir : files) {
HSLFSlideShowImpl slideshow = new HSLFSlideShowImpl(dir);
PowerPointExtractor extractor = new PowerPointExtractor(slideshow);
assertEquals(expectText, extractor.getText());
+ extractor.close();
+ slideshow.close();
}
- npoifsFileSystem.close();
+ npoifs.close();
}
@Test
public void testTable() throws Exception {
-// ppe = new PowerPointExtractor(slTests.openResourceAsStream("54111.ppt"));
-// String text = ppe.getText();
-// String target = "TH Cell 1\tTH Cell 2\tTH Cell 3\tTH Cell 4\n"+
-// "Row 1, Cell 1\tRow 1, Cell 2\tRow 1, Cell 3\tRow 1, Cell 4\n"+
-// "Row 2, Cell 1\tRow 2, Cell 2\tRow 2, Cell 3\tRow 2, Cell 4\n"+
-// "Row 3, Cell 1\tRow 3, Cell 2\tRow 3, Cell 3\tRow 3, Cell 4\n"+
-// "Row 4, Cell 1\tRow 4, Cell 2\tRow 4, Cell 3\tRow 4, Cell 4\n"+
-// "Row 5, Cell 1\tRow 5, Cell 2\tRow 5, Cell 3\tRow 5, Cell 4\n";
-// assertTrue(text.contains(target));
- ppe.close();
-
- ppe = new PowerPointExtractor(slTests.openResourceAsStream("54722.ppt"));
- String text = ppe.getText();
-
- String target = "this\tText\tis\twithin\ta\n" +
+ PowerPointExtractor ppe1 = openExtractor("54111.ppt");
+ String text1 = ppe1.getText();
+ String target1 = "TH Cell 1\tTH Cell 2\tTH Cell 3\tTH Cell 4\n"+
+ "Row 1, Cell 1\tRow 1, Cell 2\tRow 1, Cell 3\tRow 1, Cell 4\n"+
+ "Row 2, Cell 1\tRow 2, Cell 2\tRow 2, Cell 3\tRow 2, Cell 4\n"+
+ "Row 3, Cell 1\tRow 3, Cell 2\tRow 3, Cell 3\tRow 3, Cell 4\n"+
+ "Row 4, Cell 1\tRow 4, Cell 2\tRow 4, Cell 3\tRow 4, Cell 4\n"+
+ "Row 5, Cell 1\tRow 5, Cell 2\tRow 5, Cell 3\tRow 5, Cell 4\n";
+ assertTrue(text1.contains(target1));
+ ppe1.close();
+
+ PowerPointExtractor ppe2 = openExtractor("54722.ppt");
+ String text2 = ppe2.getText();
+
+ String target2 = "this\tText\tis\twithin\ta\n" +
"table\t1\t2\t3\t4";
- assertTrue(text.contains(target));
+ assertTrue(text2.contains(target2));
+ ppe2.close();
}
// bug 60003
@Test
public void testExtractMasterSlideFooterText() throws Exception {
- HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(slTests.openResourceAsStream("60003.ppt"));
- ppe.close();
-
- ppe = new PowerPointExtractor(hslf);
+ PowerPointExtractor ppe = openExtractor("60003.ppt");
ppe.setMasterByDefault(true);
String text = ppe.getText();
assertContains(text, "Prague");
- hslf.close();
+ ppe.close();
}
}
diff --git a/src/testcases/org/apache/poi/hssf/extractor/TestOldExcelExtractor.java b/src/testcases/org/apache/poi/hssf/extractor/TestOldExcelExtractor.java
index c46867d2ed..659f769023 100644
--- a/src/testcases/org/apache/poi/hssf/extractor/TestOldExcelExtractor.java
+++ b/src/testcases/org/apache/poi/hssf/extractor/TestOldExcelExtractor.java
@@ -52,7 +52,7 @@ public final class TestOldExcelExtractor {
}
@Test
- public void testSimpleExcel3() throws Exception {
+ public void testSimpleExcel3() throws IOException {
OldExcelExtractor extractor = createExtractor("testEXCEL_3.xls");
// Check we can call getText without error
@@ -78,7 +78,7 @@ public final class TestOldExcelExtractor {
@Test
- public void testSimpleExcel3NoReading() throws Exception {
+ public void testSimpleExcel3NoReading() throws IOException {
OldExcelExtractor extractor = createExtractor("testEXCEL_3.xls");
assertNotNull(extractor);
@@ -86,7 +86,7 @@ public final class TestOldExcelExtractor {
}
@Test
- public void testSimpleExcel4() throws Exception {
+ public void testSimpleExcel4() throws IOException {
OldExcelExtractor extractor = createExtractor("testEXCEL_4.xls");
// Check we can call getText without error
@@ -108,7 +108,7 @@ public final class TestOldExcelExtractor {
}
@Test
- public void testSimpleExcel5() throws Exception {
+ public void testSimpleExcel5() throws IOException {
for (String ver : new String[] {"5", "95"}) {
OldExcelExtractor extractor = createExtractor("testEXCEL_"+ver+".xls");
@@ -135,7 +135,7 @@ public final class TestOldExcelExtractor {
}
@Test
- public void testStrings() throws Exception {
+ public void testStrings() throws IOException {
OldExcelExtractor extractor = createExtractor("testEXCEL_4.xls");
String text = extractor.getText();
@@ -156,7 +156,7 @@ public final class TestOldExcelExtractor {
}
@Test
- public void testFormattedNumbersExcel4() throws Exception {
+ public void testFormattedNumbersExcel4() throws IOException {
OldExcelExtractor extractor = createExtractor("testEXCEL_4.xls");
String text = extractor.getText();
@@ -177,7 +177,7 @@ public final class TestOldExcelExtractor {
}
@Test
- public void testFormattedNumbersExcel5() throws Exception {
+ public void testFormattedNumbersExcel5() throws IOException {
for (String ver : new String[] {"5", "95"}) {
OldExcelExtractor extractor = createExtractor("testEXCEL_"+ver+".xls");
String text = extractor.getText();
@@ -204,7 +204,7 @@ public final class TestOldExcelExtractor {
}
@Test
- public void testFromFile() throws Exception {
+ public void testFromFile() throws IOException {
for (String ver : new String[] {"4", "5", "95"}) {
String filename = "testEXCEL_"+ver+".xls";
File f = HSSFTestDataSamples.getSampleFile(filename);
@@ -218,47 +218,39 @@ public final class TestOldExcelExtractor {
}
}
- @Test
- public void testOpenInvalidFile() throws Exception {
+ @Test(expected=OfficeXmlFileException.class)
+ public void testOpenInvalidFile1() throws IOException {
// a file that exists, but is a different format
- try {
- createExtractor("WithVariousData.xlsx");
- fail("Should catch Exception here");
- } catch (OfficeXmlFileException e) {
- // expected here
- }
-
+ createExtractor("WithVariousData.xlsx");
+ }
+
+
+ @Test(expected=RecordFormatException.class)
+ public void testOpenInvalidFile2() throws IOException {
// a completely different type of file
- try {
- createExtractor("48936-strings.txt");
- fail("Should catch Exception here");
- } catch (RecordFormatException e) {
- // expected here
- }
+ createExtractor("48936-strings.txt");
+ }
+ @Test(expected=FileNotFoundException.class)
+ public void testOpenInvalidFile3() throws IOException {
// a POIFS file which is not a Workbook
+ InputStream is = POIDataSamples.getDocumentInstance().openResourceAsStream("47304.doc");
try {
- new OldExcelExtractor(POIDataSamples.getDocumentInstance().getFile("47304.doc"));
- fail("Should catch Exception here");
- } catch (FileNotFoundException e) {
- // expected here
+ new OldExcelExtractor(is).close();
+ } finally {
+ is.close();
}
}
- @Test
- public void testOpenNonExistingFile() throws Exception {
+ @Test(expected=EmptyFileException.class)
+ public void testOpenNonExistingFile() throws IOException {
// a file that exists, but is a different format
- try {
- OldExcelExtractor extractor = new OldExcelExtractor(new File("notexistingfile.xls"));
- extractor.close();
- fail("Should catch Exception here");
- } catch (EmptyFileException e) {
- // expected here
- }
+ OldExcelExtractor extractor = new OldExcelExtractor(new File("notexistingfile.xls"));
+ extractor.close();
}
@Test
- public void testInputStream() throws Exception {
+ public void testInputStream() throws IOException {
File file = HSSFTestDataSamples.getSampleFile("testEXCEL_3.xls");
InputStream stream = new FileInputStream(file);
try {
@@ -272,7 +264,7 @@ public final class TestOldExcelExtractor {
}
@Test
- public void testInputStreamNPOIHeader() throws Exception {
+ public void testInputStreamNPOIHeader() throws IOException {
File file = HSSFTestDataSamples.getSampleFile("FormulaRefs.xls");
InputStream stream = new FileInputStream(file);
try {
@@ -284,7 +276,7 @@ public final class TestOldExcelExtractor {
}
@Test
- public void testNPOIFSFileSystem() throws Exception {
+ public void testNPOIFSFileSystem() throws IOException {
File file = HSSFTestDataSamples.getSampleFile("FormulaRefs.xls");
NPOIFSFileSystem fs = new NPOIFSFileSystem(file);
try {
@@ -296,7 +288,7 @@ public final class TestOldExcelExtractor {
}
@Test
- public void testDirectoryNode() throws Exception {
+ public void testDirectoryNode() throws IOException {
File file = HSSFTestDataSamples.getSampleFile("FormulaRefs.xls");
NPOIFSFileSystem fs = new NPOIFSFileSystem(file);
try {
@@ -308,7 +300,7 @@ public final class TestOldExcelExtractor {
}
@Test
- public void testDirectoryNodeInvalidFile() throws Exception {
+ public void testDirectoryNodeInvalidFile() throws IOException {
File file = POIDataSamples.getDocumentInstance().getFile("test.doc");
NPOIFSFileSystem fs = new NPOIFSFileSystem(file);
try {
@@ -324,7 +316,7 @@ public final class TestOldExcelExtractor {
@Ignore("Calls System.exit()")
@Test
- public void testMainUsage() throws Exception {
+ public void testMainUsage() throws IOException {
PrintStream save = System.err;
try {
ByteArrayOutputStream out = new ByteArrayOutputStream();
@@ -341,7 +333,7 @@ public final class TestOldExcelExtractor {
}
@Test
- public void testMain() throws Exception {
+ public void testMain() throws IOException {
File file = HSSFTestDataSamples.getSampleFile("testEXCEL_3.xls");
PrintStream save = System.out;
try {
@@ -362,7 +354,7 @@ public final class TestOldExcelExtractor {
}
@Test
- public void testEncryptionException() throws Exception {
+ public void testEncryptionException() throws IOException {
//test file derives from Common Crawl
File file = HSSFTestDataSamples.getSampleFile("60284.xls");
OldExcelExtractor ex = new OldExcelExtractor(file);
diff --git a/src/testcases/org/apache/poi/hssf/model/TestDrawingAggregate.java b/src/testcases/org/apache/poi/hssf/model/TestDrawingAggregate.java
index 70e7c7db63..2f929a06ff 100644
--- a/src/testcases/org/apache/poi/hssf/model/TestDrawingAggregate.java
+++ b/src/testcases/org/apache/poi/hssf/model/TestDrawingAggregate.java
@@ -16,6 +16,7 @@
==================================================================== */
package org.apache.poi.hssf.model;
+import static org.apache.poi.poifs.storage.RawDataUtil.decompress;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -32,9 +33,6 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.zip.GZIPInputStream;
-
-import javax.xml.bind.DatatypeConverter;
import org.apache.poi.ddf.DefaultEscherRecordFactory;
import org.apache.poi.ddf.EscherContainerRecord;
@@ -59,7 +57,6 @@ import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFTestHelper;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.util.HexDump;
-import org.apache.poi.util.IOUtils;
import org.junit.Test;
public class TestDrawingAggregate {
@@ -946,32 +943,4 @@ public class TestDrawingAggregate {
assertEquals("different size of drawing data before and after save", dgBytes.length, dgBytesAfterSave.length);
assertTrue("drawing data brefpore and after save is different", Arrays.equals(dgBytes, dgBytesAfterSave));
}
-
-
- /**
- * Decompress previously gziped/base64ed data
- *
- * @param data the gziped/base64ed data
- * @return the raw bytes
- * @throws IOException if you copy and pasted the data wrong
- */
- public static byte[] decompress(String data) throws IOException {
- byte[] base64Bytes = DatatypeConverter.parseBase64Binary(data);
- return IOUtils.toByteArray(new GZIPInputStream(new ByteArrayInputStream(base64Bytes)));
- }
-
- /**
- * Compress raw data for test runs - usually called while debugging :)
- *
- * @param data the raw data
- * @return the gziped/base64ed data as String
- * @throws IOException usually not ...
- */
- public static String compress(byte[] data) throws IOException {
- java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream();
- java.util.zip.GZIPOutputStream gz = new java.util.zip.GZIPOutputStream(bos);
- gz.write(data);
- gz.finish();
- return DatatypeConverter.printBase64Binary(bos.toByteArray());
- }
}
diff --git a/src/testcases/org/apache/poi/hssf/record/TestStringRecord.java b/src/testcases/org/apache/poi/hssf/record/TestStringRecord.java
index ec7b84c693..c73493cb32 100644
--- a/src/testcases/org/apache/poi/hssf/record/TestStringRecord.java
+++ b/src/testcases/org/apache/poi/hssf/record/TestStringRecord.java
@@ -18,22 +18,22 @@
package org.apache.poi.hssf.record;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+
import org.apache.poi.util.HexRead;
import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.LittleEndianByteArrayInputStream;
-import org.apache.poi.util.LittleEndianInput;
-
-import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
+import org.junit.Test;
/**
* Tests the serialization and deserialization of the StringRecord
* class works correctly. Test data taken directly from a real
* Excel file.
- *
- * @author Glen Stampoultzis (glens at apache.org)
*/
-public final class TestStringRecord extends TestCase {
+public final class TestStringRecord {
private static final byte[] data = HexRead.readFromString(
"0B 00 " + // length
"00 " + // option
@@ -41,6 +41,7 @@ public final class TestStringRecord extends TestCase {
"46 61 68 72 7A 65 75 67 74 79 70"
);
+ @Test
public void testLoad() {
StringRecord record = new StringRecord(TestcaseRecordInputStream.create(0x207, data));
@@ -49,17 +50,20 @@ public final class TestStringRecord extends TestCase {
assertEquals( 18, record.getRecordSize() );
}
- public void testStore() {
+ @Test
+ public void testStore() {
StringRecord record = new StringRecord();
record.setString("Fahrzeugtyp");
byte [] recordBytes = record.serialize();
assertEquals(recordBytes.length - 4, data.length);
- for (int i = 0; i < data.length; i++)
- assertEquals("At offset " + i, data[i], recordBytes[i+4]);
+ for (int i = 0; i < data.length; i++) {
+ assertEquals("At offset " + i, data[i], recordBytes[i+4]);
+ }
}
- public void testContinue() {
+ @Test
+ public void testContinue() throws IOException {
int MAX_BIFF_DATA = RecordInputStream.MAX_RECORD_DATA_SIZE;
int TEXT_LEN = MAX_BIFF_DATA + 1000; // deliberately over-size
String textChunk = "ABCDEGGHIJKLMNOP"; // 16 chars
@@ -74,15 +78,14 @@ public final class TestStringRecord extends TestCase {
byte[] ser = sr.serialize();
assertEquals(StringRecord.sid, LittleEndian.getUShort(ser, 0));
if (LittleEndian.getUShort(ser, 2) > MAX_BIFF_DATA) {
- throw new AssertionFailedError(
- "StringRecord should have been split with a continue record");
+ fail("StringRecord should have been split with a continue record");
}
// Confirm expected size of first record, and ushort strLen.
assertEquals(MAX_BIFF_DATA, LittleEndian.getUShort(ser, 2));
assertEquals(TEXT_LEN, LittleEndian.getUShort(ser, 4));
// Confirm first few bytes of ContinueRecord
- LittleEndianInput crIn = new LittleEndianByteArrayInputStream(ser, (MAX_BIFF_DATA + 4));
+ LittleEndianByteArrayInputStream crIn = new LittleEndianByteArrayInputStream(ser, (MAX_BIFF_DATA + 4));
int nCharsInFirstRec = MAX_BIFF_DATA - (2 + 1); // strLen, optionFlags
int nCharsInSecondRec = TEXT_LEN - nCharsInFirstRec;
assertEquals(ContinueRecord.sid, crIn.readUShort());
@@ -95,5 +98,6 @@ public final class TestStringRecord extends TestCase {
RecordInputStream in = TestcaseRecordInputStream.create(ser);
StringRecord sr2 = new StringRecord(in);
assertEquals(sb.toString(), sr2.getString());
+ crIn.close();
}
}
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java
index 9e40695b4b..f8162fcf28 100644
--- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java
+++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java
@@ -16,7 +16,7 @@
==================================================================== */
package org.apache.poi.hssf.usermodel;
-import static org.apache.poi.hssf.model.TestDrawingAggregate.decompress;
+import static org.apache.poi.poifs.storage.RawDataUtil.decompress;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -41,6 +41,7 @@ import org.apache.poi.ss.usermodel.Drawing;
import org.apache.poi.ss.usermodel.RichTextString;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
import org.junit.Test;
/**
@@ -102,7 +103,7 @@ public final class TestHSSFComment extends BaseTestCellComment {
public void testBug56380InsertComments() throws Exception {
HSSFWorkbook workbook = new HSSFWorkbook();
Sheet sheet = workbook.createSheet();
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
int noOfRows = 1025;
String comment = "c";
@@ -139,7 +140,7 @@ public final class TestHSSFComment extends BaseTestCellComment {
HSSFWorkbook workbook = new HSSFWorkbook();
try {
Sheet sheet = workbook.createSheet();
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
String comment = "c";
for(int rowNum = 0;rowNum < 258;rowNum++) {
@@ -179,7 +180,7 @@ public final class TestHSSFComment extends BaseTestCellComment {
}
}
- private Comment insertComment(Drawing drawing, Cell cell, String message) {
+ private Comment insertComment(Drawing<?> drawing, Cell cell, String message) {
CreationHelper factory = cell.getSheet().getWorkbook().getCreationHelper();
ClientAnchor anchor = factory.createClientAnchor();
@@ -272,7 +273,7 @@ public final class TestHSSFComment extends BaseTestCellComment {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sh = wb.createSheet();
HSSFPatriarch patriarch = sh.createDrawingPatriarch();
- int idx = wb.addPicture(new byte[]{1,2,3}, HSSFWorkbook.PICTURE_TYPE_PNG);
+ int idx = wb.addPicture(new byte[]{1,2,3}, Workbook.PICTURE_TYPE_PNG);
HSSFComment comment = patriarch.createCellComment(new HSSFClientAnchor());
comment.setColumn(5);
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestPolygon.java b/src/testcases/org/apache/poi/hssf/usermodel/TestPolygon.java
index 6174a5ff30..1b9ad1ffa6 100644
--- a/src/testcases/org/apache/poi/hssf/usermodel/TestPolygon.java
+++ b/src/testcases/org/apache/poi/hssf/usermodel/TestPolygon.java
@@ -17,7 +17,7 @@
package org.apache.poi.hssf.usermodel;
-import static org.apache.poi.hssf.model.TestDrawingAggregate.decompress;
+import static org.apache.poi.poifs.storage.RawDataUtil.decompress;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestText.java b/src/testcases/org/apache/poi/hssf/usermodel/TestText.java
index c8203d8d49..cb8f1d4bd5 100644
--- a/src/testcases/org/apache/poi/hssf/usermodel/TestText.java
+++ b/src/testcases/org/apache/poi/hssf/usermodel/TestText.java
@@ -17,7 +17,7 @@
package org.apache.poi.hssf.usermodel;
-import static org.apache.poi.hssf.model.TestDrawingAggregate.decompress;
+import static org.apache.poi.poifs.storage.RawDataUtil.decompress;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
diff --git a/src/testcases/org/apache/poi/poifs/storage/RawDataUtil.java b/src/testcases/org/apache/poi/poifs/storage/RawDataUtil.java
index 487c8eb804..f3ae3b0877 100644
--- a/src/testcases/org/apache/poi/poifs/storage/RawDataUtil.java
+++ b/src/testcases/org/apache/poi/poifs/storage/RawDataUtil.java
@@ -16,11 +16,17 @@
==================================================================== */
package org.apache.poi.poifs.storage;
+import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
+import java.io.IOException;
import java.util.Arrays;
+import java.util.zip.GZIPInputStream;
+
+import javax.xml.bind.DatatypeConverter;
import org.apache.poi.util.HexDump;
import org.apache.poi.util.HexRead;
+import org.apache.poi.util.IOUtils;
/**
* Test utility class.<br/>
@@ -81,4 +87,31 @@ public final class RawDataUtil {
throw new RuntimeException("different");
}
}
+
+ /**
+ * Decompress previously gziped/base64ed data
+ *
+ * @param data the gziped/base64ed data
+ * @return the raw bytes
+ * @throws IOException if you copy and pasted the data wrong
+ */
+ public static byte[] decompress(String data) throws IOException {
+ byte[] base64Bytes = DatatypeConverter.parseBase64Binary(data);
+ return IOUtils.toByteArray(new GZIPInputStream(new ByteArrayInputStream(base64Bytes)));
+ }
+
+ /**
+ * Compress raw data for test runs - usually called while debugging :)
+ *
+ * @param data the raw data
+ * @return the gziped/base64ed data as String
+ * @throws IOException usually not ...
+ */
+ public static String compress(byte[] data) throws IOException {
+ java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream();
+ java.util.zip.GZIPOutputStream gz = new java.util.zip.GZIPOutputStream(bos);
+ gz.write(data);
+ gz.finish();
+ return DatatypeConverter.printBase64Binary(bos.toByteArray());
+ }
}
diff --git a/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java b/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java
index a1f296355f..52f8b72b21 100644
--- a/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java
+++ b/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java
@@ -17,6 +17,23 @@
package org.apache.poi.ss.usermodel;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.awt.font.FontRenderContext;
+import java.awt.font.TextAttribute;
+import java.awt.font.TextLayout;
+import java.awt.geom.Rectangle2D;
+import java.io.IOException;
+import java.text.AttributedString;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.ITestDataProvider;
import org.apache.poi.ss.SpreadsheetVersion;
@@ -30,18 +47,6 @@ import org.junit.Assume;
import org.junit.Ignore;
import org.junit.Test;
-import java.awt.font.FontRenderContext;
-import java.awt.font.TextAttribute;
-import java.awt.font.TextLayout;
-import java.awt.geom.Rectangle2D;
-import java.io.IOException;
-import java.text.AttributedString;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static org.junit.Assert.*;
-
/**
* A base class for bugzilla issues that can be described in terms of common ss interfaces.
*
@@ -70,8 +75,9 @@ public abstract class BaseTestBugzillaIssues {
public static void assertAlmostEquals(double expected, double actual, float factor) {
double diff = Math.abs(expected - actual);
double fuzz = expected * factor;
- if (diff > fuzz)
+ if (diff > fuzz) {
fail(actual + " not within " + fuzz + " of " + expected);
+ }
}
/**
@@ -359,7 +365,9 @@ public abstract class BaseTestBugzillaIssues {
fmla.append(name);
fmla.append("(");
for(int i=0; i < maxArgs; i++){
- if(i > 0) fmla.append(',');
+ if(i > 0) {
+ fmla.append(',');
+ }
fmla.append("A1");
}
fmla.append(")");
@@ -512,9 +520,15 @@ public abstract class BaseTestBugzillaIssues {
private static void copyAttributes(Font font, AttributedString str, int endIdx) {
str.addAttribute(TextAttribute.FAMILY, font.getFontName(), 0, endIdx);
str.addAttribute(TextAttribute.SIZE, (float)font.getFontHeightInPoints());
- if (font.getBold()) str.addAttribute(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD, 0, endIdx);
- if (font.getItalic() ) str.addAttribute(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE, 0, endIdx);
- if (font.getUnderline() == Font.U_SINGLE ) str.addAttribute(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON, 0, endIdx);
+ if (font.getBold()) {
+ str.addAttribute(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD, 0, endIdx);
+ }
+ if (font.getItalic() ) {
+ str.addAttribute(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE, 0, endIdx);
+ }
+ if (font.getUnderline() == Font.U_SINGLE ) {
+ str.addAttribute(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON, 0, endIdx);
+ }
}
/**
@@ -1063,7 +1077,7 @@ public abstract class BaseTestBugzillaIssues {
CreationHelper factory = wb.getCreationHelper();
Sheet sheet = wb.createSheet();
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
ClientAnchor anchor = factory.createClientAnchor();
Cell cell0 = sheet.createRow(0).createCell(0);
@@ -1513,7 +1527,7 @@ public abstract class BaseTestBugzillaIssues {
CreationHelper helper = wb.getCreationHelper();
ClientAnchor anchor = helper.createClientAnchor();
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
Row row = sheet.createRow(0);
@@ -1677,7 +1691,7 @@ public abstract class BaseTestBugzillaIssues {
assertEquals(10, row.getRowNum());
for (Cell cell : row) {
- String cellValue = null;
+ String cellValue;
switch (cell.getCellTypeEnum()) {
case STRING:
cellValue = cell.getRichStringCellValue().getString();
@@ -1685,6 +1699,9 @@ public abstract class BaseTestBugzillaIssues {
case FORMULA:
cellValue = cell.getCellFormula();
break;
+ default:
+ fail("unexpected cell type");
+ return;
}
assertNotNull(cellValue);
cellValue = cellValue.isEmpty() ? null : cellValue;
diff --git a/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java b/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java
index be097d3482..0bec60deda 100644
--- a/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java
+++ b/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java
@@ -253,7 +253,7 @@ public abstract class BaseTestCell {
Font f = wb1.createFont();
f.setFontHeightInPoints((short) 20);
f.setColor(IndexedColors.RED.getIndex());
- f.setBoldweight(Font.BOLDWEIGHT_BOLD);
+ f.setBold(true);
f.setFontName("Arial Unicode MS");
cs.setFillBackgroundColor((short)3);
cs.setFont(f);
@@ -718,7 +718,7 @@ public abstract class BaseTestCell {
assertFalse(style.getHidden());
assertEquals(0, style.getIndention());
assertEquals(0, style.getFontIndex());
- assertEquals(0, style.getAlignment());
+ assertEquals(HorizontalAlignment.GENERAL, style.getAlignmentEnum());
assertEquals(0, style.getDataFormat());
assertEquals(false, style.getWrapText());
@@ -1004,7 +1004,7 @@ public abstract class BaseTestCell {
anchor.setRow1(row.getRowNum());
anchor.setRow2(row.getRowNum()+3);
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
Comment comment = drawing.createCellComment(anchor);
RichTextString str = factory.createRichTextString("Hello, World!");
comment.setString(str);
diff --git a/src/testcases/org/apache/poi/ss/usermodel/BaseTestCellComment.java b/src/testcases/org/apache/poi/ss/usermodel/BaseTestCellComment.java
index 17de8cf4a9..535094ff05 100644
--- a/src/testcases/org/apache/poi/ss/usermodel/BaseTestCellComment.java
+++ b/src/testcases/org/apache/poi/ss/usermodel/BaseTestCellComment.java
@@ -77,7 +77,7 @@ public abstract class BaseTestCellComment {
assertNull(cell.getCellComment());
assertNull(sheet.getCellComment(new CellAddress(cellRow, cellColumn)));
- Drawing patr = sheet.createDrawingPatriarch();
+ Drawing<?> patr = sheet.createDrawingPatriarch();
ClientAnchor anchor = factory.createClientAnchor();
anchor.setCol1(2);
anchor.setCol2(5);
@@ -261,7 +261,7 @@ public abstract class BaseTestCellComment {
Cell cell = sheet.createRow(3).createCell(5);
cell.setCellValue("F4");
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
ClientAnchor anchor = factory.createClientAnchor();
Comment comment = drawing.createCellComment(anchor);
@@ -294,7 +294,7 @@ public abstract class BaseTestCellComment {
Cell cell = row.createCell(5);
CreationHelper factory = wb.getCreationHelper();
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
double r_mul, c_mul;
if (sheet instanceof HSSFSheet) {
@@ -365,7 +365,7 @@ public abstract class BaseTestCellComment {
Workbook wb = _testDataProvider.createWorkbook();
Sheet sh = wb.createSheet();
CreationHelper factory = wb.getCreationHelper();
- Drawing patriarch = sh.createDrawingPatriarch();
+ Drawing<?> patriarch = sh.createDrawingPatriarch();
patriarch.createCellComment(factory.createClientAnchor());
try {
@@ -388,7 +388,7 @@ public abstract class BaseTestCellComment {
Workbook wb = _testDataProvider.createWorkbook();
Sheet sh = wb.createSheet();
CreationHelper factory = wb.getCreationHelper();
- Drawing patriarch = sh.createDrawingPatriarch();
+ Drawing<?> patriarch = sh.createDrawingPatriarch();
Comment comment = patriarch.createCellComment(factory.createClientAnchor());
assertEquals(CellAddress.A1, comment.getAddress());
@@ -402,7 +402,7 @@ public abstract class BaseTestCellComment {
Workbook wb = _testDataProvider.createWorkbook();
Sheet sh = wb.createSheet();
CreationHelper factory = wb.getCreationHelper();
- Drawing patriarch = sh.createDrawingPatriarch();
+ Drawing<?> patriarch = sh.createDrawingPatriarch();
Comment comment = patriarch.createCellComment(factory.createClientAnchor());
assertEquals(CellAddress.A1, comment.getAddress());
diff --git a/src/testcases/org/apache/poi/ss/usermodel/BaseTestPicture.java b/src/testcases/org/apache/poi/ss/usermodel/BaseTestPicture.java
index e573e79aef..d7c68940ce 100644
--- a/src/testcases/org/apache/poi/ss/usermodel/BaseTestPicture.java
+++ b/src/testcases/org/apache/poi/ss/usermodel/BaseTestPicture.java
@@ -105,7 +105,7 @@ public abstract class BaseTestPicture {
private void handleResize(Workbook wb, Sheet sheet, Row row) throws IOException {
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
CreationHelper createHelper = wb.getCreationHelper();
final byte[] bytes = HSSFITestDataProvider.instance.getTestDataFileContent("logoKarmokar4.png");
diff --git a/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java b/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java
index 65db968861..4e7179109b 100644
--- a/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java
+++ b/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java
@@ -1141,7 +1141,7 @@ public abstract class BaseTestSheet {
public void getCellComment() throws IOException {
Workbook workbook = _testDataProvider.createWorkbook();
Sheet sheet = workbook.createSheet();
- Drawing dg = sheet.createDrawingPatriarch();
+ Drawing<?> dg = sheet.createDrawingPatriarch();
Comment comment = dg.createCellComment(workbook.getCreationHelper().createClientAnchor());
Cell cell = sheet.createRow(9).createCell(2);
comment.setAuthor("test C10 author");
@@ -1165,7 +1165,7 @@ public abstract class BaseTestSheet {
// a sheet with no cell comments should return an empty map (not null or raise NPE).
assertEquals(Collections.emptyMap(), sheet.getCellComments());
- Drawing dg = sheet.createDrawingPatriarch();
+ Drawing<?> dg = sheet.createDrawingPatriarch();
ClientAnchor anchor = workbook.getCreationHelper().createClientAnchor();
int nRows = 5;
diff --git a/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java b/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java
index e6e7f676e1..9222f60430 100644
--- a/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java
+++ b/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java
@@ -33,7 +33,6 @@ import java.io.OutputStream;
import java.util.ConcurrentModificationException;
import java.util.Iterator;
-import org.apache.poi.POIDataSamples;
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.ss.ITestDataProvider;
import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType;
@@ -908,7 +907,7 @@ public abstract class BaseTestWorkbook {
Sheet sheet = wb.createSheet("Main Sheet");
Row row0 = sheet.createRow(0);
Row row1 = sheet.createRow(1);
- Cell cell = row1.createCell(0);
+ row1.createCell(0);
row0.createCell(1);
row1.createCell(0);
row1.createCell(1);
@@ -916,7 +915,7 @@ public abstract class BaseTestWorkbook {
byte[] pictureData = _testDataProvider.getTestDataFileContent("logoKarmokar4.png");
int handle = wb.addPicture(pictureData, Workbook.PICTURE_TYPE_PNG);
- Drawing drawing = sheet.createDrawingPatriarch();
+ Drawing<?> drawing = sheet.createDrawingPatriarch();
CreationHelper helper = wb.getCreationHelper();
ClientAnchor anchor = helper.createClientAnchor();
anchor.setAnchorType(AnchorType.DONT_MOVE_AND_RESIZE);