]> source.dussan.org Git - poi.git/commitdiff
fix eclipse warnings - close resources / type generics
authorAndreas Beeker <kiwiwings@apache.org>
Sun, 15 Jan 2017 23:08:47 +0000 (23:08 +0000)
committerAndreas Beeker <kiwiwings@apache.org>
Sun, 15 Jan 2017 23:08:47 +0000 (23:08 +0000)
cleanup sources - add parenthesis to statements

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1778955 13f79535-47bb-0310-9956-ffa450edef68

38 files changed:
src/examples/src/org/apache/poi/ss/examples/AddDimensionedImage.java
src/examples/src/org/apache/poi/xssf/usermodel/examples/CellComments.java
src/examples/src/org/apache/poi/xssf/usermodel/examples/WorkingWithPictures.java
src/integrationtest/org/apache/poi/stress/HDGFFileHandler.java
src/java/org/apache/poi/hssf/extractor/OldExcelExtractor.java
src/java/org/apache/poi/ss/usermodel/Cell.java
src/java/org/apache/poi/ss/usermodel/Sheet.java
src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFSheet.java
src/ooxml/testcases/org/apache/poi/xssf/model/TestCommentsTable.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFComment.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartLegend.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartTitle.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFLineChartData.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFManualLayout.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFScatterChartData.java
src/ooxml/testcases/org/apache/poi/xwpf/TestDocumentProtection.java
src/scratchpad/src/org/apache/poi/hslf/extractor/PowerPointExtractor.java
src/scratchpad/testcases/org/apache/poi/hdgf/streams/StreamTest.java
src/scratchpad/testcases/org/apache/poi/hdgf/streams/TestStreamBasics.java
src/scratchpad/testcases/org/apache/poi/hdgf/streams/TestStreamBugs.java
src/scratchpad/testcases/org/apache/poi/hdgf/streams/TestStreamComplex.java
src/scratchpad/testcases/org/apache/poi/hpbf/model/TestEscherParts.java
src/scratchpad/testcases/org/apache/poi/hslf/extractor/TestExtractor.java
src/testcases/org/apache/poi/hssf/extractor/TestOldExcelExtractor.java
src/testcases/org/apache/poi/hssf/model/TestDrawingAggregate.java
src/testcases/org/apache/poi/hssf/record/TestStringRecord.java
src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java
src/testcases/org/apache/poi/hssf/usermodel/TestPolygon.java
src/testcases/org/apache/poi/hssf/usermodel/TestText.java
src/testcases/org/apache/poi/poifs/storage/RawDataUtil.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestCellComment.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestPicture.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java

index a9099f5756dbe28f0e28874f76366d3075557a30..227216df0dda8a24e85023f33f89b3b5d7bf23c5 100644 (file)
@@ -269,7 +269,7 @@ public class AddDimensionedImage {
      *                                            to the resizeBehaviour\r
      *                                            parameter.\r
      */\r
-    public void addImageToSheet(String cellNumber, Sheet sheet, Drawing drawing,\r
+    public void addImageToSheet(String cellNumber, Sheet sheet, Drawing<?> drawing,\r
             URL imageFile, double reqImageWidthMM, double reqImageHeightMM,\r
             int resizeBehaviour) throws IOException, IllegalArgumentException {\r
         // Convert the String into column and row indices then chain the\r
@@ -329,7 +329,7 @@ public class AddDimensionedImage {
      *                                            it is of a type that cannot\r
      *                                            currently be added to the worksheet.\r
      */\r
-    public void addImageToSheet(int colNumber, int rowNumber, Sheet sheet, Drawing drawing,\r
+    public void addImageToSheet(int colNumber, int rowNumber, Sheet sheet, Drawing<?> drawing,\r
             URL imageFile, double reqImageWidthMM, double reqImageHeightMM,\r
             int resizeBehaviour) throws IOException,\r
                                                      IllegalArgumentException {\r
index a94e58a34275866368893bb8bf37b0dea3ec63fe..ffc3ff523631f6c005e897874c6e4708e8092f86 100644 (file)
 ==================================================================== */\r
 package org.apache.poi.xssf.usermodel.examples;\r
 \r
-import org.apache.poi.ss.usermodel.*;\r
+import java.io.FileOutputStream;\r
+import java.io.IOException;\r
+\r
+import org.apache.poi.ss.usermodel.Cell;\r
+import org.apache.poi.ss.usermodel.ClientAnchor;\r
+import org.apache.poi.ss.usermodel.Comment;\r
+import org.apache.poi.ss.usermodel.CreationHelper;\r
+import org.apache.poi.ss.usermodel.Drawing;\r
+import org.apache.poi.ss.usermodel.Font;\r
+import org.apache.poi.ss.usermodel.IndexedColors;\r
+import org.apache.poi.ss.usermodel.RichTextString;\r
+import org.apache.poi.ss.usermodel.Sheet;\r
+import org.apache.poi.ss.usermodel.Workbook;\r
 import org.apache.poi.ss.util.CellAddress;\r
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;\r
 \r
-import java.io.IOException;\r
-import java.io.FileOutputStream;\r
-\r
 /**\r
  * Demonstrates how to work with excel cell comments.\r
  *\r
@@ -44,7 +53,7 @@ public class CellComments {
         Cell cell1 = sheet.createRow(3).createCell(5);\r
         cell1.setCellValue("F4");\r
 \r
-        Drawing drawing = sheet.createDrawingPatriarch();\r
+        Drawing<?> drawing = sheet.createDrawingPatriarch();\r
 \r
         ClientAnchor anchor = factory.createClientAnchor();\r
 \r
@@ -63,7 +72,7 @@ public class CellComments {
         Font font = wb.createFont();\r
         font.setFontName("Arial");\r
         font.setFontHeightInPoints((short)14);\r
-        font.setBoldweight(Font.BOLDWEIGHT_BOLD);\r
+        font.setBold(true);\r
         font.setColor(IndexedColors.RED.getIndex());\r
         str2.applyFont(font);\r
 \r
index e7aeaaac1167cecb72375721905b7a21cc97750f..34735b7c87545f2142767d64d9ab25c634cdb00e 100644 (file)
 
 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);
index eb0e1b6c06b4625ee11df65709330093ceaf0dd8..758a3ad294dea798b728c5ab6c42d2d137dc95ba 100644 (file)
@@ -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);
index 3d6bc3515cefddd2530fd1389f8f56a5e508781e..922db321c73012c3fcab5c57c1a6831bf10a085c 100644 (file)
@@ -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
index a6f4f6387bdcb25a5a9f7a518187e7d86300312b..7b1637eeb576b38a0d43b191658e77f4cc337285 100644 (file)
@@ -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();
 
     /**
index 4c171ff2ccd501a399a5701a9744907361f52b93..e21aeafd86fa83776239841118db7d82d8a3ffe9 100644 (file)
@@ -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();
 
 
     /**
index 2c9fb6e372a237f7bf51fcae556a727bad10bfc4..6f85aad49f4af5c033b007deef9cbc5a2f78e6cf 100644 (file)
@@ -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();
     }
 
index 1c03b97316ad34f81673173c4895f0d18ea5ab83..4ebd5387d9124975ca1ef18233ac241e083103a8 100644 (file)
@@ -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());
index 6cf7003ceb46e815af46b74fa6a82844672c6bda..decd3b6b37d53dc9116c0b6455f854fde0232c01 100644 (file)
@@ -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
index dac2095ae68af4a18fb3e3b72c41eacaab157aad..fd153a77af6c03aa00bb7824c3c39225252dc082 100644 (file)
 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();
 
index ee84e503b0823958ae31aa80afcf0f3ce588547b..27bfe5b2a0a3a0a4c0ac0c227f18808bbdccd34c 100644 (file)
@@ -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);
                }
index 02aabad057da54575a36b459de978fe5513526d2..524b421da99e4801c9ebf11b7af08a351da33568 100644 (file)
 
 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();
        }
 }
index de05749300b2de64a70d4c3a5d4e649e332c776d..08d1f179df62dce24c083e733e018812ce217f4c 100644 (file)
 
 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();
     }
-
 }
index cf7fd78ed3fcbb645384ed4652f47fb47d2c32b0..2bfb06bf8e10864d94e7f5b2fc60a3bacf005c24 100644 (file)
 ==================================================================== */\r
 package org.apache.poi.xssf.usermodel.charts;\r
 \r
-import junit.framework.TestCase;\r
+import static org.junit.Assert.assertEquals;\r
+import static org.junit.Assert.assertNotNull;\r
+import static org.junit.Assert.assertTrue;\r
+\r
+import java.io.IOException;\r
 \r
 import org.apache.poi.ss.usermodel.Chart;\r
 import org.apache.poi.ss.usermodel.ClientAnchor;\r
@@ -32,21 +36,23 @@ import org.apache.poi.ss.usermodel.charts.LineChartSeries;
 import org.apache.poi.ss.util.CellRangeAddress;\r
 import org.apache.poi.ss.util.SheetBuilder;\r
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;\r
+import org.junit.Test;\r
 \r
 /**\r
  * Tests for XSSF Line Charts\r
  */\r
-public class TestXSSFLineChartData extends TestCase {\r
+public class TestXSSFLineChartData {\r
 \r
     private static final Object[][] plotData = {\r
             {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J"},\r
             {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}\r
     };\r
 \r
-    public void testOneSeriePlot() throws Exception {\r
+    @Test\r
+    public void testOneSeriePlot() throws IOException {\r
         Workbook wb = new XSSFWorkbook();\r
         Sheet sheet = new SheetBuilder(wb, plotData).build();\r
-        Drawing drawing = sheet.createDrawingPatriarch();\r
+        Drawing<?> drawing = sheet.createDrawingPatriarch();\r
         ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 10, 30);\r
         Chart chart = drawing.createChart(anchor);\r
 \r
@@ -65,5 +71,6 @@ public class TestXSSFLineChartData extends TestCase {
         assertTrue(lineChartData.getSeries().contains(series));\r
 \r
         chart.plot(lineChartData, bottomAxis, leftAxis);\r
+        wb.close();\r
     }\r
 }\r
index 8b5e8d92a70b9ade43273e83a2cf12155203b1cd..97438c0678ffbe11f2cc51cd03b03e726d7b2fcb 100644 (file)
 \r
 package org.apache.poi.xssf.usermodel.charts;\r
 \r
-import junit.framework.TestCase;\r
+import static org.junit.Assert.assertNotNull;\r
+import static org.junit.Assert.assertTrue;\r
 \r
-import org.apache.poi.ss.usermodel.*;\r
+import java.io.IOException;\r
+\r
+import org.apache.poi.ss.usermodel.Chart;\r
+import org.apache.poi.ss.usermodel.ClientAnchor;\r
+import org.apache.poi.ss.usermodel.Drawing;\r
+import org.apache.poi.ss.usermodel.Sheet;\r
+import org.apache.poi.ss.usermodel.Workbook;\r
 import org.apache.poi.ss.usermodel.charts.ChartLegend;\r
-import org.apache.poi.ss.usermodel.charts.ManualLayout;\r
 import org.apache.poi.ss.usermodel.charts.LayoutMode;\r
 import org.apache.poi.ss.usermodel.charts.LayoutTarget;\r
-import org.apache.poi.xssf.usermodel.*;\r
-\r
-public final class TestXSSFManualLayout extends TestCase {\r
-       \r
+import org.apache.poi.ss.usermodel.charts.ManualLayout;\r
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;\r
+import org.junit.After;\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+\r
+public final class TestXSSFManualLayout {\r
+\r
+    private Workbook wb;\r
+    private ManualLayout layout;\r
+    \r
+    @Before\r
+    public void createEmptyLayout() {\r
+        wb = new XSSFWorkbook();\r
+        Sheet sheet = wb.createSheet();\r
+        Drawing<?> drawing = sheet.createDrawingPatriarch();\r
+        ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 10, 30);\r
+        Chart chart = drawing.createChart(anchor);\r
+        ChartLegend legend = chart.getOrCreateLegend();\r
+        layout = legend.getManualLayout();\r
+    }\r
+\r
+    @After\r
+    public void closeWB() throws IOException {\r
+        wb.close();\r
+    }\r
+    \r
        /*\r
         * Accessor methods are not trivial. They use lazy underlying bean\r
         * initialization so there can be some errors (NPE, for example).\r
         */\r
-       public void testAccessorMethods() throws Exception {\r
+    @Test\r
+    public void testAccessorMethods() {\r
                final double newRatio = 1.1;\r
                final double newCoordinate = 0.3;\r
                final LayoutMode nonDefaultMode = LayoutMode.FACTOR;\r
                final LayoutTarget nonDefaultTarget = LayoutTarget.OUTER;\r
 \r
-               ManualLayout layout = getEmptyLayout();\r
-\r
                layout.setWidthRatio(newRatio);\r
                assertTrue(layout.getWidthRatio() == newRatio);\r
 \r
@@ -73,9 +101,8 @@ public final class TestXSSFManualLayout extends TestCase {
         * Layout must have reasonable default values and must not throw\r
         * any exceptions.\r
         */\r
-       public void testDefaultValues() throws Exception {\r
-               ManualLayout layout = getEmptyLayout();\r
-               \r
+    @Test\r
+    public void testDefaultValues() {\r
                assertNotNull(layout.getTarget());\r
                assertNotNull(layout.getXMode());\r
                assertNotNull(layout.getYMode());\r
@@ -90,14 +117,4 @@ public final class TestXSSFManualLayout extends TestCase {
                assertTrue(layout.getWidthRatio() == 0.0);\r
                assertTrue(layout.getHeightRatio() == 0.0);\r
        }\r
-\r
-       private ManualLayout getEmptyLayout() {\r
-               Workbook wb = new XSSFWorkbook();\r
-               Sheet sheet = wb.createSheet();\r
-               Drawing drawing = sheet.createDrawingPatriarch();\r
-               ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 10, 30);\r
-               Chart chart = drawing.createChart(anchor);\r
-               ChartLegend legend = chart.getOrCreateLegend();\r
-               return legend.getManualLayout();\r
-       }\r
 }\r
index e041e891c6d768f984f0516363ecd4d1b40ce9ca..79dc71c8d21dbcb33fd9e87c20cc5cf089cd724d 100644 (file)
 
 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();
     }
 }
index 67ad79422e8b7ba0b93816e8cf38232c5ca4624e..550a0c18caab15ddeb77a40938fd22fe806fdc65 100644 (file)
@@ -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();
     }
 }
index 8085482eccd6aa74767a9f6b30191a08d7c87778..7e09764e195fc0347225e71fa01ed877ea3d5823 100644 (file)
@@ -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);
        }
 
index f29adb7f0ceef4b1fd2d1ff9bd8ca2968f05d71e..eeb55a56c540b80ea7215be1bce10f68b40aa420 100644 (file)
 
 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;
index 26c91d0d191f1075730c5e9b4c2b124db70b6325..436286c07ef79ef356136afc4ace018024e5865d 100644 (file)
 
 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);
        }
index 0377b248a5e599247d5927a51fd06877d24be566..006021b014218bb1b36f8996ebbbc8d270bf2d38 100644 (file)
 
 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();
        }
 }
index d1092e2bba7b08015022842083fc3d915eca4bc9..c601a0643866ee1af1f517c7777a37dbdcfd3372 100644 (file)
 
 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);
index 72d8274ed4afa57549c213f69f765979be66b9f8..28e1eeca692dbe6a31b6208302829ad2f0af3f57 100644 (file)
 
 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();
        }
 }
index 8ab30ee9735e3553797ce32a2c5311fc557cc607..d62e9548424ac1d4dba053dd0755887568d65aae 100644 (file)
@@ -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();
     }
 }
index c46867d2ede50b214a7037dab39534967c861032..659f7690233786038233af0863e2435057a13d8b 100644 (file)
@@ -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);
index 70e7c7db63fff8143480ac3718bf627e2ccd89d4..2f929a06ff7a10231a011560ce7b4b70514a8b14 100644 (file)
@@ -16,6 +16,7 @@
 ==================================================================== */\r
 package org.apache.poi.hssf.model;\r
 \r
+import static org.apache.poi.poifs.storage.RawDataUtil.decompress;\r
 import static org.junit.Assert.assertArrayEquals;\r
 import static org.junit.Assert.assertEquals;\r
 import static org.junit.Assert.assertNotNull;\r
@@ -32,9 +33,6 @@ import java.util.Arrays;
 import java.util.HashMap;\r
 import java.util.List;\r
 import java.util.Map;\r
-import java.util.zip.GZIPInputStream;\r
-\r
-import javax.xml.bind.DatatypeConverter;\r
 \r
 import org.apache.poi.ddf.DefaultEscherRecordFactory;\r
 import org.apache.poi.ddf.EscherContainerRecord;\r
@@ -59,7 +57,6 @@ import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.hssf.usermodel.HSSFTestHelper;\r
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;\r
 import org.apache.poi.util.HexDump;\r
-import org.apache.poi.util.IOUtils;\r
 import org.junit.Test;\r
 \r
 public class TestDrawingAggregate {\r
@@ -946,32 +943,4 @@ public class TestDrawingAggregate {
         assertEquals("different size of drawing data before and after save", dgBytes.length, dgBytesAfterSave.length);\r
         assertTrue("drawing data brefpore and after save is different", Arrays.equals(dgBytes, dgBytesAfterSave));\r
     }\r
-\r
-\r
-    /**\r
-     * Decompress previously gziped/base64ed data\r
-     *\r
-     * @param data the gziped/base64ed data\r
-     * @return the raw bytes\r
-     * @throws IOException if you copy and pasted the data wrong\r
-     */\r
-    public static byte[] decompress(String data) throws IOException {\r
-        byte[] base64Bytes = DatatypeConverter.parseBase64Binary(data);\r
-        return IOUtils.toByteArray(new GZIPInputStream(new ByteArrayInputStream(base64Bytes)));\r
-    }\r
-    \r
-    /**\r
-     * Compress raw data for test runs - usually called while debugging :)\r
-     *\r
-     * @param data the raw data\r
-     * @return the gziped/base64ed data as String\r
-     * @throws IOException usually not ...\r
-     */\r
-    public static String compress(byte[] data) throws IOException {\r
-        java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream();\r
-        java.util.zip.GZIPOutputStream gz = new java.util.zip.GZIPOutputStream(bos);\r
-        gz.write(data);\r
-        gz.finish();\r
-        return DatatypeConverter.printBase64Binary(bos.toByteArray());        \r
-    }\r
 }\r
index ec7b84c69374ec2a178bf39252a9b8ddacb5a133..c73493cb32f26b1c14ec64345db1b74126fe66de 100644 (file)
 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();
        }
 }
index 9e40695b4b8370b64bfb061ee709a95fea3eb8f8..f8162fcf28faf0642b37f73271cfb33e42f357a8 100644 (file)
@@ -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);
index 6174a5ff304ef9213bd6e12b2b300f4b599225bb..1b9ad1ffa6278c50c8c76af68f2c1e32aa39a1d3 100644 (file)
@@ -17,7 +17,7 @@
 \r
 package org.apache.poi.hssf.usermodel;\r
 \r
-import static org.apache.poi.hssf.model.TestDrawingAggregate.decompress;\r
+import static org.apache.poi.poifs.storage.RawDataUtil.decompress;\r
 import static org.junit.Assert.assertArrayEquals;\r
 import static org.junit.Assert.assertEquals;\r
 import static org.junit.Assert.assertTrue;\r
index c8203d8d4913e5f61970e0c93a2697e0f306c233..cb8f1d4bd5ab1934220243e699b7c94c8699944d 100644 (file)
@@ -17,7 +17,7 @@
 \r
 package org.apache.poi.hssf.usermodel;\r
 \r
-import static org.apache.poi.hssf.model.TestDrawingAggregate.decompress;\r
+import static org.apache.poi.poifs.storage.RawDataUtil.decompress;\r
 import static org.junit.Assert.assertArrayEquals;\r
 import static org.junit.Assert.assertEquals;\r
 \r
index 487c8eb804262d14bafdc34d35ae03bb25bdcf72..f3ae3b087714e29097a8e35f8e907daa3c279e1a 100644 (file)
 ==================================================================== */
 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());        
+    }
 }
index a1f296355fea3f8ade086dc1e2d892a895a22531..52f8b72b213101e45eac7fac58ffa46e66a438be 100644 (file)
 
 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;
index be097d3482e0d1d001bd3a0262a947645c509596..0bec60deda4b9cc2b940821052ea5f7c2015266d 100644 (file)
@@ -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);
index 17de8cf4a92f882faac25ae19dedb521b0d8fdf3..535094ff055224263fe181adf2dc896b075e8d82 100644 (file)
@@ -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());
index e573e79aef79033a0241b3ed474cfe91e2d88632..d7c68940ce5dc95d73935e86989c7004ecd70a4b 100644 (file)
@@ -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");
index 65db968861d3ab8fa0d33b43fd7cf6c526a560cc..4e7179109b04b67999dd1b1a804e766f1c4f584e 100644 (file)
@@ -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;
index e6e7f676e11cb696ae4c86797fc83c0256918140..9222f6043006c17efadcd6f6648c265041ee7313 100644 (file)
@@ -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);