diff --git a/src/examples/src/org/apache/poi/hpsf/examples/CopyCompare.java b/src/examples/src/org/apache/poi/hpsf/examples/CopyCompare.java index d2226f52b6..2fd17df0f1 100644 --- a/src/examples/src/org/apache/poi/hpsf/examples/CopyCompare.java +++ b/src/examples/src/org/apache/poi/hpsf/examples/CopyCompare.java @@ -169,7 +169,6 @@ public class CopyCompare * @exception NoPropertySetStreamException if the application tries to * create a property set from a POI document stream that is not a property * set stream. - * @throws UnsupportedEncodingException * @exception IOException if any I/O exception occurs. */ private static boolean equal(final DirectoryEntry d1, @@ -233,7 +232,6 @@ public class CopyCompare * @exception NoPropertySetStreamException if the application tries to * create a property set from a POI document stream that is not a property * set stream. - * @throws UnsupportedEncodingException * @exception IOException if any I/O exception occurs. */ private static boolean equal(final DocumentEntry d1, final DocumentEntry d2, @@ -355,8 +353,6 @@ public class CopyCompare * @param path The file's path in the POI filesystem. * @param name The file's name in the POI filesystem. * @param ps The property set to write. - * @throws WritingNotSupportedException - * @throws IOException */ public void copy(final POIFSFileSystem poiFs, final POIFSDocumentPath path, @@ -378,7 +374,6 @@ public class CopyCompare * @param path The source document's path. * @param name The source document's name. * @param stream The stream containing the source document. - * @throws IOException */ public void copy(final POIFSFileSystem poiFs, final POIFSDocumentPath path, @@ -407,9 +402,6 @@ public class CopyCompare /** *

Writes the POI file system to a disk file.

- * - * @throws FileNotFoundException - * @throws IOException */ public void close() throws FileNotFoundException, IOException { out = new FileOutputStream(dstName); diff --git a/src/examples/src/org/apache/poi/hpsf/examples/ModifyDocumentSummaryInformation.java b/src/examples/src/org/apache/poi/hpsf/examples/ModifyDocumentSummaryInformation.java index 81a9594e79..1e24660eb7 100644 --- a/src/examples/src/org/apache/poi/hpsf/examples/ModifyDocumentSummaryInformation.java +++ b/src/examples/src/org/apache/poi/hpsf/examples/ModifyDocumentSummaryInformation.java @@ -19,17 +19,12 @@ package org.apache.poi.hpsf.examples; import java.io.File; import java.io.FileNotFoundException; -import java.io.IOException; import java.util.Date; import org.apache.poi.hpsf.CustomProperties; import org.apache.poi.hpsf.DocumentSummaryInformation; -import org.apache.poi.hpsf.MarkUnsupportedException; -import org.apache.poi.hpsf.NoPropertySetStreamException; import org.apache.poi.hpsf.PropertySetFactory; import org.apache.poi.hpsf.SummaryInformation; -import org.apache.poi.hpsf.UnexpectedPropertySetTypeException; -import org.apache.poi.hpsf.WritingNotSupportedException; import org.apache.poi.poifs.filesystem.DirectoryEntry; import org.apache.poi.poifs.filesystem.NPOIFSFileSystem; @@ -76,16 +71,8 @@ public class ModifyDocumentSummaryInformation { *

Main method - see class description.

* * @param args The command-line parameters. - * @throws IOException - * @throws MarkUnsupportedException - * @throws NoPropertySetStreamException - * @throws UnexpectedPropertySetTypeException - * @throws WritingNotSupportedException */ - public static void main(final String[] args) throws IOException, - NoPropertySetStreamException, MarkUnsupportedException, - UnexpectedPropertySetTypeException, WritingNotSupportedException - { + public static void main(final String[] args) throws Exception { /* Read the name of the POI filesystem to modify from the command line. * For brevity to boundary check is performed on the command-line * arguments. */ diff --git a/src/examples/src/org/apache/poi/hpsf/examples/ReadCustomPropertySets.java b/src/examples/src/org/apache/poi/hpsf/examples/ReadCustomPropertySets.java index 9649842114..2212e81466 100644 --- a/src/examples/src/org/apache/poi/hpsf/examples/ReadCustomPropertySets.java +++ b/src/examples/src/org/apache/poi/hpsf/examples/ReadCustomPropertySets.java @@ -19,7 +19,6 @@ package org.apache.poi.hpsf.examples; import java.io.FileInputStream; import java.io.IOException; -import java.util.Iterator; import java.util.List; import org.apache.poi.hpsf.NoPropertySetStreamException; @@ -64,7 +63,7 @@ public class ReadCustomPropertySets @Override public void processPOIFSReaderEvent(final POIFSReaderEvent event) { - PropertySet ps = null; + PropertySet ps; try { ps = PropertySetFactory.create(event.getStream()); @@ -93,10 +92,8 @@ public class ReadCustomPropertySets /* Print the list of sections: */ List
sections = ps.getSections(); int nr = 0; - for (Iterator
i = sections.iterator(); i.hasNext();) - { + for (Section sec : sections) { /* Print a single section: */ - Section sec = i.next(); out(" Section " + nr++ + ":"); String s = hex(sec.getFormatID().getBytes()); s = s.substring(0, s.length() - 1); @@ -108,15 +105,13 @@ public class ReadCustomPropertySets /* Print the properties: */ Property[] properties = sec.getProperties(); - for (int i2 = 0; i2 < properties.length; i2++) - { + for (Property p : properties) { /* Print a single property: */ - Property p = properties[i2]; long id = p.getID(); long type = p.getType(); Object value = p.getValue(); out(" Property ID: " + id + ", type: " + type + - ", value: " + value); + ", value: " + value); } } } diff --git a/src/examples/src/org/apache/poi/hpsf/examples/WriteAuthorAndTitle.java b/src/examples/src/org/apache/poi/hpsf/examples/WriteAuthorAndTitle.java index b4a3331604..b674ec2d1a 100644 --- a/src/examples/src/org/apache/poi/hpsf/examples/WriteAuthorAndTitle.java +++ b/src/examples/src/org/apache/poi/hpsf/examples/WriteAuthorAndTitle.java @@ -193,7 +193,7 @@ public class WriteAuthorAndTitle /* According to the definition of the processPOIFSReaderEvent method * we cannot pass checked exceptions to the caller. The following - * lines check whether a checked exception occured and throws an + * lines check whether a checked exception occurred and throws an * unchecked exception. The message of that exception is that of * the underlying checked exception. */ if (t != null) { @@ -212,8 +212,6 @@ public class WriteAuthorAndTitle * @param name The original (and destination) stream's name. * @param si The property set. It should be a summary information * property set. - * @throws IOException - * @throws WritingNotSupportedException */ public void editSI(final POIFSFileSystem poiFs, final POIFSDocumentPath path, @@ -257,8 +255,6 @@ public class WriteAuthorAndTitle * @param path The file's path in the POI filesystem. * @param name The file's name in the POI filesystem. * @param ps The property set to write. - * @throws WritingNotSupportedException - * @throws IOException */ public void copy(final POIFSFileSystem poiFs, final POIFSDocumentPath path, @@ -281,7 +277,6 @@ public class WriteAuthorAndTitle * @param path The source document's path. * @param name The source document's name. * @param stream The stream containing the source document. - * @throws IOException */ public void copy(final POIFSFileSystem poiFs, final POIFSDocumentPath path, @@ -303,9 +298,6 @@ public class WriteAuthorAndTitle /** *

Writes the POI file system to a disk file.

- * - * @throws FileNotFoundException - * @throws IOException */ public void close() throws FileNotFoundException, IOException { diff --git a/src/examples/src/org/apache/poi/hssf/eventusermodel/examples/XLS2CSVmra.java b/src/examples/src/org/apache/poi/hssf/eventusermodel/examples/XLS2CSVmra.java index 75a6064512..88e2ae95d8 100644 --- a/src/examples/src/org/apache/poi/hssf/eventusermodel/examples/XLS2CSVmra.java +++ b/src/examples/src/org/apache/poi/hssf/eventusermodel/examples/XLS2CSVmra.java @@ -99,8 +99,6 @@ public class XLS2CSVmra implements HSSFListener { * Creates a new XLS -> CSV converter * @param filename The file to process * @param minColumns The minimum number of columns to output, or -1 for no minimum - * @throws IOException - * @throws FileNotFoundException */ public XLS2CSVmra(String filename, int minColumns) throws IOException, FileNotFoundException { this( diff --git a/src/examples/src/org/apache/poi/hssf/usermodel/examples/BigExample.java b/src/examples/src/org/apache/poi/hssf/usermodel/examples/BigExample.java index 4804973b4a..d00bd9c87c 100644 --- a/src/examples/src/org/apache/poi/hssf/usermodel/examples/BigExample.java +++ b/src/examples/src/org/apache/poi/hssf/usermodel/examples/BigExample.java @@ -43,9 +43,9 @@ public class BigExample { // create a new sheet HSSFSheet s = wb.createSheet(); // declare a row object reference - HSSFRow r = null; + HSSFRow r; // declare a cell object reference - HSSFCell c = null; + HSSFCell c; // create 3 cell styles HSSFCellStyle cs = wb.createCellStyle(); HSSFCellStyle cs2 = wb.createCellStyle(); @@ -69,9 +69,9 @@ public class BigExample { //make it bold f2.setBold(true); - //set cell stlye + //set cell style cs.setFont(f); - //set the cell format see HSSFDataFromat for a full list + //set the cell format see HSSFDataFormat for a full list cs.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0_);[Red]($#,##0)")); //set a thin border diff --git a/src/examples/src/org/apache/poi/hssf/usermodel/examples/InCellLists.java b/src/examples/src/org/apache/poi/hssf/usermodel/examples/InCellLists.java index 4850e368a5..315481b2e2 100644 --- a/src/examples/src/org/apache/poi/hssf/usermodel/examples/InCellLists.java +++ b/src/examples/src/org/apache/poi/hssf/usermodel/examples/InCellLists.java @@ -20,7 +20,6 @@ package org.apache.poi.hssf.usermodel.examples; import java.io.File; import java.io.FileOutputStream; -import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; diff --git a/src/examples/src/org/apache/poi/hssf/view/SVBorder.java b/src/examples/src/org/apache/poi/hssf/view/SVBorder.java index bb19bff82e..840a85e5d9 100644 --- a/src/examples/src/org/apache/poi/hssf/view/SVBorder.java +++ b/src/examples/src/org/apache/poi/hssf/view/SVBorder.java @@ -498,13 +498,13 @@ public void paintBorder(Component c, Graphics g, int x, int y, int width, * @param y the y origin of the line * @param thickness the thickness of the line * @param horizontal or vertical (true for horizontal) - * @param right/bottom or left/top thickness (true for right or top), + * @param rightBottom or left/top thickness (true for right or top), * if true then the x or y origin will be incremented to provide * thickness, if false, they'll be decremented. For vertical * borders, x is incremented or decremented, for horizontal its y. * Just set to true for north and west, and false for east and * south. - * @returns length - returns the length of the line. + * @return length - returns the length of the line. */ private int drawDashDotDot(Graphics g,int x, int y, int thickness, boolean horizontal, @@ -529,7 +529,7 @@ public void paintBorder(Component c, Graphics g, int x, int y, int width, } /** - * @returns the line thickness for a border based on border type + * @return the line thickness for a border based on border type */ private int getThickness(BorderStyle thickness) { switch (thickness) { diff --git a/src/examples/src/org/apache/poi/poifs/poibrowser/DocumentDescriptorRenderer.java b/src/examples/src/org/apache/poi/poifs/poibrowser/DocumentDescriptorRenderer.java index de1204e77d..f3f805c9f3 100644 --- a/src/examples/src/org/apache/poi/poifs/poibrowser/DocumentDescriptorRenderer.java +++ b/src/examples/src/org/apache/poi/poifs/poibrowser/DocumentDescriptorRenderer.java @@ -57,23 +57,16 @@ public class DocumentDescriptorRenderer extends DefaultTreeCellRenderer /** *

Renders {@link DocumentDescriptor} as a string.

*/ - protected String renderAsString(final DocumentDescriptor d) - { - final StringBuilder b = new StringBuilder(); - b.append("Name: "); - b.append(d.name); - b.append(" "); - b.append(HexDump.toHex(d.name)); - b.append("\n"); - - b.append("Size: "); - b.append(d.size); - b.append(" bytes\n"); - - b.append("First bytes: "); - b.append(HexDump.toHex(d.bytes)); - - return b.toString(); + protected String renderAsString(final DocumentDescriptor d) { + return "Name: " + + d.name + + " " + + HexDump.toHex(d.name) + + "\n" + + "Size: " + + d.size + + " bytes\n" + + "First bytes: " + + HexDump.toHex(d.bytes); } - } diff --git a/src/examples/src/org/apache/poi/poifs/poibrowser/POIBrowser.java b/src/examples/src/org/apache/poi/poifs/poibrowser/POIBrowser.java index ec84847d68..d260bdd4b3 100644 --- a/src/examples/src/org/apache/poi/poifs/poibrowser/POIBrowser.java +++ b/src/examples/src/org/apache/poi/poifs/poibrowser/POIBrowser.java @@ -84,9 +84,7 @@ public class POIBrowser extends JFrame /* Add the POI filesystems to the tree. */ int displayedFiles = 0; - for (int i = 0; i < args.length; i++) - { - final String filename = args[i]; + for (final String filename : args) { try { FileInputStream fis = new FileInputStream(filename); POIFSReader r = new POIFSReader(); @@ -98,7 +96,7 @@ public class POIBrowser extends JFrame System.err.println(filename + ": " + ex); } catch (Exception t) { System.err.println("Unexpected exception while reading \"" + - filename + "\":"); + filename + "\":"); t.printStackTrace(System.err); } } diff --git a/src/examples/src/org/apache/poi/ss/examples/AddDimensionedImage.java b/src/examples/src/org/apache/poi/ss/examples/AddDimensionedImage.java index d4f8e0105d..b36c425f8c 100644 --- a/src/examples/src/org/apache/poi/ss/examples/AddDimensionedImage.java +++ b/src/examples/src/org/apache/poi/ss/examples/AddDimensionedImage.java @@ -333,10 +333,10 @@ public class AddDimensionedImage { URL imageFile, double reqImageWidthMM, double reqImageHeightMM, int resizeBehaviour) throws IOException, IllegalArgumentException { - ClientAnchor anchor = null; - ClientAnchorDetail rowClientAnchorDetail = null; - ClientAnchorDetail colClientAnchorDetail = null; - int imageType = 0; + ClientAnchor anchor; + ClientAnchorDetail rowClientAnchorDetail; + ClientAnchorDetail colClientAnchorDetail; + int imageType; // Validate the resizeBehaviour parameter. if((resizeBehaviour != AddDimensionedImage.EXPAND_COLUMN) && @@ -427,9 +427,9 @@ public class AddDimensionedImage { private ClientAnchorDetail fitImageToColumns(Sheet sheet, int colNumber, double reqImageWidthMM, int resizeBehaviour) { - double colWidthMM = 0.0D; - double colCoordinatesPerMM = 0.0D; - int pictureWidthCoordinates = 0; + double colWidthMM; + double colCoordinatesPerMM; + int pictureWidthCoordinates; ClientAnchorDetail colClientAnchorDetail = null; // Get the colum's width in millimetres @@ -522,10 +522,10 @@ public class AddDimensionedImage { */ private ClientAnchorDetail fitImageToRows(Sheet sheet, int rowNumber, double reqImageHeightMM, int resizeBehaviour) { - Row row = null; - double rowHeightMM = 0.0D; - double rowCoordinatesPerMM = 0.0D; - int pictureHeightCoordinates = 0; + Row row; + double rowHeightMM; + double rowCoordinatesPerMM; + int pictureHeightCoordinates; ClientAnchorDetail rowClientAnchorDetail = null; // Get the row and it's height @@ -612,13 +612,13 @@ public class AddDimensionedImage { private ClientAnchorDetail calculateColumnLocation(Sheet sheet, int startingColumn, double reqImageWidthMM) { - ClientAnchorDetail anchorDetail = null; + ClientAnchorDetail anchorDetail; double totalWidthMM = 0.0D; double colWidthMM = 0.0D; - double overlapMM = 0.0D; - double coordinatePositionsPerMM = 0.0D; + double overlapMM; + double coordinatePositionsPerMM; int toColumn = startingColumn; - int inset = 0; + int inset; // Calculate how many columns the image will have to // span in order to be presented at the required size. @@ -722,14 +722,14 @@ public class AddDimensionedImage { */ private ClientAnchorDetail calculateRowLocation(Sheet sheet, int startingRow, double reqImageHeightMM) { - ClientAnchorDetail clientAnchorDetail = null; - Row row = null; + ClientAnchorDetail clientAnchorDetail; + Row row; double rowHeightMM = 0.0D; double totalRowHeightMM = 0.0D; - double overlapMM = 0.0D; - double rowCoordinatesPerMM = 0.0D; + double overlapMM; + double rowCoordinatesPerMM; int toRow = startingRow; - int inset = 0; + int inset; // Step through the rows in the sheet and accumulate a total of their // heights. @@ -813,11 +813,11 @@ public class AddDimensionedImage { * @param args the command line arguments */ public static void main(String[] args) throws IOException { - String imageFile = null; - String outputFile = null; - FileOutputStream fos = null; - Workbook workbook = null; - Sheet sheet = null; + String imageFile; + String outputFile; + FileOutputStream fos; + Workbook workbook; + Sheet sheet; if(args.length < 2){ System.err.println("Usage: AddDimensionedImage imageFile outputFile"); @@ -962,8 +962,6 @@ public class AddDimensionedImage { /** * pixel units to excel width units(units of 1/256th of a character width) - * @param pxs - * @return */ public static short pixel2WidthUnits(int pxs) { short widthUnits = (short) (EXCEL_COLUMN_WIDTH_FACTOR * @@ -975,9 +973,6 @@ public class AddDimensionedImage { /** * excel width units(units of 1/256th of a character width) to pixel * units. - * - * @param widthUnits - * @return */ public static int widthUnits2Pixel(short widthUnits) { int pixels = (widthUnits / EXCEL_COLUMN_WIDTH_FACTOR) diff --git a/src/examples/src/org/apache/poi/ss/examples/ConditionalFormats.java b/src/examples/src/org/apache/poi/ss/examples/ConditionalFormats.java index 21d182b15b..17ce8dd403 100644 --- a/src/examples/src/org/apache/poi/ss/examples/ConditionalFormats.java +++ b/src/examples/src/org/apache/poi/ss/examples/ConditionalFormats.java @@ -63,7 +63,6 @@ public class ConditionalFormats { * generates a sample workbook with conditional formatting, * and prints out a summary of applied formats for one sheet * @param args pass "-xls" to generate an HSSF workbook, default is XSSF - * @throws IOException */ public static void main(String[] args) throws IOException { Workbook wb; @@ -656,8 +655,6 @@ public class ConditionalFormats { /** * Print out a summary of the conditional formatting rules applied to cells on the given sheet. * Only cells with a matching rule are printed, and for those, all matching rules are sumarized. - * @param wb - * @param sheetName */ static void evaluateRules(Workbook wb, String sheetName) { final WorkbookEvaluatorProvider wbEvalProv = (WorkbookEvaluatorProvider) wb.getCreationHelper().createFormulaEvaluator(); diff --git a/src/examples/src/org/apache/poi/ss/examples/ToCSV.java b/src/examples/src/org/apache/poi/ss/examples/ToCSV.java index a2e39c4c69..194456b90d 100644 --- a/src/examples/src/org/apache/poi/ss/examples/ToCSV.java +++ b/src/examples/src/org/apache/poi/ss/examples/ToCSV.java @@ -285,8 +285,8 @@ public class ToCSV { IllegalArgumentException, InvalidFormatException { File source = new File(strSource); File destination = new File(strDestination); - File[] filesList = null; - String destinationFilename = null; + File[] filesList; + String destinationFilename; // Check that the source file/folder exists. if(!source.exists()) { @@ -406,9 +406,9 @@ public class ToCSV { * a CSV file. */ private void convertToCSV() { - Sheet sheet = null; - Row row = null; - int lastRowNum = 0; + Sheet sheet; + Row row; + int lastRowNum; this.csvData = new ArrayList<>(); System.out.println("Converting files contents to CSV format."); @@ -451,11 +451,11 @@ public class ToCSV { */ private void saveCSVFile(File file) throws FileNotFoundException, IOException { - FileWriter fw = null; + FileWriter fw; BufferedWriter bw = null; - ArrayList line = null; - StringBuffer buffer = null; - String csvLineElement = null; + ArrayList line; + StringBuffer buffer; + String csvLineElement; try { System.out.println("Saving the CSV file [" + file.getName() + "]"); @@ -524,8 +524,8 @@ public class ToCSV { * an Excel workbook. */ private void rowToCSV(Row row) { - Cell cell = null; - int lastCellNum = 0; + Cell cell; + int lastCellNum; ArrayList csvLine = new ArrayList<>(); // Check to ensure that a row was recovered from the sheet as it is @@ -603,7 +603,7 @@ public class ToCSV { * speech mark characters correctly escaped. */ private String escapeEmbeddedCharacters(String field) { - StringBuffer buffer = null; + StringBuffer buffer; // If the fields contents should be formatted to confrom with Excel's // convention.... @@ -671,7 +671,7 @@ public class ToCSV { // with matching names but different extensions - Test.xls and Test.xlsx // for example - then the CSV file generated from one will overwrite // that generated from the other. - ToCSV converter = null; + ToCSV converter; boolean converted = true; long startTime = System.currentTimeMillis(); try { diff --git a/src/examples/src/org/apache/poi/ss/examples/html/ToHtml.java b/src/examples/src/org/apache/poi/ss/examples/html/ToHtml.java index 97e06af9c6..3177bc8779 100644 --- a/src/examples/src/org/apache/poi/ss/examples/html/ToHtml.java +++ b/src/examples/src/org/apache/poi/ss/examples/html/ToHtml.java @@ -328,12 +328,9 @@ public class ToHtml { style = wb.getCellStyleAt((short) 0); } StringBuilder sb = new StringBuilder(); - Formatter fmt = new Formatter(sb); - try { + try (Formatter fmt = new Formatter(sb)) { fmt.format("style_%02x", style.getIndex()); return fmt.toString(); - } finally { - fmt.close(); } } @@ -371,14 +368,14 @@ public class ToHtml { /** * computes the column widths, defined by the sheet. * - * @param sheet + * @param sheet The sheet for which to compute widths * @return Map with key: column index; value: column width in pixels *
special keys: *
{@link #IDX_HEADER_COL_WIDTH} - width of the header column *
{@link #IDX_TABLE_WIDTH} - width of the entire table */ private Map computeWidths(Sheet sheet) { - Map ret = new TreeMap(); + Map ret = new TreeMap<>(); int tableWidth = 0; ensureColumnBounds(sheet); diff --git a/src/examples/src/org/apache/poi/xssf/eventusermodel/examples/LoadPasswordProtectedXlsxStreaming.java b/src/examples/src/org/apache/poi/xssf/eventusermodel/examples/LoadPasswordProtectedXlsxStreaming.java index 80e4c7320a..f0d3eea1bf 100644 --- a/src/examples/src/org/apache/poi/xssf/eventusermodel/examples/LoadPasswordProtectedXlsxStreaming.java +++ b/src/examples/src/org/apache/poi/xssf/eventusermodel/examples/LoadPasswordProtectedXlsxStreaming.java @@ -20,7 +20,6 @@ package org.apache.poi.xssf.eventusermodel.examples; import java.io.FileInputStream; -import java.io.IOException; import java.io.InputStream; import org.apache.poi.crypt.examples.EncryptionUtils; diff --git a/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFImportFromXML.java b/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFImportFromXML.java index 8a849026c7..e38e8e9d0e 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFImportFromXML.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFImportFromXML.java @@ -44,170 +44,148 @@ public class TestXSSFImportFromXML { @Test public void testImportFromXML() throws IOException, XPathExpressionException, SAXException{ - - XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("CustomXMLMappings.xlsx"); - try { - String name = "name"; - String teacher = "teacher"; - String tutor = "tutor"; - String cdl = "cdl"; - String duration = "duration"; - String topic = "topic"; - String project = "project"; - String credits = "credits"; - - String testXML = ""+ - ""+name+""+ - ""+teacher+""+ - ""+tutor+""+ - ""+cdl+""+ - ""+duration+""+ - ""+topic+""+ - ""+project+""+ - ""+credits+""+ - "\u0000"; - - XSSFMap map = wb.getMapInfo().getXSSFMapByName("CORSO_mapping"); - assertNotNull(map); - XSSFImportFromXML importer = new XSSFImportFromXML(map); - - importer.importFromXML(testXML); - - XSSFSheet sheet=wb.getSheetAt(0); - - XSSFRow row = sheet.getRow(0); - assertTrue(row.getCell(0).getStringCellValue().equals(name)); - assertTrue(row.getCell(1).getStringCellValue().equals(teacher)); - assertTrue(row.getCell(2).getStringCellValue().equals(tutor)); - assertTrue(row.getCell(3).getStringCellValue().equals(cdl)); - assertTrue(row.getCell(4).getStringCellValue().equals(duration)); - assertTrue(row.getCell(5).getStringCellValue().equals(topic)); - assertTrue(row.getCell(6).getStringCellValue().equals(project)); - assertTrue(row.getCell(7).getStringCellValue().equals(credits)); - } finally { - wb.close(); - } + try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("CustomXMLMappings.xlsx")) { + String name = "name"; + String teacher = "teacher"; + String tutor = "tutor"; + String cdl = "cdl"; + String duration = "duration"; + String topic = "topic"; + String project = "project"; + String credits = "credits"; + + String testXML = "" + + "" + name + "" + + "" + teacher + "" + + "" + tutor + "" + + "" + cdl + "" + + "" + duration + "" + + "" + topic + "" + + "" + project + "" + + "" + credits + "" + + "\u0000"; + + XSSFMap map = wb.getMapInfo().getXSSFMapByName("CORSO_mapping"); + assertNotNull(map); + XSSFImportFromXML importer = new XSSFImportFromXML(map); + + importer.importFromXML(testXML); + + XSSFSheet sheet = wb.getSheetAt(0); + + XSSFRow row = sheet.getRow(0); + assertTrue(row.getCell(0).getStringCellValue().equals(name)); + assertTrue(row.getCell(1).getStringCellValue().equals(teacher)); + assertTrue(row.getCell(2).getStringCellValue().equals(tutor)); + assertTrue(row.getCell(3).getStringCellValue().equals(cdl)); + assertTrue(row.getCell(4).getStringCellValue().equals(duration)); + assertTrue(row.getCell(5).getStringCellValue().equals(topic)); + assertTrue(row.getCell(6).getStringCellValue().equals(project)); + assertTrue(row.getCell(7).getStringCellValue().equals(credits)); + } } @Test(timeout=60000) public void testMultiTable() throws IOException, XPathExpressionException, SAXException{ - XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("CustomXMLMappings-complex-type.xlsx"); - try { - String cellC6 = "c6"; - String cellC7 = "c7"; - String cellC8 = "c8"; - String cellC9 = "c9"; - - String testXML = "" + - ""+ - ""+ - ""+ - ""; - - for(int i = 10; i< 10010; i++){ - testXML += ""; - } - - testXML += ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - "\u0000"; - - XSSFMap map = wb.getMapInfo().getXSSFMapByName("MapInfo_mapping"); - assertNotNull(map); - XSSFImportFromXML importer = new XSSFImportFromXML(map); - - importer.importFromXML(testXML); - - //Check for Schema element - XSSFSheet sheet=wb.getSheetAt(1); - - assertEquals(cellC6,sheet.getRow(5).getCell(2).getStringCellValue()); - assertEquals(cellC7,sheet.getRow(6).getCell(2).getStringCellValue()); - assertEquals(cellC8,sheet.getRow(7).getCell(2).getStringCellValue()); - assertEquals(cellC9,sheet.getRow(8).getCell(2).getStringCellValue()); - assertEquals("c5001",sheet.getRow(5000).getCell(2).getStringCellValue()); - } finally { - wb.close(); - } + try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("CustomXMLMappings-complex-type.xlsx")) { + String cellC6 = "c6"; + String cellC7 = "c7"; + String cellC8 = "c8"; + String cellC9 = "c9"; + + StringBuilder testXML = new StringBuilder("" + + "" + + "" + + "" + + ""); + + for (int i = 10; i < 10010; i++) { + testXML.append(""); + } + + testXML.append("" + "" + "" + "" + "" + "" + "" + "" + "" + "\u0000"); + + XSSFMap map = wb.getMapInfo().getXSSFMapByName("MapInfo_mapping"); + assertNotNull(map); + XSSFImportFromXML importer = new XSSFImportFromXML(map); + + importer.importFromXML(testXML.toString()); + + //Check for Schema element + XSSFSheet sheet = wb.getSheetAt(1); + + assertEquals(cellC6, sheet.getRow(5).getCell(2).getStringCellValue()); + assertEquals(cellC7, sheet.getRow(6).getCell(2).getStringCellValue()); + assertEquals(cellC8, sheet.getRow(7).getCell(2).getStringCellValue()); + assertEquals(cellC9, sheet.getRow(8).getCell(2).getStringCellValue()); + assertEquals("c5001", sheet.getRow(5000).getCell(2).getStringCellValue()); + } } @Test public void testSingleAttributeCellWithNamespace() throws IOException, XPathExpressionException, SAXException{ - XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("CustomXMLMapping-singleattributenamespace.xlsx"); - try { - int id = 1; - String displayName = "dispName"; - String ref="19"; - int count = 21; - - String testXML = ""+ - ""+ - ""+ - "\u0000"; - XSSFMap map = wb.getMapInfo().getXSSFMapByName("table_mapping"); - assertNotNull(map); - XSSFImportFromXML importer = new XSSFImportFromXML(map); - importer.importFromXML(testXML); - - //Check for Schema element - XSSFSheet sheet=wb.getSheetAt(0); - - assertEquals(new Double(id), sheet.getRow(28).getCell(1).getNumericCellValue(), 0); - assertEquals(displayName, sheet.getRow(11).getCell(5).getStringCellValue()); - assertEquals(ref, sheet.getRow(14).getCell(7).getStringCellValue()); - assertEquals(new Double(count), sheet.getRow(18).getCell(3).getNumericCellValue(), 0); - } finally { - wb.close(); - } + try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("CustomXMLMapping-singleattributenamespace.xlsx")) { + int id = 1; + String displayName = "dispName"; + String ref = "19"; + int count = 21; + + String testXML = "" + + "" + + "" + + "\u0000"; + XSSFMap map = wb.getMapInfo().getXSSFMapByName("table_mapping"); + assertNotNull(map); + XSSFImportFromXML importer = new XSSFImportFromXML(map); + importer.importFromXML(testXML); + + //Check for Schema element + XSSFSheet sheet = wb.getSheetAt(0); + + assertEquals(new Double(id), sheet.getRow(28).getCell(1).getNumericCellValue(), 0); + assertEquals(displayName, sheet.getRow(11).getCell(5).getStringCellValue()); + assertEquals(ref, sheet.getRow(14).getCell(7).getStringCellValue()); + assertEquals(new Double(count), sheet.getRow(18).getCell(3).getNumericCellValue(), 0); + } } @Test public void testOptionalFields_Bugzilla_55864() throws IOException, XPathExpressionException, SAXException { - XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("55864.xlsx"); - try { - String testXML = "" + - "" + - "" + - "Albert" + - "Einstein" + - "1879-03-14" + - "" + - ""; - - XSSFMap map = wb.getMapInfo().getXSSFMapByName("PersonInfoRoot_Map"); - assertNotNull(map); - XSSFImportFromXML importer = new XSSFImportFromXML(map); - - importer.importFromXML(testXML); - - XSSFSheet sheet=wb.getSheetAt(0); - - XSSFRow rowHeadings = sheet.getRow(0); - XSSFRow rowData = sheet.getRow(1); - - assertEquals("FirstName", rowHeadings.getCell(0).getStringCellValue()); - assertEquals("Albert", rowData.getCell(0).getStringCellValue()); - - assertEquals("LastName", rowHeadings.getCell(1).getStringCellValue()); - assertEquals("Einstein", rowData.getCell(1).getStringCellValue()); - - assertEquals("BirthDate", rowHeadings.getCell(2).getStringCellValue()); - assertEquals("1879-03-14", rowData.getCell(2).getStringCellValue()); - - // Value for OptionalRating is declared optional (minOccurs=0) in 55864.xlsx - assertEquals("OptionalRating", rowHeadings.getCell(3).getStringCellValue()); - assertNull("", rowData.getCell(3)); - } finally { - wb.close(); - } + try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("55864.xlsx")) { + String testXML = "" + + "" + + "" + + "Albert" + + "Einstein" + + "1879-03-14" + + "" + + ""; + + XSSFMap map = wb.getMapInfo().getXSSFMapByName("PersonInfoRoot_Map"); + assertNotNull(map); + XSSFImportFromXML importer = new XSSFImportFromXML(map); + + importer.importFromXML(testXML); + + XSSFSheet sheet = wb.getSheetAt(0); + + XSSFRow rowHeadings = sheet.getRow(0); + XSSFRow rowData = sheet.getRow(1); + + assertEquals("FirstName", rowHeadings.getCell(0).getStringCellValue()); + assertEquals("Albert", rowData.getCell(0).getStringCellValue()); + + assertEquals("LastName", rowHeadings.getCell(1).getStringCellValue()); + assertEquals("Einstein", rowData.getCell(1).getStringCellValue()); + + assertEquals("BirthDate", rowHeadings.getCell(2).getStringCellValue()); + assertEquals("1879-03-14", rowData.getCell(2).getStringCellValue()); + + // Value for OptionalRating is declared optional (minOccurs=0) in 55864.xlsx + assertEquals("OptionalRating", rowHeadings.getCell(3).getStringCellValue()); + assertNull("", rowData.getCell(3)); + } } @Test diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java index 21c32c651a..710ff2f3a3 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java @@ -180,8 +180,7 @@ public final class TestXSSFWorkbook extends BaseTestXWorkbook { @Test public void getCellStyleAt() throws IOException{ - XSSFWorkbook workbook = new XSSFWorkbook(); - try { + try (XSSFWorkbook workbook = new XSSFWorkbook()) { short i = 0; //get default style CellStyle cellStyleAt = workbook.getCellStyleAt(i); @@ -194,17 +193,14 @@ public final class TestXSSFWorkbook extends BaseTestXWorkbook { font.setFontName("Verdana"); customStyle.setFont(font); int x = styleSource.putStyle(customStyle); - cellStyleAt = workbook.getCellStyleAt((short)x); + cellStyleAt = workbook.getCellStyleAt((short) x); assertNotNull(cellStyleAt); - } finally { - workbook.close(); - } + } } @Test public void getFontAt() throws IOException{ - XSSFWorkbook workbook = new XSSFWorkbook(); - try { + try (XSSFWorkbook workbook = new XSSFWorkbook()) { StylesTable styleSource = workbook.getStylesSource(); short i = 0; //get default font @@ -215,22 +211,17 @@ public final class TestXSSFWorkbook extends BaseTestXWorkbook { XSSFFont customFont = new XSSFFont(); customFont.setItalic(true); int x = styleSource.putFont(customFont); - fontAt = workbook.getFontAt((short)x); + fontAt = workbook.getFontAt((short) x); assertNotNull(fontAt); - } finally { - workbook.close(); - } + } } @Test public void getNumCellStyles() throws IOException{ - XSSFWorkbook workbook = new XSSFWorkbook(); - try { + try (XSSFWorkbook workbook = new XSSFWorkbook()) { //get default cellStyles assertEquals(1, workbook.getNumCellStyles()); - } finally { - workbook.close(); - } + } } @Test @@ -303,35 +294,27 @@ public final class TestXSSFWorkbook extends BaseTestXWorkbook { @Test public void incrementSheetId() throws IOException { - XSSFWorkbook wb = new XSSFWorkbook(); - try { - int sheetId = (int)wb.createSheet().sheet.getSheetId(); + try (XSSFWorkbook wb = new XSSFWorkbook()) { + int sheetId = (int) wb.createSheet().sheet.getSheetId(); assertEquals(1, sheetId); - sheetId = (int)wb.createSheet().sheet.getSheetId(); + sheetId = (int) wb.createSheet().sheet.getSheetId(); assertEquals(2, sheetId); //test file with gaps in the sheetId sequence - XSSFWorkbook wbBack = XSSFTestDataSamples.openSampleWorkbook("47089.xlsm"); - try { - int lastSheetId = (int)wbBack.getSheetAt(wbBack.getNumberOfSheets() - 1).sheet.getSheetId(); - sheetId = (int)wbBack.createSheet().sheet.getSheetId(); - assertEquals(lastSheetId+1, sheetId); - } finally { - wbBack.close(); + try (XSSFWorkbook wbBack = XSSFTestDataSamples.openSampleWorkbook("47089.xlsm")) { + int lastSheetId = (int) wbBack.getSheetAt(wbBack.getNumberOfSheets() - 1).sheet.getSheetId(); + sheetId = (int) wbBack.createSheet().sheet.getSheetId(); + assertEquals(lastSheetId + 1, sheetId); } - } finally { - wb.close(); } } /** * Test setting of core properties such as Title and Author - * @throws IOException */ @Test public void workbookProperties() throws IOException { - XSSFWorkbook workbook = new XSSFWorkbook(); - try { + try (XSSFWorkbook workbook = new XSSFWorkbook()) { POIXMLProperties props = workbook.getProperties(); assertNotNull(props); //the Application property must be set for new workbooks, see Bugzilla #47559 @@ -350,8 +333,6 @@ public final class TestXSSFWorkbook extends BaseTestXWorkbook { assertEquals("Testing Bugzilla #47460", opcProps.getTitleProperty().getValue()); assertEquals("poi-dev@poi.apache.org", opcProps.getCreatorProperty().getValue()); wbBack.close(); - } finally { - workbook.close(); } } @@ -396,6 +377,7 @@ public final class TestXSSFWorkbook extends BaseTestXWorkbook { /** * When deleting a sheet make sure that we adjust sheet indices of named ranges */ + @SuppressWarnings("deprecation") @Test public void bug47737() throws IOException { XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("47737.xlsx"); @@ -500,8 +482,7 @@ public final class TestXSSFWorkbook extends BaseTestXWorkbook { @Test public void recalcId() throws IOException { - XSSFWorkbook wb = new XSSFWorkbook(); - try { + try (XSSFWorkbook wb = new XSSFWorkbook()) { assertFalse(wb.getForceFormulaRecalculation()); CTWorkbook ctWorkbook = wb.getCTWorkbook(); assertFalse(ctWorkbook.isSetCalcPr()); @@ -523,8 +504,6 @@ public final class TestXSSFWorkbook extends BaseTestXWorkbook { calcPr.setCalcMode(STCalcMode.MANUAL); wb.setForceFormulaRecalculation(true); assertEquals(STCalcMode.AUTO, calcPr.getCalcMode()); - } finally { - wb.close(); } } @@ -549,11 +528,8 @@ public final class TestXSSFWorkbook extends BaseTestXWorkbook { accessWorkbook(workbook); - ByteArrayOutputStream stream = new ByteArrayOutputStream(); - try { + try (ByteArrayOutputStream stream = new ByteArrayOutputStream()) { workbook.write(stream); - } finally { - stream.close(); } accessWorkbook(workbook); @@ -703,8 +679,7 @@ public final class TestXSSFWorkbook extends BaseTestXWorkbook { @Test public void bug51158a() throws IOException { // create a workbook - final XSSFWorkbook workbook = new XSSFWorkbook(); - try { + try (XSSFWorkbook workbook = new XSSFWorkbook()) { workbook.createSheet("Test Sheet"); XSSFSheet sheetBack = workbook.getSheetAt(0); @@ -713,7 +688,7 @@ public final class TestXSSFWorkbook extends BaseTestXWorkbook { sheetBack.commit(); // ensure that a memory based package part does not have lingering data from previous commit() calls - if(sheetBack.getPackagePart() instanceof MemoryPackagePart) { + if (sheetBack.getPackagePart() instanceof MemoryPackagePart) { sheetBack.getPackagePart().clear(); } @@ -722,8 +697,6 @@ public final class TestXSSFWorkbook extends BaseTestXWorkbook { String str = new String(IOUtils.toByteArray(sheetBack.getPackagePart().getInputStream()), "UTF-8"); assertEquals(1, countMatches(str, " iterator and Iterator sheetIterator - * have been replaced with Iterator {@link #iterator} and - * Iterator {@link #sheetIterator}. This makes iterating over sheets in a workbook + * have been replaced with Iterator {@link Sheet#iterator} and + * Iterator {@link Workbook#sheetIterator}. This makes iterating over sheets in a workbook * similar to iterating over rows in a sheet and cells in a row. * * Note: this breaks backwards compatibility! Existing codebases will need to @@ -1124,6 +1079,7 @@ public final class TestXSSFWorkbook extends BaseTestXWorkbook { wb.close(); } + @SuppressWarnings("deprecation") @Test public void testRemoveSheet() throws IOException { // Test removing a sheet maintains the named ranges correctly