Various small Eclipse warning fixes,

also ensure close() of stream in Ant-Task, although WorkbookFactory usually takes care of this, however in exception-cases it could be missing

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1513764 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Dominik Stadler 2013-08-14 08:25:51 +00:00
parent 48b5c3623c
commit 607521c2df
8 changed files with 132 additions and 109 deletions

View File

@ -29,7 +29,7 @@ import java.io.IOException;
public class RubyOutputStream extends OutputStream {
//pointer to native ruby VALUE
//pointer to native ruby VALUE
protected long rubyIO;
public RubyOutputStream (long rubyIO)
@ -38,7 +38,8 @@ public class RubyOutputStream extends OutputStream {
// incRef();
}
protected void finalize()
@Override
protected void finalize()
throws Throwable
{
// decRef();
@ -47,13 +48,15 @@ public class RubyOutputStream extends OutputStream {
// protected native void incRef();
// protected native void decRef();
public native void close()
@Override
public native void close()
throws IOException;
/* (non-Javadoc)
* @see java.io.OutputStream#write(int)
*/
@Override
public native void write(int arg0) throws IOException;
}

View File

@ -41,10 +41,10 @@ import java.util.Iterator;
/**
* A general utility class that abstracts the POI details of loading the
* workbook, accessing and updating cells.
*
*
* @author Jon Svede ( jon [at] loquatic [dot] com )
* @author Brian Bush ( brian [dot] bush [at] nrel [dot] gov )
*
*
*/
public class ExcelAntWorkbookUtil extends Typedef {
@ -53,24 +53,24 @@ public class ExcelAntWorkbookUtil extends Typedef {
private Workbook workbook;
private HashMap<String, FreeRefFunction> xlsMacroList;
/**
* Constructs an instance using a String that contains the fully qualified
* path of the Excel file. This constructor initializes a Workbook instance
* based on that file name.
*
*
* @param fName
*/
protected ExcelAntWorkbookUtil(String fName) {
excelFileName = fName;
xlsMacroList = new HashMap<String, FreeRefFunction>() ;
loadWorkbook();
}
/**
* Constructs an instance based on a Workbook instance.
*
*
* @param wb
*/
protected ExcelAntWorkbookUtil(Workbook wb) {
@ -87,7 +87,11 @@ public class ExcelAntWorkbookUtil extends Typedef {
File workbookFile = new File(excelFileName);
try {
FileInputStream fis = new FileInputStream(workbookFile);
workbook = WorkbookFactory.create(fis);
try {
workbook = WorkbookFactory.create(fis);
} finally {
fis.close();
}
} catch(Exception e) {
throw new BuildException("Cannot load file " + excelFileName
+ ". Make sure the path and file permissions are correct.", e);
@ -95,9 +99,9 @@ public class ExcelAntWorkbookUtil extends Typedef {
return workbook ;
}
/**
* Used to add a UDF to the evaluator.
* Used to add a UDF to the evaluator.
* @param name
* @param clazzName
* @throws ClassNotFoundException
@ -105,18 +109,18 @@ public class ExcelAntWorkbookUtil extends Typedef {
* @throws IllegalAccessException
*/
public void addFunction( String name, String clazzName ) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
Class clazzInst = Class.forName( clazzName ) ;
Class<?> clazzInst = Class.forName( clazzName ) ;
Object newInst = clazzInst.newInstance() ;
if( newInst instanceof FreeRefFunction ) {
addFunction( name, (FreeRefFunction)newInst ) ;
}
}
/**
* Updates the internal HashMap of functions with instance and alias passed
* in.
*
*
* @param name
* @param func
*/
@ -126,7 +130,7 @@ public class ExcelAntWorkbookUtil extends Typedef {
/**
* returns a UDFFinder that contains all of the functions added.
*
*
* @return
*/
protected UDFFinder getFunctions() {
@ -149,17 +153,17 @@ public class ExcelAntWorkbookUtil extends Typedef {
return udff;
}
/**
* Returns a formula evaluator that is loaded with the functions that
* have been supplied.
*
* @param excelFileName
*
* @param fileName
* @return
*/
protected FormulaEvaluator getEvaluator( String excelFileName ) {
protected FormulaEvaluator getEvaluator( String fileName ) {
FormulaEvaluator evaluator ;
if (excelFileName.endsWith(".xlsx")) {
if (fileName.endsWith(".xlsx")) {
if( xlsMacroList != null && xlsMacroList.size() > 0 ) {
evaluator = XSSFFormulaEvaluator.create( (XSSFWorkbook) workbook,
null,
@ -182,7 +186,7 @@ public class ExcelAntWorkbookUtil extends Typedef {
/**
* Returns the Workbook instance associated with this WorkbookUtil.
*
*
* @return
*/
public Workbook getWorkbook() {
@ -192,34 +196,34 @@ public class ExcelAntWorkbookUtil extends Typedef {
/**
* Returns the fileName that was used to initialize this instance. May
* return null if the instance was constructed from a Workbook object.
*
*
* @return
*/
public String getFileName() {
return excelFileName;
}
/**
* Returns the list of sheet names.
*
*
* @return
*/
public ArrayList<String> getSheets() {
ArrayList<String> sheets = new ArrayList<String>() ;
int sheetCount = workbook.getNumberOfSheets() ;
for( int x=0; x<sheetCount; x++ ) {
sheets.add( workbook.getSheetName( x ) ) ;
}
return sheets ;
}
/**
* This method uses a String in standard Excel format (SheetName!CellId) to
* locate the cell and set it to the value of the double in value.
*
*
* @param cellName
* @param value
*/
@ -235,18 +239,18 @@ public class ExcelAntWorkbookUtil extends Typedef {
/**
* Utility method for setting the value of a Cell with a String.
*
*
* @param cellName
* @param value
*/
public void setStringValue( String cellName, String value ) {
Cell cell = getCell(cellName);
cell.setCellValue(value);
cell.setCellValue(value);
}
/**
* Utility method for setting the value of a Cell with a Formula.
*
*
* @param cellName
* @param formula
*/
@ -254,7 +258,7 @@ public class ExcelAntWorkbookUtil extends Typedef {
Cell cell = getCell(cellName);
cell.setCellFormula( formula );
}
/**
* Utility method for setting the value of a Cell with a Date.
* @param cellName
@ -267,7 +271,7 @@ public class ExcelAntWorkbookUtil extends Typedef {
/**
* Uses a String in standard Excel format (SheetName!CellId) to locate a
* cell and evaluate it.
*
*
* @param cellName
* @param expectedValue
* @param precision
@ -304,10 +308,10 @@ public class ExcelAntWorkbookUtil extends Typedef {
errorMeaning = ErrorConstants.getText( resultOfEval
.getErrorValue() ) ;
} catch( IllegalArgumentException iae ) {
errorMeaning = "unknown error code: " +
Byte.toString( resultOfEval.getErrorValue() ) ;
errorMeaning = "unknown error code: " +
Byte.toString( resultOfEval.getErrorValue() ) ;
}
evalResults = new ExcelAntEvaluationResult(false, false,
resultOfEval.getNumberValue(),
"Evaluation failed due to an evaluation error of "
@ -321,7 +325,7 @@ public class ExcelAntWorkbookUtil extends Typedef {
/**
* Returns a Cell as a String value.
*
*
* @param cellName
* @return
*/
@ -332,11 +336,11 @@ public class ExcelAntWorkbookUtil extends Typedef {
}
return "" ;
}
/**
* Returns the value of the Cell as a double.
*
*
* @param cellName
* @return
*/
@ -351,12 +355,12 @@ public class ExcelAntWorkbookUtil extends Typedef {
* Returns a cell reference based on a String in standard Excel format
* (SheetName!CellId). This method will create a new cell if the
* requested cell isn't initialized yet.
*
*
* @param cellName
* @return
*/
private Cell getCell(String cellName) {
CellReference cellRef = new CellReference(cellName);
String sheetName = cellRef.getSheetName();
Sheet sheet = workbook.getSheet(sheetName);
@ -367,13 +371,13 @@ public class ExcelAntWorkbookUtil extends Typedef {
int rowIdx = cellRef.getRow();
int colIdx = cellRef.getCol();
Row row = sheet.getRow(rowIdx);
if( row == null ) {
row = sheet.createRow( rowIdx ) ;
}
Cell cell = row.getCell(colIdx);
if( cell == null ) {
cell = row.createCell( colIdx ) ;
}

View File

@ -23,41 +23,41 @@ import java.util.HashMap;
/**
* This is a factory class maps file names to WorkbookUtil instances. This
* helps ExcelAnt be more efficient when being run many times in an Ant build.
*
*
* @author Jon Svede ( jon [at] loquatic [dot] com )
* @author Brian Bush ( brian [dot] bush [at] nrel [dot] gov )
*
*/
public class ExcelAntWorkbookUtilFactory {
private static HashMap<String, ExcelAntWorkbookUtil> workbookUtilMap ;
private static ExcelAntWorkbookUtilFactory factory ;
private ExcelAntWorkbookUtilFactory() {
workbookUtilMap = new HashMap<String, ExcelAntWorkbookUtil>() ;
workbookUtilMap = new HashMap<String, ExcelAntWorkbookUtil>() ;
}
/**
* Using the fileName, check the internal map to see if an instance
* 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
*/
public static ExcelAntWorkbookUtil getInstance( String fileName ) {
if( factory == null ) {
factory = new ExcelAntWorkbookUtilFactory() ;
}
if( workbookUtilMap != null &&
if( workbookUtilMap != null &&
workbookUtilMap.containsKey( fileName ) ) {
return workbookUtilMap.get( fileName ) ;
} else {
ExcelAntWorkbookUtil wbu = new ExcelAntWorkbookUtil( fileName ) ;
workbookUtilMap.put( fileName, wbu ) ;
return wbu ;
}
ExcelAntWorkbookUtil wbu = new ExcelAntWorkbookUtil( fileName ) ;
workbookUtilMap.put( fileName, wbu ) ;
return wbu ;
}
}

View File

@ -99,7 +99,8 @@ public final class CommentShape extends TextboxShape {
* @param opt The escher records holding the proerties
* @return number of escher options added
*/
protected int addStandardOptions( HSSFShape shape, EscherOptRecord opt )
@Override
protected int addStandardOptions( HSSFShape shape, EscherOptRecord opt )
{
super.addStandardOptions(shape, opt);

View File

@ -196,7 +196,7 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
private static final String[] WORKBOOK_DIR_ENTRY_NAMES = {
"Workbook", // as per BIFF8 spec
"WORKBOOK", // Typically from third party programs
"BOOK", // Typically odd Crystal Reports exports
"BOOK", // Typically odd Crystal Reports exports
};
@ -245,7 +245,7 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
{
this(directory, preserveNodes);
}
/**
* given a POI POIFSFileSystem object, and a specific directory
* within it, read in its Workbook and populate the high and
@ -347,7 +347,7 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
* the Workbook.
*
* @param records a collection of sheet's records.
* @param offset the offset to search at
* @param offset the offset to search at
* @see org.apache.poi.hssf.record.LabelRecord
* @see org.apache.poi.hssf.record.LabelSSTRecord
* @see org.apache.poi.hssf.record.SSTRecord
@ -455,7 +455,8 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
* deprecated May 2008
* @deprecated use setSelectedTab(int)
*/
public void setSelectedTab(short index) {
@Deprecated
public void setSelectedTab(short index) {
setSelectedTab((int)index);
}
public void setSelectedTabs(int[] indexes) {
@ -506,7 +507,8 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
* deprecated May 2008
* @deprecated - Misleading name - use getActiveSheetIndex()
*/
public short getSelectedTab() {
@Deprecated
public short getSelectedTab() {
return (short) getActiveSheetIndex();
}
@ -523,7 +525,8 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
* deprecated May 2008
* @deprecated - Misleading name - use setFirstVisibleTab()
*/
public void setDisplayedTab(short index) {
@Deprecated
public void setDisplayedTab(short index) {
setFirstVisibleTab(index);
}
@ -537,7 +540,8 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
* deprecated May 2008
* @deprecated - Misleading name - use getFirstVisibleTab()
*/
public short getDisplayedTab() {
@Deprecated
public short getDisplayedTab() {
return (short) getFirstVisibleTab();
}
@ -630,14 +634,16 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
* @deprecated for POI internal use only (formula parsing). This method is likely to
* be removed in future versions of POI.
*/
public int getExternalSheetIndex(int internalSheetIndex) {
@Deprecated
public int getExternalSheetIndex(int internalSheetIndex) {
return workbook.checkExternSheet(internalSheetIndex);
}
/**
* @deprecated for POI internal use only (formula rendering). This method is likely to
* be removed in future versions of POI.
*/
public String findSheetNameFromExternSheet(int externSheetIndex){
@Deprecated
public String findSheetNameFromExternSheet(int externSheetIndex){
// TODO - don't expose internal ugliness like externSheet indexes to the user model API
return workbook.findSheetNameFromExternSheet(externSheetIndex);
}
@ -649,7 +655,8 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
* @param definedNameIndex zero-based to DEFINEDNAME or EXTERNALNAME record
* @return the string representation of the defined or external name
*/
public String resolveNameXText(int refIndex, int definedNameIndex) {
@Deprecated
public String resolveNameXText(int refIndex, int definedNameIndex) {
// TODO - make this less cryptic / move elsewhere
return workbook.resolveNameXText(refIndex, definedNameIndex);
}
@ -830,7 +837,7 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
public HSSFSheet getSheetAt(int index)
{
validateSheetIndex(index);
return (HSSFSheet) _sheets.get(index);
return _sheets.get(index);
}
/**
@ -849,7 +856,7 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
if (sheetname.equalsIgnoreCase(name))
{
retval = (HSSFSheet) _sheets.get(k);
retval = _sheets.get(k);
}
}
return retval;
@ -959,11 +966,12 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
* @param endColumn 0 based end of repeating columns.
* @param startRow 0 based start of repeating rows.
* @param endRow 0 based end of repeating rows.
*
*
* @deprecated use {@link HSSFSheet#setRepeatingRows(CellRangeAddress)}
* or {@link HSSFSheet#setRepeatingColumns(CellRangeAddress)}
*/
public void setRepeatingRowsAndColumns(int sheetIndex,
@Deprecated
public void setRepeatingRowsAndColumns(int sheetIndex,
int startColumn, int endColumn,
int startRow, int endRow) {
HSSFSheet sheet = getSheetAt(sheetIndex);
@ -999,16 +1007,16 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
return -1;
}
HSSFName createBuiltInName(byte builtinCode, int sheetIndex) {
NameRecord nameRecord =
NameRecord nameRecord =
workbook.createBuiltInName(builtinCode, sheetIndex + 1);
HSSFName newName = new HSSFName(this, nameRecord, null);
names.add(newName);
return newName;
}
HSSFName getBuiltInName(byte builtinCode, int sheetIndex) {
int index = findExistingBuiltinNameRecordIdx(sheetIndex, builtinCode);
if (index < 0) {
@ -1018,7 +1026,7 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
}
}
/**
* create a new Font and add it to the workbook's font table
* @return new font object
@ -1168,7 +1176,8 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
* @see org.apache.poi.poifs.filesystem.POIFSFileSystem
*/
public void write(OutputStream stream)
@Override
public void write(OutputStream stream)
throws IOException
{
byte[] bytes = getBytes();
@ -1294,7 +1303,8 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
/** @deprecated Do not call this method from your applications. Use the methods
* available in the HSSFRow to add string HSSFCells
*/
public int addSSTString(String string)
@Deprecated
public int addSSTString(String string)
{
return workbook.addSSTString(new UnicodeString(string));
}
@ -1302,7 +1312,8 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
/** @deprecated Do not call this method from your applications. Use the methods
* available in the HSSFRow to get string HSSFCells
*/
public String getSSTString(int index)
@Deprecated
public String getSSTString(int index)
{
return workbook.getSSTString(index).getString();
}
@ -1321,7 +1332,7 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
if (nameIndex < 0) {
return null;
}
return (HSSFName) names.get(nameIndex);
return names.get(nameIndex);
}
public HSSFName getNameAt(int nameIndex) {
@ -1333,7 +1344,7 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
throw new IllegalArgumentException("Specified name index " + nameIndex
+ " is outside the allowable range (0.." + (nNames-1) + ").");
}
return (HSSFName) names.get(nameIndex);
return names.get(nameIndex);
}
public NameRecord getNameRecord(int nameIndex) {
@ -1452,12 +1463,12 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
/**
* As {@link #getNameIndex(String)} is not necessarily unique
* As {@link #getNameIndex(String)} is not necessarily unique
* (name + sheet index is unique), this method is more accurate.
*
*
* @param name the name whose index in the list of names of this workbook
* should be looked up.
* @return an index value >= 0 if the name was found; -1, if the name was
* @return an index value >= 0 if the name was found; -1, if the name was
* not found
*/
int getNameIndex(HSSFName name) {
@ -1495,9 +1506,9 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
/**
* As {@link #removeName(String)} is not necessarily unique
* As {@link #removeName(String)} is not necessarily unique
* (name + sheet index is unique), this method is more accurate.
*
*
* @param name the name to remove.
*/
void removeName(HSSFName name) {
@ -1580,7 +1591,7 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
public int addPicture(byte[] pictureData, int format)
{
initDrawings();
byte[] uid = DigestUtils.md5(pictureData);
EscherBitmapBlip blipRecord = new EscherBitmapBlip();
blipRecord.setRecordId( (short) ( EscherBitmapBlip.RECORD_ID_START + format ) );
@ -1667,14 +1678,14 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
HSSFPictureData picture = new HSSFPictureData(blip);
pictures.add(picture);
}
}
// Recursive call.
searchForPictures(escherRecord.getChildRecords(), pictures);
}
}
/**
@ -1731,7 +1742,7 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
}
/**
* Recursively iterates a shape container to get all embedded objects.
*
*
* @param parent the parent.
* @param objects the list of embedded objects to populate.
*/
@ -1806,7 +1817,7 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
/**
* Changes an external referenced file to another file.
* A formular in Excel which refers a cell in another file is saved in two parts:
* A formular in Excel which refers a cell in another file is saved in two parts:
* The referenced file is stored in an reference table. the row/cell information is saved separate.
* This method invokation will only change the reference in the lookup-table itself.
* @param oldUrl The old URL to search for and which is to be replaced

View File

@ -31,13 +31,13 @@ import org.apache.poi.ss.formula.ptg.Ptg;
/**
* Converts the text meta-data file into a <tt>FunctionMetadataRegistry</tt>
*
*
* @author Josh Micich
*/
final class FunctionMetadataReader {
private static final String METADATA_FILE_NAME = "functionMetadata.txt";
/** plain ASCII text metadata file uses three dots for ellipsis */
private static final String ELLIPSIS = "...";
@ -50,7 +50,7 @@ final class FunctionMetadataReader {
// except in these cases
"LOG10", "ATAN2", "DAYS360", "SUMXMY2", "SUMX2MY2", "SUMX2PY2",
};
private static final Set DIGIT_ENDING_FUNCTION_NAMES_SET = new HashSet(Arrays.asList(DIGIT_ENDING_FUNCTION_NAMES));
private static final Set<String> DIGIT_ENDING_FUNCTION_NAMES_SET = new HashSet<String>(Arrays.asList(DIGIT_ENDING_FUNCTION_NAMES));
public static FunctionMetadataRegistry createRegistry() {
InputStream is = FunctionMetadataReader.class.getResourceAsStream(METADATA_FILE_NAME);
@ -106,10 +106,10 @@ final class FunctionMetadataReader {
validateFunctionName(functionName);
// TODO - make POI use isVolatile
fdb.add(functionIndex, functionName, minParams, maxParams,
fdb.add(functionIndex, functionName, minParams, maxParams,
returnClassCode, parameterClassCodes, hasNote);
}
private static byte parseReturnTypeCode(String code) {
if(code.length() == 0) {
@ -163,7 +163,7 @@ final class FunctionMetadataReader {
}
/**
* Makes sure that footnote digits from the original OOO document have not been accidentally
* Makes sure that footnote digits from the original OOO document have not been accidentally
* left behind
*/
private static void validateFunctionName(String functionName) {
@ -181,7 +181,7 @@ final class FunctionMetadataReader {
if(DIGIT_ENDING_FUNCTION_NAMES_SET.contains(functionName)) {
return;
}
throw new RuntimeException("Invalid function name '" + functionName
throw new RuntimeException("Invalid function name '" + functionName
+ "' (is footnote number incorrectly appended)");
}

View File

@ -17,6 +17,7 @@
package org.apache.poi.util;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import junit.textui.TestRunner;
@ -92,7 +93,8 @@ public final class OOXMLLite {
String cls = arg.replace(".class", "");
try {
Class test = Class.forName(cls);
@SuppressWarnings("unchecked")
Class<? extends TestCase> test = (Class<? extends TestCase>) Class.forName(cls);
suite.addTestSuite(test);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
@ -115,7 +117,7 @@ public final class OOXMLLite {
/**
* Copy classes and interfaces declared as members of this class
*/
for(Class fc : cls.getDeclaredClasses()){
for(Class<?> fc : cls.getDeclaredClasses()){
className = fc.getName();
classRef = className.replace('.', '/') + ".class";
destFile = new File(_destDest, classRef);
@ -159,7 +161,7 @@ public final class OOXMLLite {
/**
*
* @param ptrn the pattern to filter output
* @param ptrn the pattern to filter output
* @return the classes loaded by the system class loader keyed by class name
*/
@SuppressWarnings("unchecked")

View File

@ -77,8 +77,10 @@ public final class XSSFFormulaUtils {
}
public String getSheetNameByExternSheet(int externSheetIndex) {
if (externSheetIndex == sheetIndex) return name;
else return _fpwb.getSheetNameByExternSheet(externSheetIndex);
if (externSheetIndex == sheetIndex)
return name;
return _fpwb.getSheetNameByExternSheet(externSheetIndex);
}
public String resolveNameXText(NameXPtg nameXPtg) {