From b9e203cb95e78782262c078891d4f0ac99850e1e Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Wed, 27 Jun 2012 18:08:48 +0200 Subject: Java5 update - convert Vector to ArrayList and Enumeration to Iterator Change-Id: Iccb8250351fc1b0778b6be9870c12b9e057b23d1 --- .../xml/sxc/pexcel/PocketExcelDecoder.java | 56 +++++++------ .../xml/sxc/pexcel/PocketExcelEncoder.java | 11 ++- .../sxc/pexcel/SxcDocumentDeserializerImpl.java | 23 +++--- .../converter/xml/sxc/pexcel/records/Workbook.java | 93 +++++++++++----------- .../xml/sxc/pexcel/records/Worksheet.java | 41 +++++----- .../pexcel/records/formula/FormulaCompiler.java | 39 ++++----- .../sxc/pexcel/records/formula/FormulaHelper.java | 19 ++--- .../sxc/pexcel/records/formula/FormulaParser.java | 10 +-- .../sxc/pexcel/records/formula/TokenDecoder.java | 48 ++++++----- .../sxc/pexcel/records/formula/TokenEncoder.java | 66 +++++++-------- 10 files changed, 213 insertions(+), 193 deletions(-) (limited to 'xmerge/source/pexcel') diff --git a/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelDecoder.java b/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelDecoder.java index 49f75b09ad31..3a76673e9b99 100644 --- a/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelDecoder.java +++ b/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelDecoder.java @@ -19,19 +19,29 @@ package org.openoffice.xmerge.converter.xml.sxc.pexcel; import java.io.IOException; -import java.util.Vector; +import java.util.ArrayList; import java.util.Enumeration; +import java.util.Iterator; import java.util.NoSuchElementException; import org.openoffice.xmerge.ConvertData; import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.util.Debug; import org.openoffice.xmerge.converter.xml.sxc.BookSettings; -import org.openoffice.xmerge.converter.xml.sxc.SpreadsheetDecoder; +import org.openoffice.xmerge.converter.xml.sxc.ColumnRowInfo; import org.openoffice.xmerge.converter.xml.sxc.Format; import org.openoffice.xmerge.converter.xml.sxc.NameDefinition; -import org.openoffice.xmerge.converter.xml.sxc.ColumnRowInfo; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.*; +import org.openoffice.xmerge.converter.xml.sxc.SpreadsheetDecoder; +import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.CellValue; +import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.ColInfo; +import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.DefinedName; +import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.ExtendedFormat; +import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.FloatNumber; +import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.FontDescription; +import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Formula; +import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Row; +import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Workbook; +import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Worksheet; +import org.openoffice.xmerge.util.Debug; /** * This class is used by {@link @@ -48,7 +58,7 @@ final class PocketExcelDecoder extends SpreadsheetDecoder { private int maxRows = 0; private int maxCols = 0; private int wsIndex; - private Enumeration cellValue; + private Iterator cellValue; private Format fmt = null; /** @@ -80,8 +90,8 @@ final class PocketExcelDecoder extends SpreadsheetDecoder { */ public void addDeviceContent(ConvertData cd) throws IOException { - Enumeration e = cd.getDocumentEnumeration(); - wb = (Workbook) e.nextElement(); + Iterator e = cd.getDocumentEnumeration(); + wb = (Workbook) e.next(); } @@ -93,7 +103,7 @@ final class PocketExcelDecoder extends SpreadsheetDecoder { */ public int getNumberOfSheets() { - Vector v = wb.getWorksheetNames(); + ArrayList v = wb.getWorksheetNames(); Debug.log(Debug.TRACE,"Total Number of Sheets : " + v.size()); return (v.size()); } @@ -104,17 +114,17 @@ final class PocketExcelDecoder extends SpreadsheetDecoder { * * @return The number of sheets in the WorkBook. */ - public Enumeration getNameDefinitions() { + public Iterator getNameDefinitions() { - Enumeration e = wb.getDefinedNames(); - Vector nameDefinitionVector = new Vector(); - while(e.hasMoreElements()) { - DefinedName dn = (DefinedName)e.nextElement(); + Iterator e = wb.getDefinedNames(); + ArrayList nameDefinitionVector = new ArrayList(); + while(e.hasNext()) { + DefinedName dn = (DefinedName)e.next(); NameDefinition nameDefinitionEntry = dn.getNameDefinition(); nameDefinitionVector.add(nameDefinitionEntry); } Debug.log(Debug.TRACE,"Getting " + nameDefinitionVector.size() + " DefinedName records"); - return (nameDefinitionVector.elements()); + return (nameDefinitionVector.iterator()); } /** @@ -133,13 +143,13 @@ final class PocketExcelDecoder extends SpreadsheetDecoder { * * @return The number of sheets in the WorkBook. */ - public Enumeration getColumnRowInfos() { + public Iterator getColumnRowInfos() { - Vector colRowVector = new Vector(); + ArrayList colRowVector = new ArrayList(); // Collect Columns from worksheet and add them to the vector - for(Enumeration e = ws.getColInfos();e.hasMoreElements();) { - ColInfo ci = (ColInfo)e.nextElement(); + for(Iterator e = ws.getColInfos();e.hasNext();) { + ColInfo ci = (ColInfo)e.next(); int repeated = ci.getLast() - ci.getFirst() + 1; ColumnRowInfo colInfo = new ColumnRowInfo( ci.getColWidth(), repeated, @@ -148,8 +158,8 @@ final class PocketExcelDecoder extends SpreadsheetDecoder { } // Collect Rows from worksheet and add them to the vector - for(Enumeration e = ws.getRows();e.hasMoreElements();) { - Row rw = (Row)e.nextElement(); + for(Iterator e = ws.getRows();e.hasNext();) { + Row rw = (Row)e.next(); // We will use the repeat field for number (unlike columns rows // cannot be repeated, we have unique record for each row in pxl int repeated = rw.getRowNumber(); @@ -159,7 +169,7 @@ final class PocketExcelDecoder extends SpreadsheetDecoder { colRowVector.add(rowInfo); } Debug.log(Debug.TRACE,"Getting " + colRowVector.size() + " ColRowInfo records"); - return (colRowVector.elements()); + return (colRowVector.iterator()); } /** @@ -214,7 +224,7 @@ final class PocketExcelDecoder extends SpreadsheetDecoder { boolean success = false; try { - cell = (CellValue) cellValue.nextElement(); + cell = (CellValue) cellValue.next(); Debug.log(Debug.TRACE,"Current Cell : " + cell.getString()); readCellFormat(); success = true; diff --git a/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelEncoder.java b/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelEncoder.java index af59467c18fb..88ddfdb60749 100644 --- a/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelEncoder.java +++ b/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelEncoder.java @@ -19,7 +19,7 @@ package org.openoffice.xmerge.converter.xml.sxc.pexcel; import java.io.IOException; -import java.util.Vector; +import java.util.ArrayList; import org.openoffice.xmerge.util.Debug; @@ -77,7 +77,7 @@ final class PocketExcelEncoder extends SpreadsheetEncoder { */ public int getNumberOfSheets() { - Vector v = wb.getWorksheetNames(); + ArrayList v = wb.getWorksheetNames(); return (v.size()); } @@ -202,7 +202,7 @@ final class PocketExcelEncoder extends SpreadsheetEncoder { * @param columnWidths An IntArrayList of column * widths. */ - public void setColumnRows(Vector columnRows) throws IOException { + public void setColumnRows(ArrayList columnRows) throws IOException { wb.addColInfo(columnRows); } @@ -268,9 +268,8 @@ final class PocketExcelEncoder extends SpreadsheetEncoder { * @param sheet The required sheet. */ public String getSheetName(int sheet) { - - Vector v = wb.getWorksheetNames(); - String wsName = (String) (v.elementAt(sheet)); + ArrayList v = wb.getWorksheetNames(); + String wsName = (String) (v.get(sheet)); return wsName; } diff --git a/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/SxcDocumentDeserializerImpl.java b/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/SxcDocumentDeserializerImpl.java index ca857c330be4..7c59af8005d5 100644 --- a/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/SxcDocumentDeserializerImpl.java +++ b/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/SxcDocumentDeserializerImpl.java @@ -19,15 +19,14 @@ package org.openoffice.xmerge.converter.xml.sxc.pexcel; import java.io.IOException; -import java.util.Enumeration; -import java.util.Vector; +import java.util.ArrayList; +import java.util.Iterator; -import org.openoffice.xmerge.util.Debug; import org.openoffice.xmerge.ConvertData; import org.openoffice.xmerge.converter.xml.sxc.SpreadsheetDecoder; import org.openoffice.xmerge.converter.xml.sxc.SxcDocumentDeserializer; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelDecoder; import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Workbook; +import org.openoffice.xmerge.util.Debug; /** @@ -84,8 +83,8 @@ public final class SxcDocumentDeserializerImpl extends SxcDocumentDeserializer { protected String getWorkbookName(ConvertData cd) throws IOException { - Enumeration e = cd.getDocumentEnumeration(); - Workbook wb = (Workbook) e.nextElement(); + Iterator e = cd.getDocumentEnumeration(); + Workbook wb = (Workbook) e.next(); String workbookName = wb.getName(); return workbookName; @@ -103,14 +102,14 @@ public final class SxcDocumentDeserializerImpl extends SxcDocumentDeserializer { protected String[] getWorksheetNames(ConvertData cd) throws IOException { - Enumeration e = cd.getDocumentEnumeration(); - Workbook wb = (Workbook) e.nextElement(); - Vector v = wb.getWorksheetNames(); - e = v.elements(); + Iterator e = cd.getDocumentEnumeration(); + Workbook wb = (Workbook) e.next(); + ArrayList v = wb.getWorksheetNames(); + e = v.iterator(); String worksheetNames[] = new String[v.size()]; int i = 0; - while(e.hasMoreElements()) { - worksheetNames[i] = (String) e.nextElement(); + while(e.hasNext()) { + worksheetNames[i] = (String) e.next(); Debug.log(Debug.TRACE,"Worksheet Name : " + worksheetNames[i]); i++; } diff --git a/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Workbook.java b/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Workbook.java index 2d1a5d750e0c..d3ebde40a97e 100644 --- a/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Workbook.java +++ b/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Workbook.java @@ -18,20 +18,21 @@ package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; -import java.io.OutputStream; -import java.io.InputStream; import java.io.IOException; -import java.util.Vector; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.ArrayList; import java.util.Enumeration; +import java.util.Iterator; import org.openoffice.xmerge.converter.xml.OfficeConstants; +import org.openoffice.xmerge.converter.xml.sxc.BookSettings; +import org.openoffice.xmerge.converter.xml.sxc.ColumnRowInfo; import org.openoffice.xmerge.converter.xml.sxc.Format; import org.openoffice.xmerge.converter.xml.sxc.NameDefinition; -import org.openoffice.xmerge.converter.xml.sxc.BookSettings; import org.openoffice.xmerge.converter.xml.sxc.SheetSettings; -import org.openoffice.xmerge.util.Debug; import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; -import org.openoffice.xmerge.converter.xml.sxc.ColumnRowInfo; +import org.openoffice.xmerge.util.Debug; /** * This class is used by PxlDocument to maintain pexcel @@ -42,11 +43,11 @@ import org.openoffice.xmerge.converter.xml.sxc.ColumnRowInfo; public class Workbook implements org.openoffice.xmerge.Document, OfficeConstants { - private Vector fonts = new Vector(); - private Vector extendedFormats = new Vector(); - private Vector worksheets = new Vector(); - private Vector boundsheets = new Vector(); - private Vector definedNames = new Vector(); + private ArrayList fonts = new ArrayList(); + private ArrayList extendedFormats = new ArrayList(); + private ArrayList worksheets = new ArrayList(); + private ArrayList boundsheets = new ArrayList(); + private ArrayList definedNames = new ArrayList(); private static final CodePage cp; private static final Window1 win1; private static final BeginningOfFile bof;; @@ -98,27 +99,27 @@ OfficeConstants { public void write(OutputStream os) throws IOException { bof.write(os); cp.write(os); - for(Enumeration e = definedNames.elements();e.hasMoreElements();) { - DefinedName dn = (DefinedName) e.nextElement(); + for(Iterator e = definedNames.iterator();e.hasNext();) { + DefinedName dn = (DefinedName) e.next(); dn.write(os); } win1.write(os); - for(Enumeration e = fonts.elements();e.hasMoreElements();) { - FontDescription fd = (FontDescription) e.nextElement(); + for(Iterator e = fonts.iterator();e.hasNext();) { + FontDescription fd = (FontDescription) e.next(); fd.write(os); } - for(Enumeration e = extendedFormats.elements();e.hasMoreElements();) { - ExtendedFormat xf = (ExtendedFormat) e.nextElement(); + for(Iterator e = extendedFormats.iterator();e.hasNext();) { + ExtendedFormat xf = (ExtendedFormat) e.next(); xf.write(os); } - for(Enumeration e = boundsheets.elements();e.hasMoreElements();) { - BoundSheet bs = (BoundSheet) e.nextElement(); + for(Iterator e = boundsheets.iterator();e.hasNext();) { + BoundSheet bs = (BoundSheet) e.next(); bs.write(os); } eof.write(os); - for(Enumeration e = worksheets.elements();e.hasMoreElements();) { - Worksheet ws = (Worksheet) e.nextElement(); + for(Iterator e = worksheets.iterator();e.hasNext();) { + Worksheet ws = (Worksheet) e.next(); ws.write(os); } } @@ -213,8 +214,8 @@ OfficeConstants { boolean alreadyExists = false; int i = 0; - for(Enumeration e = fonts.elements();e.hasMoreElements();) { - FontDescription fd = (FontDescription) e.nextElement(); + for(Iterator e = fonts.iterator();e.hasNext();) { + FontDescription fd = (FontDescription) e.next(); if(fd.compareTo(f)) { alreadyExists = true; break; @@ -243,8 +244,8 @@ OfficeConstants { boolean alreadyExists = false; int i = 0; - for(Enumeration e = extendedFormats.elements();e.hasMoreElements();) { - ExtendedFormat currentXF = (ExtendedFormat) e.nextElement(); + for(Iterator e = extendedFormats.iterator();e.hasNext();) { + ExtendedFormat currentXF = (ExtendedFormat) e.next(); if(xf.compareTo(currentXF)) { alreadyExists = true; break; @@ -266,7 +267,7 @@ OfficeConstants { */ public Worksheet getWorksheet(int index) { - return ((Worksheet) worksheets.elementAt(index)); + return ((Worksheet) worksheets.get(index)); } /** @@ -278,7 +279,7 @@ OfficeConstants { */ public FontDescription getFontDescription(int ixfnt) { - return (FontDescription) fonts.elementAt(ixfnt); + return (FontDescription) fonts.get(ixfnt); } /** @@ -290,7 +291,7 @@ OfficeConstants { */ public ExtendedFormat getExtendedFormat(int ixfe) { - return (ExtendedFormat) extendedFormats.elementAt(ixfe); + return (ExtendedFormat) extendedFormats.get(ixfe); } /** @@ -298,9 +299,9 @@ OfficeConstants { * * @return Enumeration for the DefinedNames */ - public Enumeration getDefinedNames() { + public Iterator getDefinedNames() { - return definedNames.elements(); + return definedNames.iterator(); } /** @@ -310,10 +311,10 @@ OfficeConstants { */ public BookSettings getSettings() { - Vector settingsVector = new Vector(); + ArrayList settingsVector = new ArrayList(); int index = 0; - for(Enumeration e = worksheets.elements();e.hasMoreElements();) { - Worksheet ws = (Worksheet) e.nextElement(); + for(Iterator e = worksheets.iterator();e.hasNext();) { + Worksheet ws = (Worksheet) e.next(); SheetSettings s = ws.getSettings(); s.setSheetName(getSheetName(index++)); settingsVector.add(s); @@ -329,9 +330,9 @@ OfficeConstants { * * @return a Vector containing all the worksheet Names */ - public Vector getWorksheetNames() { + public ArrayList getWorksheetNames() { - Vector wsNames = new Vector(); + ArrayList wsNames = new ArrayList(); for(int i = 0;i < boundsheets.size();i++) { wsNames.add(getSheetName(i)); @@ -346,7 +347,7 @@ OfficeConstants { * @return a String containing the name of the worksheet */ public String getSheetName(int index) { - BoundSheet bs = (BoundSheet) boundsheets.elementAt(index); + BoundSheet bs = (BoundSheet) boundsheets.get(index); return bs.getSheetName(); } @@ -376,7 +377,7 @@ OfficeConstants { public void addCell(int row,int col, Format fmt, String cellContents) throws IOException { - Worksheet currentWS = (Worksheet) worksheets.elementAt(worksheets.size()-1); + Worksheet currentWS = (Worksheet) worksheets.get(worksheets.size()-1); int ixfe = addExtendedFormat(fmt); String category = fmt.getCategory(); @@ -428,16 +429,16 @@ OfficeConstants { * * @param columnRows Vector of ColumnRowInfo */ - public void addColInfo(Vector columnRows) throws IOException { + public void addColInfo(ArrayList columnRows) throws IOException { - Worksheet currentWS = (Worksheet) worksheets.elementAt(worksheets.size()-1); + Worksheet currentWS = (Worksheet) worksheets.get(worksheets.size()-1); int nCols = 0; int nRows = 0; Debug.log(Debug.TRACE,"Workbook: addColInfo()"); - for(Enumeration e = columnRows.elements();e.hasMoreElements();) { - ColumnRowInfo cri =(ColumnRowInfo) e.nextElement(); + for(Iterator e = columnRows.iterator();e.hasNext();) { + ColumnRowInfo cri =(ColumnRowInfo) e.next(); int ixfe = 0; int size = cri.getSize(); int repeated = cri.getRepeated(); @@ -484,17 +485,17 @@ OfficeConstants { public void addSettings(BookSettings book) throws IOException { int index = 0; - Vector sheetSettings = book.getSheetSettings(); + ArrayList sheetSettings = book.getSheetSettings(); String activeSheetName = book.getActiveSheet(); - for(Enumeration e = worksheets.elements();e.hasMoreElements();) { - Worksheet ws = (Worksheet) e.nextElement(); + for(Iterator e = worksheets.iterator();e.hasNext();) { + Worksheet ws = (Worksheet) e.next(); String name = getSheetName(index++); if(activeSheetName.equals(name)) { win1.setActiveSheet(index-1); } - for(Enumeration eSettings = sheetSettings.elements();eSettings.hasMoreElements();) { - SheetSettings s = (SheetSettings) eSettings.nextElement(); + for(Iterator eSettings = sheetSettings.iterator();eSettings.hasNext();) { + SheetSettings s = (SheetSettings) eSettings.next(); if(name.equals(s.getSheetName())) { ws.addSettings(s); } diff --git a/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Worksheet.java b/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Worksheet.java index fe6656e324dd..ee050f6a7b94 100644 --- a/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Worksheet.java +++ b/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Worksheet.java @@ -18,16 +18,17 @@ package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; -import java.io.OutputStream; -import java.io.InputStream; +import java.awt.Point; import java.io.IOException; -import java.util.Vector; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.ArrayList; import java.util.Enumeration; -import java.awt.Point; +import java.util.Iterator; -import org.openoffice.xmerge.util.Debug; import org.openoffice.xmerge.converter.xml.sxc.SheetSettings; import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; +import org.openoffice.xmerge.util.Debug; /** * This class is used by PxlDocument to maintain pexcel @@ -39,9 +40,9 @@ public class Worksheet { private String name; private Workbook wb; - private Vector rows = new Vector(); - private Vector colInfo = new Vector(); - private Vector cells = new Vector(); + private ArrayList rows = new ArrayList(); + private ArrayList colInfo = new ArrayList(); + private ArrayList cells = new ArrayList(); private DefColWidth dcw = new DefColWidth(); private DefRowHeight drh = new DefRowHeight(); private Window2 win2 = new Window2(); @@ -75,17 +76,17 @@ public class Worksheet { bof = new BeginningOfFile(false); bof.write(os); dcw.write(os); - for(Enumeration e = colInfo.elements();e.hasMoreElements();) { - ColInfo ci = (ColInfo) e.nextElement(); + for(Iterator e = colInfo.iterator();e.hasNext();) { + ColInfo ci = (ColInfo) e.next(); ci.write(os); } drh.write(os); - for(Enumeration e = rows.elements();e.hasMoreElements();) { - Row rw = (Row) e.nextElement(); + for(Iterator e = rows.iterator();e.hasNext();) { + Row rw = (Row) e.next(); rw.write(os); } - for(Enumeration e = cells.elements();e.hasMoreElements();) { - BIFFRecord cv = (BIFFRecord) e.nextElement(); + for(Iterator e = cells.iterator();e.hasNext();) { + BIFFRecord cv = (BIFFRecord) e.next(); cv.write(os); } win2.write(os); @@ -214,8 +215,8 @@ public class Worksheet { * * @return an enumerator to the worksheet cells */ - public Enumeration getCellEnumerator() throws IOException { - return (cells.elements()); + public Iterator getCellEnumerator() throws IOException { + return (cells.iterator()); } /** @@ -270,9 +271,9 @@ public class Worksheet { * * @return an Enumeration to the ColInfo's */ - public Enumeration getColInfos() { + public Iterator getColInfos() { - return (colInfo.elements()); + return (colInfo.iterator()); } /** @@ -300,9 +301,9 @@ public class Worksheet { * * @return an Enumeration to the Rows */ - public Enumeration getRows() { + public Iterator getRows() { - return (rows.elements()); + return (rows.iterator()); } } diff --git a/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaCompiler.java b/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaCompiler.java index 1e42f519c697..a08bebd57270 100644 --- a/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaCompiler.java +++ b/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaCompiler.java @@ -18,7 +18,10 @@ package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; -import java.util.*; +import java.util.ArrayList; +import java.util.ListIterator; +import java.util.Stack; + import org.openoffice.xmerge.util.Debug; /** @@ -88,8 +91,8 @@ public class FormulaCompiler { * @param tokens The tokens in RPN form * @return The vector of tokens re-ordered in Infix notation */ - public Vector RPN2Infix(Vector tokens) { - Vector infixExpr = new Vector(15); + public ArrayList RPN2Infix(ArrayList tokens) { + ArrayList infixExpr = new ArrayList(15); ListIterator iter = tokens.listIterator(); Stack evalStack = new Stack(); Stack args = new Stack(); @@ -97,7 +100,7 @@ public class FormulaCompiler { while (iter.hasNext()) { Token pt = (Token)iter.next(); if (pt.isOperand()) { - Vector expr = new Vector(5); + ArrayList expr = new ArrayList(5); expr.add(pt); evalStack.push(expr); } else if (pt.isOperator() || pt.isFunction()) { @@ -108,7 +111,7 @@ public class FormulaCompiler { evalStack.push(makeExpression(pt, args)); } } - return (Vector)evalStack.elementAt(0); + return (ArrayList)evalStack.elementAt(0); } /** @@ -120,8 +123,8 @@ public class FormulaCompiler { * * @return A vector of tokens for the expression in Reverse Polish Notation order */ - public Vector infix2RPN(Vector tokens) { - Vector rpnExpr = new Vector(15); + public ArrayList infix2RPN(ArrayList tokens) { + ArrayList rpnExpr = new ArrayList(15); Stack evalStack = new Stack(); ListIterator iter = tokens.listIterator(); while (iter.hasNext()) { @@ -134,7 +137,7 @@ public class FormulaCompiler { if (pt.isFunction()) { iter.next(); } - Vector param = extractParameter(iter); + ArrayList param = extractParameter(iter); Debug.log(Debug.TRACE, "Extracted parameter " + param); rpnExpr.addAll(infix2RPN(param)); } else if (isCloseBrace(pt)) { //Pop off stack till you meet a function or an open bracket @@ -186,8 +189,8 @@ public class FormulaCompiler { * @param iter an iterator into the list * @return A complete sub-expression */ - protected Vector extractParameter(ListIterator iter) { - Vector param = new Vector(5); + protected ArrayList extractParameter(ListIterator iter) { + ArrayList param = new ArrayList(5); int subExprCount = 0; while (iter.hasNext()) { @@ -220,21 +223,21 @@ public class FormulaCompiler { * @param args The arguments for this operator * @return A correctly ordered expression */ - protected Vector makeExpression(Token pt, Stack args) { - Vector tmp = new Vector(5); + protected ArrayList makeExpression(Token pt, Stack args) { + ArrayList tmp = new ArrayList(5); TokenFactory tf = new TokenFactory(); if (pt.isOperator()) { if (pt.getNumArgs()==2) { //Binary operator - tmp.addAll((Vector)args.pop()); + tmp.addAll((ArrayList)args.pop()); tmp.add(pt); - tmp.addAll((Vector)args.pop()); + tmp.addAll((ArrayList)args.pop()); } else if (pt.getNumArgs() == 1) { if(isPercent(pt)) { - tmp.addAll((Vector)args.elementAt(0)); + tmp.addAll((ArrayList)args.elementAt(0)); tmp.add(pt); } else { tmp.add(pt); - tmp.addAll((Vector)args.elementAt(0)); + tmp.addAll((ArrayList)args.elementAt(0)); } if (isOpenBrace(pt)) { tmp.add(tf.getOperatorToken(")",1)); @@ -244,12 +247,12 @@ public class FormulaCompiler { tmp.add(pt); tmp.add(tf.getOperatorToken("(",1)); if (!args.isEmpty()) { - Vector v = (Vector)args.pop(); + ArrayList v = (ArrayList)args.pop(); tmp.addAll(v); } while (!args.isEmpty()) { tmp.add(tf.getOperatorToken(",",1)); - Vector v = (Vector)args.pop(); + ArrayList v = (ArrayList)args.pop(); tmp.addAll(v); } diff --git a/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaHelper.java b/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaHelper.java index 58b0bdecd3ed..defda65e9881 100644 --- a/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaHelper.java +++ b/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaHelper.java @@ -20,8 +20,9 @@ package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; import java.io.ByteArrayOutputStream; import java.io.IOException; -import java.util.Vector; +import java.util.ArrayList; import java.util.Enumeration; +import java.util.Iterator; import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Workbook; @@ -69,14 +70,14 @@ public class FormulaHelper { */ public byte[] convertCalcToPXL(String formula) throws UnsupportedFunctionException, FormulaParsingException { - Vector parseTokens = parser.parse(formula); - Vector rpnTokens = compiler.infix2RPN(parseTokens); + ArrayList parseTokens = parser.parse(formula); + ArrayList rpnTokens = compiler.infix2RPN(parseTokens); ByteArrayOutputStream bytes = null; try { bytes = new ByteArrayOutputStream(); - for (Enumeration e = rpnTokens.elements(); e.hasMoreElements();) { - Token t = (Token)e.nextElement(); + for (Iterator e = rpnTokens.iterator(); e.hasNext();) { + Token t = (Token)e.next(); bytes.write(encoder.getByte(t)); } } catch (IOException e) { @@ -92,12 +93,12 @@ public class FormulaHelper { */ public String convertPXLToCalc(byte[] formula) { - Vector parseTokens = decoder.getTokenVector(formula); - Vector infixTokens = compiler.RPN2Infix(parseTokens); + ArrayList parseTokens = decoder.getTokenVector(formula); + ArrayList infixTokens = compiler.RPN2Infix(parseTokens); StringBuffer buff = new StringBuffer(); - for (Enumeration e = infixTokens.elements();e.hasMoreElements();) { - Token t = (Token)e.nextElement(); + for (Iterator e = infixTokens.iterator();e.hasNext();) { + Token t = (Token)e.next(); buff.append(t.toString()); // If we are parsing a Name definition we need to know if it is of // type range or expression diff --git a/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaParser.java b/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaParser.java index 5e403df81627..76e01c407dda 100644 --- a/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaParser.java +++ b/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaParser.java @@ -19,7 +19,7 @@ package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; -import java.util.Vector; +import java.util.ArrayList; import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Workbook; import org.openoffice.xmerge.util.Debug; @@ -41,7 +41,7 @@ public class FormulaParser { private String formulaStr; private int index = 1; private TokenFactory tokenFactory; - private Vector tokenVector; + private ArrayList tokenVector; private Workbook wb; /** @@ -51,7 +51,7 @@ public class FormulaParser { Debug.log(Debug.TRACE,"Creating a Formula Parser"); tokenFactory = new TokenFactory(); - tokenVector = new Vector(); + tokenVector = new ArrayList(); } /** @@ -69,7 +69,7 @@ public class FormulaParser { * starting with the '=' character * @return A Vector containing the parsed Tokens */ - public Vector parse(String formula) throws FormulaParsingException { + public ArrayList parse(String formula) throws FormulaParsingException { index = 1; look = ' '; @@ -368,7 +368,7 @@ public class FormulaParser { int numArgs = arguments(); match(')'); tokenVector.add(tokenFactory.getOperatorToken(")", 1)); - tokenVector.insertElementAt(tokenFactory.getFunctionToken(cell, numArgs), index); + tokenVector.add(index, tokenFactory.getFunctionToken(cell, numArgs)); } else { if(cell.indexOf('.')!=-1) { diff --git a/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenDecoder.java b/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenDecoder.java index 7e5db6c93bdc..019197748809 100644 --- a/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenDecoder.java +++ b/xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenDecoder.java @@ -18,14 +18,15 @@ package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; -import java.io.*; -import java.util.Vector; -import java.util.Enumeration; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Iterator; -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.DefinedName; import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Workbook; +import org.openoffice.xmerge.util.Debug; +import org.openoffice.xmerge.util.EndianConverter; /** * The TokenDecoder decodes a byte[] to an equivalent String. The only @@ -79,9 +80,9 @@ public class TokenDecoder { * @param formula A Pocket Excel Formula byte[] * @return A Vector of deoded Token */ - public Vector getTokenVector(byte[] formula) { + public ArrayList getTokenVector(byte[] formula) { - Vector v = new Vector(); + ArrayList v = new ArrayList(); ByteArrayInputStream bis = new ByteArrayInputStream(formula); int b = 0 ; @@ -96,46 +97,46 @@ public class TokenDecoder { case TokenConstants.TAREA3D: Debug.log(Debug.TRACE, "Decoded 3D Area Cell Reference: "); v.add(read3DCellAreaRefToken(bis)); - Debug.log(Debug.TRACE, "Decoded 3D Area Cell Reference: " + v.lastElement()); + Debug.log(Debug.TRACE, "Decoded 3D Area Cell Reference: " + last(v)); break; case TokenConstants.TREF3D: Debug.log(Debug.TRACE, "Decoded 3D Cell Reference: "); v.add(read3DCellRefToken(bis)); - Debug.log(Debug.TRACE, "Decoded 3D Cell Reference: " + v.lastElement()); + Debug.log(Debug.TRACE, "Decoded 3D Cell Reference: " + last(v)); break; case TokenConstants.TREF : v.add(readCellRefToken(bis)); - Debug.log(Debug.TRACE, "Decoded Cell Reference: " + v.lastElement()); + Debug.log(Debug.TRACE, "Decoded Cell Reference: " + last(v)); break; case TokenConstants.TAREA : v.add(readCellAreaRefToken(bis)); - Debug.log(Debug.TRACE, "Decoded Cell Area Reference: " + v.lastElement()); + Debug.log(Debug.TRACE, "Decoded Cell Area Reference: " + last(v)); break; case TokenConstants.TNUM : v.add(readNumToken(bis)); - Debug.log(Debug.TRACE, "Decoded number : " + v.lastElement()); + Debug.log(Debug.TRACE, "Decoded number : " + last(v)); break; case TokenConstants.TFUNCVAR : v.add(readFunctionVarToken(bis)); - Debug.log(Debug.TRACE, "Decoded variable argument function: " + v.lastElement()); + Debug.log(Debug.TRACE, "Decoded variable argument function: " + last(v)); break; case TokenConstants.TFUNC : v.add(readFunctionToken(bis)); - Debug.log(Debug.TRACE, "Decoded function: " + v.lastElement()); + Debug.log(Debug.TRACE, "Decoded function: " + last(v)); break; case TokenConstants.TSTRING : v.add(readStringToken(bis)); - Debug.log(Debug.TRACE, "Decoded string: " + v.lastElement()); + Debug.log(Debug.TRACE, "Decoded string: " + last(v)); break; case TokenConstants.TNAME : v.add(readNameToken(bis)); - Debug.log(Debug.TRACE, "Decoded defined name: " + v.lastElement()); + Debug.log(Debug.TRACE, "Decoded defined name: " + last(v)); break; case TokenConstants.TUPLUS: case TokenConstants.TUMINUS: case TokenConstants.TPERCENT: v.add(readOperatorToken(b, 1)); - Debug.log(Debug.TRACE, "Decoded Unary operator : " + v.lastElement()); + Debug.log(Debug.TRACE, "Decoded Unary operator : " + last(v)); break; case TokenConstants.TADD : case TokenConstants.TSUB : @@ -148,7 +149,7 @@ public class TokenDecoder { case TokenConstants.TGREATER : case TokenConstants.TNEQUALS : v.add(readOperatorToken(b, 2)); - Debug.log(Debug.TRACE, "Decoded Binary operator : " + v.lastElement()); + Debug.log(Debug.TRACE, "Decoded Binary operator : " + last(v)); break; default : @@ -158,6 +159,11 @@ public class TokenDecoder { return v; } + private static Object last(ArrayList list) + { + return list.get(list.size() - 1); + } + /** * Converts a zero based integer to a char (eg. a=0, b=1). * It assumes the integer is less than 26. @@ -213,14 +219,14 @@ public class TokenDecoder { buffer[1] = (byte) bis.read(); int nameIndex = EndianConverter.readShort(buffer); bis.skip(12); // the next 12 bytes are unused - Enumeration e = wb.getDefinedNames(); + Iterator e = wb.getDefinedNames(); int i = 1; while(iToken to be encoded * @return A Vector of pexcel Byte */ - private Vector operatorEncoder(Token t) { + private ArrayList operatorEncoder(Token t) { - Vector tmpByteArray = new Vector(); + ArrayList tmpByteArray = new ArrayList(); tmpByteArray.add(new Byte((byte)t.getTokenID())); return tmpByteArray; } @@ -144,9 +144,9 @@ public class TokenEncoder { * @param t Token to be encoded * @return A Vector of pexcel Byte */ - private Vector stringEncoder(Token t) throws IOException{ + private ArrayList stringEncoder(Token t) throws IOException{ - Vector tmpByteArray = new Vector(); + ArrayList tmpByteArray = new ArrayList(); tmpByteArray.add(new Byte((byte)t.getTokenID())); tmpByteArray.add(new Byte((byte)(t.getValue().length()))); tmpByteArray.add(new Byte((byte)0x01)); @@ -164,9 +164,9 @@ public class TokenEncoder { * @param t Token to be encoded * @return A Vector of pexcel Byte */ - private Vector numEncoder(Token t) { + private ArrayList numEncoder(Token t) { - Vector tmpByteArray = new Vector(); + ArrayList tmpByteArray = new ArrayList(); double cellLong = (double) Double.parseDouble(t.getValue()); tmpByteArray.add(new Byte((byte)t.getTokenID())); @@ -313,23 +313,23 @@ public class TokenEncoder { * @param t Token to be encoded * @return A Vector of pexcel Byte */ - private Vector nameDefinitionEncoder(Token t) { + private ArrayList nameDefinitionEncoder(Token t) { - Vector tmpByteArray = new Vector(); + ArrayList tmpByteArray = new ArrayList(); String nameString = t.getValue(); Debug.log(Debug.TRACE,"NameDefinitionEncoder : " + nameString); tmpByteArray.add(new Byte((byte)t.getTokenID())); - Enumeration e = wb.getDefinedNames(); + Iterator e = wb.getDefinedNames(); DefinedName dn; String name; int definedNameIndex = 0; do { - dn = (DefinedName)e.nextElement(); + dn = (DefinedName)e.next(); name = dn.getName(); Debug.log(Debug.TRACE,"Name pulled from DefinedName : " + name); definedNameIndex++; - } while(!nameString.equalsIgnoreCase(name) && e.hasMoreElements()); + } while(!nameString.equalsIgnoreCase(name) && e.hasNext()); tmpByteArray.add(new Byte((byte)definedNameIndex)); tmpByteArray.add(new Byte((byte)0x00)); @@ -347,9 +347,9 @@ public class TokenEncoder { * @param t Token to be encoded * @return A Vector of pexcel Byte */ - private Vector cellRefEncoder(Token t) { + private ArrayList cellRefEncoder(Token t) { - Vector tmpByteArray = new Vector(); + ArrayList tmpByteArray = new ArrayList(); tmpByteArray.add(new Byte((byte)t.getTokenID())); byte cellRefBytes[] = encodeCellCoordinates(t.getValue()); @@ -376,12 +376,12 @@ public class TokenEncoder { sheetName = s.substring(0,s.length()); } Debug.log(Debug.TRACE,"Searching for Worksheet : " + sheetName); - Vector names = wb.getWorksheetNames(); - Enumeration e = names.elements(); + ArrayList names = wb.getWorksheetNames(); + Iterator e = names.iterator(); do { - savedName = (String) e.nextElement(); + savedName = (String) e.next(); sheetIndex++; - } while(!savedName.equalsIgnoreCase(sheetName) && e.hasMoreElements()); + } while(!savedName.equalsIgnoreCase(sheetName) && e.hasNext()); Debug.log(Debug.TRACE,"Setting sheetindex to " + sheetIndex); return (short)(sheetIndex-1); @@ -393,9 +393,9 @@ public class TokenEncoder { * @param t Token to be encoded * @return A Vector of pexcel Byte */ - private Vector threeDCellRefEncoder(Token t) { + private ArrayList threeDCellRefEncoder(Token t) { - Vector tmpByteArray = new Vector(); + ArrayList tmpByteArray = new ArrayList(); parseString = t.getValue(); Debug.log(Debug.TRACE,"Encoding 3D Cell reference " + t); tmpByteArray.add(new Byte((byte)t.getTokenID())); @@ -437,9 +437,9 @@ public class TokenEncoder { * @param t Token to be encoded * @return A Vector of pexcel Byte */ - private Vector threeDAreaRefEncoder(Token t) { + private ArrayList threeDAreaRefEncoder(Token t) { - Vector tmpByteArray = new Vector(); + ArrayList tmpByteArray = new ArrayList(); parseString = t.getValue(); Debug.log(Debug.TRACE,"Encoding 3D Area reference " + t); tmpByteArray.add(new Byte((byte)t.getTokenID())); @@ -494,9 +494,9 @@ public class TokenEncoder { * @param t Token to be encoded * @return A Vector of pexcel Byte */ - private Vector areaRefEncoder(Token t) { + private ArrayList areaRefEncoder(Token t) { - Vector tmpByteArray = new Vector(); + ArrayList tmpByteArray = new ArrayList(); tmpByteArray.add(new Byte((byte)t.getTokenID())); String param = t.getValue(); @@ -530,8 +530,8 @@ public class TokenEncoder { * @param t Token to be encoded * @return A Vector of pexcel Byte */ - private Vector functionEncoder(Token t) { - Vector tmpByteArray = new Vector(); + private ArrayList functionEncoder(Token t) { + ArrayList tmpByteArray = new ArrayList(); int id = t.getTokenID(); if(t.getTokenType()==ParseToken.TOKEN_FUNCTION_VARIABLE) { -- cgit