From 1fdbf14e1eac24c8f5b718bc50c1bacfe10fe735 Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Thu, 2 Jun 2016 20:14:28 +0000 Subject: [PATCH] Fix some Sonar issues and some IntelliJ warnings git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1746627 13f79535-47bb-0310-9956-ffa450edef68 --- .../xssf/usermodel/examples/Outlining.java | 80 ++++--- .../poi/xwpf/usermodel/SimpleTable.java | 210 +++++++++--------- .../poi/ss/excelant/ExcelAntEvaluateCell.java | 8 +- .../ss/excelant/ExcelAntSetDoubleCell.java | 10 +- .../ss/excelant/ExcelAntSetStringCell.java | 12 +- .../apache/poi/ss/excelant/ExcelAntTask.java | 72 +++--- .../apache/poi/ss/excelant/ExcelAntTest.java | 19 +- .../ss/excelant/IExcelAntWorkbookHandler.java | 4 - .../excelant/util/ExcelAntWorkbookUtil.java | 8 +- .../util/ExcelAntWorkbookUtilFactory.java | 9 +- .../poi/ddf/EscherClientAnchorRecord.java | 31 ++- .../apache/poi/hssf/usermodel/HSSFSheet.java | 55 ++--- .../poi/ss/usermodel/ExtendedColor.java | 35 ++- .../java/org/apache/poi/POIXMLDocument.java | 23 +- .../poi/POIXMLPropertiesTextExtractor.java | 9 +- .../poi/extractor/ExtractorFactory.java | 14 +- .../org/apache/poi/TestPOIXMLProperties.java | 4 - .../model/textproperties/BitMaskTextProp.java | 2 +- .../apache/poi/hwmf/draw/HwmfGraphics.java | 12 +- .../ss/usermodel/BaseTestBugzillaIssues.java | 29 +-- 20 files changed, 296 insertions(+), 350 deletions(-) diff --git a/src/examples/src/org/apache/poi/xssf/usermodel/examples/Outlining.java b/src/examples/src/org/apache/poi/xssf/usermodel/examples/Outlining.java index 71d63b1f5..869316f08 100644 --- a/src/examples/src/org/apache/poi/xssf/usermodel/examples/Outlining.java +++ b/src/examples/src/org/apache/poi/xssf/usermodel/examples/Outlining.java @@ -18,6 +18,7 @@ package org.apache.poi.xssf.usermodel.examples; import java.io.FileOutputStream; +import java.io.OutputStream; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; @@ -25,51 +26,56 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class Outlining { - public static void main(String[]args) throws Exception{ - Outlining o=new Outlining(); - o.groupRowColumn(); - o.collapseExpandRowColumn(); + public static void main(String[] args) throws Exception { + Outlining o=new Outlining(); + o.groupRowColumn(); + o.collapseExpandRowColumn(); } - private void groupRowColumn() throws Exception{ - Workbook wb = new XSSFWorkbook(); - Sheet sheet1 = wb.createSheet("new sheet"); + private void groupRowColumn() throws Exception { + Workbook wb = new XSSFWorkbook(); + Sheet sheet1 = wb.createSheet("new sheet"); - sheet1.groupRow( 5, 14 ); - sheet1.groupRow( 7, 14 ); - sheet1.groupRow( 16, 19 ); + sheet1.groupRow( 5, 14 ); + sheet1.groupRow( 7, 14 ); + sheet1.groupRow( 16, 19 ); - sheet1.groupColumn( (short)4, (short)7 ); - sheet1.groupColumn( (short)9, (short)12 ); - sheet1.groupColumn( (short)10, (short)11 ); - - FileOutputStream fileOut = new FileOutputStream("outlining.xlsx"); - wb.write(fileOut); - fileOut.close(); + sheet1.groupColumn( (short)4, (short)7 ); + sheet1.groupColumn( (short)9, (short)12 ); + sheet1.groupColumn( (short)10, (short)11 ); + OutputStream fileOut = new FileOutputStream("outlining.xlsx"); + try { + wb.write(fileOut); + } finally { + fileOut.close(); + } } - private void collapseExpandRowColumn()throws Exception{ - Workbook wb2 = new XSSFWorkbook(); - Sheet sheet2 = wb2.createSheet("new sheet"); - sheet2.groupRow( 5, 14 ); - sheet2.groupRow( 7, 14 ); - sheet2.groupRow( 16, 19 ); + private void collapseExpandRowColumn() throws Exception { + Workbook wb2 = new XSSFWorkbook(); + Sheet sheet2 = wb2.createSheet("new sheet"); + sheet2.groupRow( 5, 14 ); + sheet2.groupRow( 7, 14 ); + sheet2.groupRow( 16, 19 ); - sheet2.groupColumn( (short)4, (short)7 ); - sheet2.groupColumn( (short)9, (short)12 ); - sheet2.groupColumn( (short)10, (short)11 ); - - - sheet2.setRowGroupCollapsed( 7, true ); - //sheet1.setRowGroupCollapsed(7,false); - - sheet2.setColumnGroupCollapsed( (short)4, true ); - sheet2.setColumnGroupCollapsed( (short)4, false ); - - FileOutputStream fileOut = new FileOutputStream("outlining_collapsed.xlsx"); - wb2.write(fileOut); - fileOut.close(); + sheet2.groupColumn( (short)4, (short)7 ); + sheet2.groupColumn( (short)9, (short)12 ); + sheet2.groupColumn( (short)10, (short)11 ); + + + sheet2.setRowGroupCollapsed( 7, true ); + //sheet1.setRowGroupCollapsed(7,false); + + sheet2.setColumnGroupCollapsed( (short)4, true ); + sheet2.setColumnGroupCollapsed( (short)4, false ); + + OutputStream fileOut = new FileOutputStream("outlining_collapsed.xlsx"); + try { + wb2.write(fileOut); + } finally { + fileOut.close(); + } } } diff --git a/src/examples/src/org/apache/poi/xwpf/usermodel/SimpleTable.java b/src/examples/src/org/apache/poi/xwpf/usermodel/SimpleTable.java index 5d07fe216..387ab449b 100644 --- a/src/examples/src/org/apache/poi/xwpf/usermodel/SimpleTable.java +++ b/src/examples/src/org/apache/poi/xwpf/usermodel/SimpleTable.java @@ -17,6 +17,7 @@ package org.apache.poi.xwpf.usermodel; import java.io.FileOutputStream; +import java.io.OutputStream; import java.math.BigInteger; import java.util.List; @@ -62,32 +63,37 @@ public class SimpleTable { public static void createSimpleTable() throws Exception { XWPFDocument doc = new XWPFDocument(); - XWPFTable table = doc.createTable(3, 3); + try { + XWPFTable table = doc.createTable(3, 3); - table.getRow(1).getCell(1).setText("EXAMPLE OF TABLE"); + table.getRow(1).getCell(1).setText("EXAMPLE OF TABLE"); - // table cells have a list of paragraphs; there is an initial - // paragraph created when the cell is created. If you create a - // paragraph in the document to put in the cell, it will also - // appear in the document following the table, which is probably - // not the desired result. - XWPFParagraph p1 = table.getRow(0).getCell(0).getParagraphs().get(0); + // table cells have a list of paragraphs; there is an initial + // paragraph created when the cell is created. If you create a + // paragraph in the document to put in the cell, it will also + // appear in the document following the table, which is probably + // not the desired result. + XWPFParagraph p1 = table.getRow(0).getCell(0).getParagraphs().get(0); - XWPFRun r1 = p1.createRun(); - r1.setBold(true); - r1.setText("The quick brown fox"); - r1.setItalic(true); - r1.setFontFamily("Courier"); - r1.setUnderline(UnderlinePatterns.DOT_DOT_DASH); - r1.setTextPosition(100); + XWPFRun r1 = p1.createRun(); + r1.setBold(true); + r1.setText("The quick brown fox"); + r1.setItalic(true); + r1.setFontFamily("Courier"); + r1.setUnderline(UnderlinePatterns.DOT_DOT_DASH); + r1.setTextPosition(100); - table.getRow(2).getCell(2).setText("only text"); + table.getRow(2).getCell(2).setText("only text"); - FileOutputStream out = new FileOutputStream("simpleTable.docx"); - doc.write(out); - out.close(); - - doc.close(); + OutputStream out = new FileOutputStream("simpleTable.docx"); + try { + doc.write(out); + } finally { + out.close(); + } + } finally { + doc.close(); + } } /** @@ -107,92 +113,94 @@ public class SimpleTable { public static void createStyledTable() throws Exception { // Create a new document from scratch XWPFDocument doc = new XWPFDocument(); - // -- OR -- - // open an existing empty document with styles already defined - //XWPFDocument doc = new XWPFDocument(new FileInputStream("base_document.docx")); - // Create a new table with 6 rows and 3 columns - int nRows = 6; - int nCols = 3; - XWPFTable table = doc.createTable(nRows, nCols); + try { + // -- OR -- + // open an existing empty document with styles already defined + //XWPFDocument doc = new XWPFDocument(new FileInputStream("base_document.docx")); - // Set the table style. If the style is not defined, the table style - // will become "Normal". - CTTblPr tblPr = table.getCTTbl().getTblPr(); - CTString styleStr = tblPr.addNewTblStyle(); - styleStr.setVal("StyledTable"); + // Create a new table with 6 rows and 3 columns + int nRows = 6; + int nCols = 3; + XWPFTable table = doc.createTable(nRows, nCols); - // Get a list of the rows in the table - List rows = table.getRows(); - int rowCt = 0; - int colCt = 0; - for (XWPFTableRow row : rows) { - // get table row properties (trPr) - CTTrPr trPr = row.getCtRow().addNewTrPr(); - // set row height; units = twentieth of a point, 360 = 0.25" - CTHeight ht = trPr.addNewTrHeight(); - ht.setVal(BigInteger.valueOf(360)); + // Set the table style. If the style is not defined, the table style + // will become "Normal". + CTTblPr tblPr = table.getCTTbl().getTblPr(); + CTString styleStr = tblPr.addNewTblStyle(); + styleStr.setVal("StyledTable"); - // get the cells in this row - List cells = row.getTableCells(); - // add content to each cell - for (XWPFTableCell cell : cells) { - // get a table cell properties element (tcPr) - CTTcPr tcpr = cell.getCTTc().addNewTcPr(); - // set vertical alignment to "center" - CTVerticalJc va = tcpr.addNewVAlign(); - va.setVal(STVerticalJc.CENTER); + // Get a list of the rows in the table + List rows = table.getRows(); + int rowCt = 0; + int colCt = 0; + for (XWPFTableRow row : rows) { + // get table row properties (trPr) + CTTrPr trPr = row.getCtRow().addNewTrPr(); + // set row height; units = twentieth of a point, 360 = 0.25" + CTHeight ht = trPr.addNewTrHeight(); + ht.setVal(BigInteger.valueOf(360)); - // create cell color element - CTShd ctshd = tcpr.addNewShd(); - ctshd.setColor("auto"); - ctshd.setVal(STShd.CLEAR); - if (rowCt == 0) { - // header row - ctshd.setFill("A7BFDE"); - } - else if (rowCt % 2 == 0) { - // even row - ctshd.setFill("D3DFEE"); - } - else { - // odd row - ctshd.setFill("EDF2F8"); - } + // get the cells in this row + List cells = row.getTableCells(); + // add content to each cell + for (XWPFTableCell cell : cells) { + // get a table cell properties element (tcPr) + CTTcPr tcpr = cell.getCTTc().addNewTcPr(); + // set vertical alignment to "center" + CTVerticalJc va = tcpr.addNewVAlign(); + va.setVal(STVerticalJc.CENTER); - // get 1st paragraph in cell's paragraph list - XWPFParagraph para = cell.getParagraphs().get(0); - // create a run to contain the content - XWPFRun rh = para.createRun(); - // style cell as desired - if (colCt == nCols - 1) { - // last column is 10pt Courier - rh.setFontSize(10); - rh.setFontFamily("Courier"); - } - if (rowCt == 0) { - // header row - rh.setText("header row, col " + colCt); - rh.setBold(true); - para.setAlignment(ParagraphAlignment.CENTER); - } - else { - // other rows - rh.setText("row " + rowCt + ", col " + colCt); - para.setAlignment(ParagraphAlignment.LEFT); - } - colCt++; - } // for cell - colCt = 0; - rowCt++; - } // for row + // create cell color element + CTShd ctshd = tcpr.addNewShd(); + ctshd.setColor("auto"); + ctshd.setVal(STShd.CLEAR); + if (rowCt == 0) { + // header row + ctshd.setFill("A7BFDE"); + } else if (rowCt % 2 == 0) { + // even row + ctshd.setFill("D3DFEE"); + } else { + // odd row + ctshd.setFill("EDF2F8"); + } - // write the file - FileOutputStream out = new FileOutputStream("styledTable.docx"); - doc.write(out); - out.close(); - - doc.close(); + // get 1st paragraph in cell's paragraph list + XWPFParagraph para = cell.getParagraphs().get(0); + // create a run to contain the content + XWPFRun rh = para.createRun(); + // style cell as desired + if (colCt == nCols - 1) { + // last column is 10pt Courier + rh.setFontSize(10); + rh.setFontFamily("Courier"); + } + if (rowCt == 0) { + // header row + rh.setText("header row, col " + colCt); + rh.setBold(true); + para.setAlignment(ParagraphAlignment.CENTER); + } else { + // other rows + rh.setText("row " + rowCt + ", col " + colCt); + para.setAlignment(ParagraphAlignment.LEFT); + } + colCt++; + } // for cell + colCt = 0; + rowCt++; + } // for row + + // write the file + OutputStream out = new FileOutputStream("styledTable.docx"); + try { + doc.write(out); + } finally { + out.close(); + } + } finally { + doc.close(); + } } - } diff --git a/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntEvaluateCell.java b/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntEvaluateCell.java index d35cc6a7d..55e51975f 100644 --- a/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntEvaluateCell.java +++ b/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntEvaluateCell.java @@ -125,13 +125,13 @@ public class ExcelAntEvaluateCell extends Task { } result = wbUtil.evaluateCell(cell, expectedValue, precisionToUse ) ; - StringBuffer sb = new StringBuffer() ; + StringBuilder sb = new StringBuilder() ; sb.append( "evaluation of cell " ) ; sb.append( cell ) ; sb.append( " resulted in " ) ; sb.append( result.getReturnValue() ) ; - if( showDelta == true ) { - sb.append( " with a delta of " + result.getDelta() ) ; + if(showDelta) { + sb.append(" with a delta of ").append(result.getDelta()); } log( sb.toString(), Project.MSG_DEBUG) ; @@ -141,6 +141,4 @@ public class ExcelAntEvaluateCell extends Task { public ExcelAntEvaluationResult getResult() { return result ; } - - } diff --git a/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntSetDoubleCell.java b/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntSetDoubleCell.java index a1113509a..3e6c4cd60 100644 --- a/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntSetDoubleCell.java +++ b/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntSetDoubleCell.java @@ -29,15 +29,13 @@ import org.apache.tools.ant.Project; * */ public class ExcelAntSetDoubleCell extends ExcelAntSet { - - - private double cellValue ; + private double cellValue; public ExcelAntSetDoubleCell() {} /** * Set the value of the specified cell as the double passed in. - * @param value + * @param value The double-value that should be set when this task is executed. */ public void setValue( double value ) { cellValue = value ; @@ -45,14 +43,14 @@ public class ExcelAntSetDoubleCell extends ExcelAntSet { /** * Return the cell value as a double. - * @return + * @return The double-value of the cell as populated via setValue(), null + * if the value was not set yet. */ public double getCellValue() { return cellValue; } public void execute() throws BuildException { - wbUtil.setDoubleValue(cellStr, cellValue ) ; log( "set cell " + cellStr + " to value " + cellValue + " as double.", Project.MSG_DEBUG ) ; diff --git a/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntSetStringCell.java b/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntSetStringCell.java index 12221ee17..047e544ea 100644 --- a/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntSetStringCell.java +++ b/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntSetStringCell.java @@ -29,17 +29,13 @@ import org.apache.tools.ant.Project; * */ public class ExcelAntSetStringCell extends ExcelAntSet { - - private String stringValue ; - - + public ExcelAntSetStringCell() {} - /** * Set the value of the cell to the String passed in. - * @param value + * @param value The string-value that should be set when this task is executed. */ public void setValue(String value ) { stringValue = value ; @@ -47,14 +43,14 @@ public class ExcelAntSetStringCell extends ExcelAntSet { /** * Return the value that will be set into the cell. - * @return + * @return The string-value of the cell as populated via setValue(), null + * if the value was not set yet. */ public String getCellValue() { return stringValue; } public void execute() throws BuildException { - wbUtil.setStringValue(cellStr, stringValue ) ; log( "set cell " + cellStr + " to value " + stringValue + " as String.", Project.MSG_DEBUG ) ; diff --git a/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntTask.java b/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntTask.java index ad0cf6b84..13271611b 100644 --- a/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntTask.java +++ b/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntTask.java @@ -17,14 +17,6 @@ package org.apache.poi.ss.excelant; -import java.io.File; -import java.io.FileInputStream; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.Locale; - import org.apache.poi.ss.excelant.util.ExcelAntWorkbookUtil; import org.apache.poi.ss.excelant.util.ExcelAntWorkbookUtilFactory; import org.apache.poi.ss.usermodel.Workbook; @@ -33,6 +25,13 @@ import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Project; import org.apache.tools.ant.Task; +import java.io.File; +import java.io.FileInputStream; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.LinkedList; +import java.util.Locale; + /** * Ant task class for testing Excel workbook cells. * @@ -85,7 +84,7 @@ public class ExcelAntTask extends Task { int totalCount = 0 ; int successCount = 0 ; - StringBuffer versionBffr = new StringBuffer() ; + StringBuilder versionBffr = new StringBuilder() ; versionBffr.append( "ExcelAnt version " ) ; versionBffr.append( VERSION ) ; versionBffr.append( " Copyright 2011" ) ; @@ -107,43 +106,38 @@ public class ExcelAntTask extends Task { return ; } if( tests.size() > 0 ) { - - Iterator testsIt = tests.iterator() ; - while( testsIt.hasNext() ) { - ExcelAntTest test = testsIt.next(); - - log( "executing test: " + test.getName(), Project.MSG_DEBUG ) ; - - workbookUtil = ExcelAntWorkbookUtilFactory.getInstance( excelFileName ) ; - - Iterator functionsIt = functions.iterator() ; - while( functionsIt.hasNext() ) { - ExcelAntUserDefinedFunction eaUdf = functionsIt.next() ; + + for (ExcelAntTest test : tests) { + log("executing test: " + test.getName(), Project.MSG_DEBUG); + + workbookUtil = ExcelAntWorkbookUtilFactory.getInstance(excelFileName); + + for (ExcelAntUserDefinedFunction eaUdf : functions) { try { - workbookUtil.addFunction(eaUdf.getFunctionAlias(), eaUdf.getClassName() ) ; - } catch ( Exception e) { - throw new BuildException( e.getMessage(), e ); + workbookUtil.addFunction(eaUdf.getFunctionAlias(), eaUdf.getClassName()); + } catch (Exception e) { + throw new BuildException(e.getMessage(), e); } } - test.setWorkbookUtil( workbookUtil ) ; - - if( precision != null && precision.getValue() > 0 ) { - log( "setting precision for the test " + test.getName(), Project.MSG_VERBOSE ) ; - test.setPrecision( precision.getValue() ) ; + test.setWorkbookUtil(workbookUtil); + + if (precision != null && precision.getValue() > 0) { + log("setting precision for the test " + test.getName(), Project.MSG_VERBOSE); + test.setPrecision(precision.getValue()); } - - test.execute() ; - - if( test.didTestPass() ) { - successCount++ ; + + test.execute(); + + if (test.didTestPass()) { + successCount++; } else { - if( failOnError == true ) { - throw new BuildException( "Test " + test.getName() + " failed." ) ; + if (failOnError) { + throw new BuildException("Test " + test.getName() + " failed."); } } - totalCount++ ; - - workbookUtil = null ; + totalCount++; + + workbookUtil = null; } log( successCount + "/" + totalCount + " tests passed.", Project.MSG_INFO ) ; workbookUtil = null ; diff --git a/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntTest.java b/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntTest.java index 719b05699..36b9b6d9e 100644 --- a/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntTest.java +++ b/src/excelant/java/org/apache/poi/ss/excelant/ExcelAntTest.java @@ -162,9 +162,9 @@ public class ExcelAntTest extends Task{ try { eval.execute(); ExcelAntEvaluationResult result = eval.getResult(); - if( result.didTestPass() && - result.evaluationCompleteWithError() == false ) { - if( showSuccessDetails == true ) { + if( result.didTestPass() && + !result.evaluationCompleteWithError()) { + if(showSuccessDetails) { log("Succeeded when evaluating " + result.getCellName() + ". It evaluated to " + result.getReturnValue() + " when the value of " + @@ -172,7 +172,7 @@ public class ExcelAntTest extends Task{ eval.getPrecision(), Project.MSG_INFO ); } } else { - if( showFailureDetail == true ) { + if(showFailureDetail) { failureMessages.add( "\tFailed to evaluate cell " + result.getCellName() + ". It evaluated to " + result.getReturnValue() + " when the value of " + @@ -183,7 +183,7 @@ public class ExcelAntTest extends Task{ passed = false; failureCount++; - if( eval.requiredToPass() == true ) { + if(eval.requiredToPass()) { throw new BuildException( "\tFailed to evaluate cell " + result.getCellName() + ". It evaluated to " + result.getReturnValue() + " when the value of " + @@ -200,15 +200,14 @@ public class ExcelAntTest extends Task{ } } - if( passed == false ) { + if(!passed) { log( "Test named " + name + " failed because " + failureCount + " of " + testCount + " evaluations failed to " + "evaluate correctly.", Project.MSG_ERR ); - if( showFailureDetail == true && failureMessages.size() > 0 ) { - Iterator failures = failureMessages.iterator(); - while( failures.hasNext() ) { - log( failures.next(), Project.MSG_ERR ); + if(showFailureDetail && failureMessages.size() > 0 ) { + for (String failureMessage : failureMessages) { + log(failureMessage, Project.MSG_ERR); } } } diff --git a/src/excelant/java/org/apache/poi/ss/excelant/IExcelAntWorkbookHandler.java b/src/excelant/java/org/apache/poi/ss/excelant/IExcelAntWorkbookHandler.java index 3cd477abc..139e34c0d 100644 --- a/src/excelant/java/org/apache/poi/ss/excelant/IExcelAntWorkbookHandler.java +++ b/src/excelant/java/org/apache/poi/ss/excelant/IExcelAntWorkbookHandler.java @@ -36,11 +36,7 @@ import org.apache.poi.ss.usermodel.Workbook; * */ public interface IExcelAntWorkbookHandler { - - public void setWorkbook( Workbook workbook ) ; public void execute() ; - - } diff --git a/src/excelant/java/org/apache/poi/ss/excelant/util/ExcelAntWorkbookUtil.java b/src/excelant/java/org/apache/poi/ss/excelant/util/ExcelAntWorkbookUtil.java index 7d2fbe4fc..627493b29 100644 --- a/src/excelant/java/org/apache/poi/ss/excelant/util/ExcelAntWorkbookUtil.java +++ b/src/excelant/java/org/apache/poi/ss/excelant/util/ExcelAntWorkbookUtil.java @@ -67,7 +67,8 @@ public class ExcelAntWorkbookUtil extends Typedef { * path of the Excel file. This constructor initializes a Workbook instance * based on that file name. * - * @param fName + * @param fName The fully qualified path of the Excel file. + * @throws BuildException If the workbook cannot be loaded. */ protected ExcelAntWorkbookUtil(String fName) { excelFileName = fName; @@ -78,7 +79,7 @@ public class ExcelAntWorkbookUtil extends Typedef { /** * Constructs an instance based on a Workbook instance. * - * @param wb + * @param wb The Workbook to use for this instance. */ protected ExcelAntWorkbookUtil(Workbook wb) { workbook = wb; @@ -86,7 +87,8 @@ public class ExcelAntWorkbookUtil extends Typedef { /** * Loads the member variable workbook based on the fileName variable. - * @return + * @return The opened Workbook-instance + * @throws BuildException If the workbook cannot be loaded. */ private Workbook loadWorkbook() { diff --git a/src/excelant/java/org/apache/poi/ss/excelant/util/ExcelAntWorkbookUtilFactory.java b/src/excelant/java/org/apache/poi/ss/excelant/util/ExcelAntWorkbookUtilFactory.java index e9d385146..08e7fb3d9 100644 --- a/src/excelant/java/org/apache/poi/ss/excelant/util/ExcelAntWorkbookUtilFactory.java +++ b/src/excelant/java/org/apache/poi/ss/excelant/util/ExcelAntWorkbookUtilFactory.java @@ -40,15 +40,16 @@ public final class ExcelAntWorkbookUtilFactory { * Using the fileName, check the internal map to see if an instance * of the WorkbookUtil exists. If not, then add an instance to the map. * - * @param fileName - * @return + * @param fileName The filename to use as key to look for the ExcelAntWorkbookUtil. + * @return An instance of ExcelAntWorkbookUtil associated with the filename or + * a freshly instantiated one if none did exist before. */ public static ExcelAntWorkbookUtil getInstance(String fileName) { if(workbookUtilMap == null) { workbookUtilMap = new HashMap(); } - if(workbookUtilMap != null && - workbookUtilMap.containsKey(fileName)) { + + if(workbookUtilMap.containsKey(fileName)) { return workbookUtilMap.get(fileName); } diff --git a/src/java/org/apache/poi/ddf/EscherClientAnchorRecord.java b/src/java/org/apache/poi/ddf/EscherClientAnchorRecord.java index d39601b96..80203d436 100644 --- a/src/java/org/apache/poi/ddf/EscherClientAnchorRecord.java +++ b/src/java/org/apache/poi/ddf/EscherClientAnchorRecord.java @@ -61,11 +61,12 @@ public class EscherClientAnchorRecord int size = 0; // Always find 4 two byte entries. Sometimes find 9 - if (bytesRemaining == 4) // Word format only 4 bytes + /*if (bytesRemaining == 4) // Word format only 4 bytes { // Not sure exactly what the format is quite yet, likely a reference to a PLC } - else + else */ + if (bytesRemaining != 4) // Word format only 4 bytes { field_1_flag = LittleEndian.getShort( data, pos + size ); size += 2; field_2_col1 = LittleEndian.getShort( data, pos + size ); size += 2; @@ -157,20 +158,18 @@ public class EscherClientAnchorRecord @Override public String toXml(String tab) { String extraData = HexDump.dump(this.remainingData, 0, 0).trim(); - StringBuilder builder = new StringBuilder(); - builder.append(tab).append(formatXmlRecordHeader(getClass().getSimpleName(), HexDump.toHex(getRecordId()), HexDump.toHex(getVersion()), HexDump.toHex(getInstance()))) - .append(tab).append("\t").append("").append(field_1_flag).append("\n") - .append(tab).append("\t").append("").append(field_2_col1).append("\n") - .append(tab).append("\t").append("").append(field_3_dx1).append("\n") - .append(tab).append("\t").append("").append(field_4_row1).append("\n") - .append(tab).append("\t").append("").append(field_5_dy1).append("\n") - .append(tab).append("\t").append("").append(field_6_col2).append("\n") - .append(tab).append("\t").append("").append(field_7_dx2).append("\n") - .append(tab).append("\t").append("").append(field_8_row2).append("\n") - .append(tab).append("\t").append("").append(field_9_dy2).append("\n") - .append(tab).append("\t").append("").append(extraData).append("\n"); - builder.append(tab).append("\n"); - return builder.toString(); + return tab + formatXmlRecordHeader(getClass().getSimpleName(), HexDump.toHex(getRecordId()), HexDump.toHex(getVersion()), HexDump.toHex(getInstance())) + + tab + "\t" + "" + field_1_flag + "\n" + + tab + "\t" + "" + field_2_col1 + "\n" + + tab + "\t" + "" + field_3_dx1 + "\n" + + tab + "\t" + "" + field_4_row1 + "\n" + + tab + "\t" + "" + field_5_dy1 + "\n" + + tab + "\t" + "" + field_6_col2 + "\n" + + tab + "\t" + "" + field_7_dx2 + "\n" + + tab + "\t" + "" + field_8_row2 + "\n" + + tab + "\t" + "" + field_9_dy2 + "\n" + + tab + "\t" + "" + extraData + "\n" + + tab + "\n"; } /** diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java b/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java index a8cf33176..a7063003a 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java @@ -179,9 +179,7 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet { * used internally to set the properties given a Sheet object */ private void setPropertiesFromSheet(InternalSheet sheet) { - RowRecord row = sheet.getNextRow(); - boolean rowRecordsAlreadyPresent = row != null; while (row != null) { createRowFromRecord(row); @@ -767,7 +765,6 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet { /** * Verify that none of the merged regions intersect a multi-cell array formula in this sheet * - * @param region * @throws IllegalStateException if candidate region intersects an existing array formula in this sheet */ private void checkForMergedRegionsIntersectingArrayFormulas() { @@ -1451,10 +1448,10 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet { *

* TODO: MODE , this is only row specific * - * @param startRow - * @param endRow - * @param n - * @param isRow + * @param startRow the start-index of the rows to shift, zero-based + * @param endRow the end-index of the rows to shift, zero-based + * @param n how far to shift, negative to shift up + * @param isRow unused, kept for backwards compatibility */ protected void shiftMerged(int startRow, int endRow, int n, boolean isRow) { List shiftedRegions = new ArrayList(); @@ -1483,10 +1480,7 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet { } //read so it doesn't get shifted again - Iterator iterator = shiftedRegions.iterator(); - while (iterator.hasNext()) { - CellRangeAddress region = iterator.next(); - + for (CellRangeAddress region : shiftedRegions) { this.addMergedRegion(region); } } @@ -1942,7 +1936,7 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet { /** * Removes a page break at the indicated column * - * @param column + * @param column The index of the column for which to remove a page-break, zero-based */ @Override public void removeColumnBreak(int column) { @@ -1952,7 +1946,7 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet { /** * Runs a bounds check for row numbers * - * @param row + * @param row the index of the row to validate, zero-based */ protected void validateRow(int row) { int maxrow = SpreadsheetVersion.EXCEL97.getLastRowIndex(); @@ -1963,7 +1957,7 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet { /** * Runs a bounds check for column numbers * - * @param column + * @param column the index of the column to validate, zero-based */ protected void validateColumn(int column) { int maxcol = SpreadsheetVersion.EXCEL97.getLastColumnIndex(); @@ -1980,8 +1974,7 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet { EscherAggregate r = (EscherAggregate) getSheet().findFirstRecordBySid(EscherAggregate.sid); List escherRecords = r.getEscherRecords(); - for (Iterator iterator = escherRecords.iterator(); iterator.hasNext(); ) { - EscherRecord escherRecord = iterator.next(); + for (EscherRecord escherRecord : escherRecords) { if (fat) { pw.println(escherRecord.toString()); } else { @@ -2013,8 +2006,7 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet { } // Grab our aggregate record, and wire it up - EscherAggregate agg = (EscherAggregate) _sheet.findFirstRecordBySid(EscherAggregate.sid); - return agg; + return (EscherAggregate) _sheet.findFirstRecordBySid(EscherAggregate.sid); } /** @@ -2043,7 +2035,6 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet { } private HSSFPatriarch getPatriarch(boolean createIfMissing) { - HSSFPatriarch patriarch = null; if (_patriarch != null) { return _patriarch; } @@ -2063,7 +2054,7 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet { if (createIfMissing) { pos = _sheet.aggregateDrawingRecords(dm, true); agg = (EscherAggregate) _sheet.getRecords().get(pos); - patriarch = new HSSFPatriarch(this, agg); + HSSFPatriarch patriarch = new HSSFPatriarch(this, agg); patriarch.afterCreate(); return patriarch; } else { @@ -2204,16 +2195,15 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet { /** * Get a Hyperlink in this sheet anchored at row, column * - * @param row - * @param column + * @param row The index of the row of the hyperlink, zero-based + * @param column the index of the column of the hyperlink, zero-based * @return hyperlink if there is a hyperlink anchored at row, column; otherwise returns null */ @Override public HSSFHyperlink getHyperlink(int row, int column) { - for (Iterator it = _sheet.getRecords().iterator(); it.hasNext(); ) { - RecordBase rec = it.next(); - if (rec instanceof HyperlinkRecord){ - HyperlinkRecord link = (HyperlinkRecord)rec; + for (RecordBase rec : _sheet.getRecords()) { + if (rec instanceof HyperlinkRecord) { + HyperlinkRecord link = (HyperlinkRecord) rec; if (link.getFirstColumn() == column && link.getFirstRow() == row) { return new HSSFHyperlink(link); } @@ -2230,10 +2220,9 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet { @Override public List getHyperlinkList() { final List hyperlinkList = new ArrayList(); - for (Iterator it = _sheet.getRecords().iterator(); it.hasNext(); ) { - RecordBase rec = it.next(); - if (rec instanceof HyperlinkRecord){ - HyperlinkRecord link = (HyperlinkRecord)rec; + for (RecordBase rec : _sheet.getRecords()) { + if (rec instanceof HyperlinkRecord) { + HyperlinkRecord link = (HyperlinkRecord) rec; hyperlinkList.add(new HSSFHyperlink(link)); } } @@ -2586,16 +2575,14 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet { if (areaPtg.getFirstColumn() == 0 && areaPtg.getLastColumn() == maxColIndex) { if (rows) { - CellRangeAddress rowRange = new CellRangeAddress( + return new CellRangeAddress( areaPtg.getFirstRow(), areaPtg.getLastRow(), -1, -1); - return rowRange; } } else if (areaPtg.getFirstRow() == 0 && areaPtg.getLastRow() == maxRowIndex) { if (!rows) { - CellRangeAddress columnRange = new CellRangeAddress(-1, -1, + return new CellRangeAddress(-1, -1, areaPtg.getFirstColumn(), areaPtg.getLastColumn()); - return columnRange; } } diff --git a/src/java/org/apache/poi/ss/usermodel/ExtendedColor.java b/src/java/org/apache/poi/ss/usermodel/ExtendedColor.java index 7f65a40ef..414fbc40a 100644 --- a/src/java/org/apache/poi/ss/usermodel/ExtendedColor.java +++ b/src/java/org/apache/poi/ss/usermodel/ExtendedColor.java @@ -19,7 +19,6 @@ package org.apache.poi.ss.usermodel; import java.util.Locale; import org.apache.poi.hssf.util.HSSFColor; -import org.apache.poi.ss.usermodel.Color; /** * Represents a XSSF-style color (based on either a @@ -80,26 +79,23 @@ public abstract class ExtendedColor implements Color { * Sets the Red Green Blue or Alpha Red Green Blue */ public abstract void setRGB(byte[] rgb); - - protected byte[] getRGBOrARGB() { - byte[] rgb = null; + protected byte[] getRGBOrARGB() { if (isIndexed() && getIndex() > 0) { int indexNum = getIndex(); HSSFColor indexed = HSSFColor.getIndexHash().get(indexNum); if (indexed != null) { - rgb = new byte[3]; - rgb[0] = (byte) indexed.getTriplet()[0]; - rgb[1] = (byte) indexed.getTriplet()[1]; - rgb[2] = (byte) indexed.getTriplet()[2]; - return rgb; + byte[] rgb = new byte[3]; + rgb[0] = (byte) indexed.getTriplet()[0]; + rgb[1] = (byte) indexed.getTriplet()[1]; + rgb[2] = (byte) indexed.getTriplet()[2]; + return rgb; } - } + } - // Grab the colour - rgb = getStoredRBG(); - return rgb; - } + // Grab the colour + return getStoredRBG(); + } /** * Standard Red Green Blue ctColor value (RGB) with applied tint. @@ -125,12 +121,13 @@ public abstract class ExtendedColor implements Color { * Works for both regular and indexed colours. */ public String getARGBHex() { - StringBuffer sb = new StringBuffer(); byte[] rgb = getARGB(); - if(rgb == null) { - return null; - } - for(byte c : rgb) { + if(rgb == null) { + return null; + } + + StringBuilder sb = new StringBuilder(); + for(byte c : rgb) { int i = c & 0xff; String cs = Integer.toHexString(i); if(cs.length() == 1) { diff --git a/src/ooxml/java/org/apache/poi/POIXMLDocument.java b/src/ooxml/java/org/apache/poi/POIXMLDocument.java index 5d5ceafa3..522773eb8 100644 --- a/src/ooxml/java/org/apache/poi/POIXMLDocument.java +++ b/src/ooxml/java/org/apache/poi/POIXMLDocument.java @@ -16,30 +16,15 @@ ==================================================================== */ package org.apache.poi; -import java.io.Closeable; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.PushbackInputStream; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.openxml4j.exceptions.OpenXML4JException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.openxml4j.opc.PackageAccess; -import org.apache.poi.openxml4j.opc.PackagePart; -import org.apache.poi.openxml4j.opc.PackageRelationship; -import org.apache.poi.openxml4j.opc.PackageRelationshipCollection; -import org.apache.poi.poifs.common.POIFSConstants; +import org.apache.poi.openxml4j.opc.*; import org.apache.poi.poifs.filesystem.DocumentFactoryHelper; -import org.apache.poi.util.IOUtils; import org.apache.xmlbeans.impl.common.SystemCache; +import java.io.*; +import java.util.*; + public abstract class POIXMLDocument extends POIXMLDocumentPart implements Closeable { public static final String DOCUMENT_CREATOR = "Apache POI"; diff --git a/src/ooxml/java/org/apache/poi/POIXMLPropertiesTextExtractor.java b/src/ooxml/java/org/apache/poi/POIXMLPropertiesTextExtractor.java index 9fd34914f..681a71208 100644 --- a/src/ooxml/java/org/apache/poi/POIXMLPropertiesTextExtractor.java +++ b/src/ooxml/java/org/apache/poi/POIXMLPropertiesTextExtractor.java @@ -229,7 +229,7 @@ public class POIXMLPropertiesTextExtractor extends POIXMLTextExtractor { } } - else if (property.isSetArray()) { + /*else if (property.isSetArray()) { // TODO Fetch the array values and output } else if (property.isSetVector()) { @@ -245,12 +245,9 @@ public class POIXMLPropertiesTextExtractor extends POIXMLTextExtractor { } else if (property.isSetStorage() || property.isSetOstorage()) { // TODO Decode, if possible - } + }*/ - text.append( - property.getName() + - " = " + val + "\n" - ); + text.append(property.getName()).append(" = ").append(val).append("\n"); } return text.toString(); diff --git a/src/ooxml/java/org/apache/poi/extractor/ExtractorFactory.java b/src/ooxml/java/org/apache/poi/extractor/ExtractorFactory.java index 38cb5a833..a57b57a7c 100644 --- a/src/ooxml/java/org/apache/poi/extractor/ExtractorFactory.java +++ b/src/ooxml/java/org/apache/poi/extractor/ExtractorFactory.java @@ -355,12 +355,12 @@ public class ExtractorFactory { * {@link POITextExtractor} for each embedded file. */ public static POITextExtractor[] getEmbededDocsTextExtractors(POIOLE2TextExtractor ext) throws IOException, OpenXML4JException, XmlException { - // All the embded directories we spotted + // All the embedded directories we spotted ArrayList dirs = new ArrayList(); // For anything else not directly held in as a POIFS directory ArrayList nonPOIFS = new ArrayList(); - // Find all the embeded directories + // Find all the embedded directories DirectoryEntry root = ext.getRoot(); if(root == null) { throw new IllegalStateException("The extractor didn't know which POIFS it came from!"); @@ -390,7 +390,7 @@ public class ExtractorFactory { } catch(FileNotFoundException e) { // ignored here } - } else if(ext instanceof PowerPointExtractor) { + //} else if(ext instanceof PowerPointExtractor) { // Tricky, not stored directly in poifs // TODO } else if(ext instanceof OutlookTextExtactor) { @@ -434,12 +434,12 @@ public class ExtractorFactory { /** * Returns an array of text extractors, one for each of - * the embeded documents in the file (if there are any). - * If there are no embeded documents, you'll get back an + * the embedded documents in the file (if there are any). + * If there are no embedded documents, you'll get back an * empty array. Otherwise, you'll get one open - * {@link POITextExtractor} for each embeded file. + * {@link POITextExtractor} for each embedded file. */ - public static POITextExtractor[] getEmbededDocsTextExtractors(POIXMLTextExtractor ext) { + public static POITextExtractor[] getEmbededDocsTextExtractors(@SuppressWarnings("UnusedParameters") POIXMLTextExtractor ext) { throw new IllegalStateException("Not yet supported"); } } diff --git a/src/ooxml/testcases/org/apache/poi/TestPOIXMLProperties.java b/src/ooxml/testcases/org/apache/poi/TestPOIXMLProperties.java index 17c8d0210..1d9be8d1a 100644 --- a/src/ooxml/testcases/org/apache/poi/TestPOIXMLProperties.java +++ b/src/ooxml/testcases/org/apache/poi/TestPOIXMLProperties.java @@ -77,10 +77,6 @@ public final class TestPOIXMLProperties { ctProps.setApplication(application); ctProps.setAppVersion(appVersion); - ctProps = null; - properties = null; - props = null; - XSSFWorkbook newWorkbook = XSSFTestDataSamples.writeOutAndReadBack(workbook); workbook.close(); diff --git a/src/scratchpad/src/org/apache/poi/hslf/model/textproperties/BitMaskTextProp.java b/src/scratchpad/src/org/apache/poi/hslf/model/textproperties/BitMaskTextProp.java index 067c0af16..d975e7309 100644 --- a/src/scratchpad/src/org/apache/poi/hslf/model/textproperties/BitMaskTextProp.java +++ b/src/scratchpad/src/org/apache/poi/hslf/model/textproperties/BitMaskTextProp.java @@ -134,7 +134,7 @@ public abstract class BitMaskTextProp extends TextProp implements Cloneable { int i=0; for (int mask : subPropMasks) { if (!subPropMatches[i] && (val & mask) != 0) { - sb.append(subPropNames[i]+","); + sb.append(subPropNames[i]).append(","); } i++; } diff --git a/src/scratchpad/src/org/apache/poi/hwmf/draw/HwmfGraphics.java b/src/scratchpad/src/org/apache/poi/hwmf/draw/HwmfGraphics.java index ace62b49b..5c0f35bd0 100644 --- a/src/scratchpad/src/org/apache/poi/hwmf/draw/HwmfGraphics.java +++ b/src/scratchpad/src/org/apache/poi/hwmf/draw/HwmfGraphics.java @@ -110,12 +110,6 @@ public class HwmfGraphics { } protected BasicStroke getStroke() { - Rectangle2D view = prop.getViewport(); - Rectangle2D win = prop.getWindow(); - if (view == null) { - view = win; - } - // TODO: fix line width calculation float width = (float)prop.getPenWidth(); if (width == 0) { @@ -335,10 +329,10 @@ public class HwmfGraphics { int len = text.length(); AttributedString as = new AttributedString(text); if (dx == null || dx.length == 0) { - addAttributes(as, font, 0, len); + addAttributes(as, font); } else { for (int i=0; i