You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ni...@apache.org on 2008/05/06 18:48:49 UTC

svn commit: r653835 - in /poi/branches/ooxml: ./ src/contrib/src/org/apache/poi/hssf/usermodel/contrib/ src/java/org/apache/poi/hssf/record/formula/function/ src/java/org/apache/poi/hssf/usermodel/ src/resources/main/org/apache/poi/hssf/record/formula/...

Author: nick
Date: Tue May  6 09:48:48 2008
New Revision: 653835

URL: http://svn.apache.org/viewvc?rev=653835&view=rev
Log:
Merged revisions 638786-638802,638805-638811,638813-638814,638816-639230,639233-639241,639243-639253,639255-639486,639488-639601,639603-639835,639837-639917,639919-640056,640058-640710,640712-641156,641158-641184,641186-641795,641797-641798,641800-641933,641935-641963,641965-641966,641968-641995,641997-642230,642232-642562,642564-642565,642568-642570,642572-642573,642576-642736,642739-642877,642879,642881-642890,642892-642903,642905-642945,642947-643624,643626-643653,643655-643669,643671,643673-643830,643832-643833,643835-644342,644344-644472,644474-644508,644510-645347,645349-645351,645353-645559,645561-645565,645568-645951,645953-646193,646195-646311,646313-646404,646406-646665,646667-646853,646855-646869,646871-647151,647153-647185,647187-647277,647279-647566,647568-647573,647575,647578-647711,647714-647737,647739-647823,647825-648155,648157-648202,648204-648273,648275,648277-648302,648304-648333,648335-648588,648590-648622,648625-648673,648675-649141,649144,649146-649556,
 649558-649795,649799,649801-649910,649912-649913,649915-650128,650131-650132,650134-650137,650140-650914,650916-651991,651993-652284,652286-652287,652289,652291,652293-652297,652299-652328,652330-652425,652427-652445,652447-652560,652562-652933,652935,652937-652993,652995-653116,653118-653124,653126-653483,653487-653519,653522-653550,653552-653607,653609-653667,653669-653674,653676-653831 via svnmerge from 
https://svn.apache.org:443/repos/asf/poi/trunk

........
  r653815 | nick | 2008-05-06 16:37:45 +0100 (Tue, 06 May 2008) | 1 line
  
  Improve JavaDocs about iterators and gaps
........
  r653816 | nick | 2008-05-06 16:38:08 +0100 (Tue, 06 May 2008) | 1 line
  
  Fix int -> short issues that no longer apply
........
  r653831 | nick | 2008-05-06 17:38:34 +0100 (Tue, 06 May 2008) | 1 line
  
  Fix up the functionMetadata.txt stuff to be end-to-end UTF8. Was assuming it before, but breaking on some systems, while now it ought to work fine everywhere
........

Modified:
    poi/branches/ooxml/   (props changed)
    poi/branches/ooxml/src/contrib/src/org/apache/poi/hssf/usermodel/contrib/HSSFCellUtil.java
    poi/branches/ooxml/src/java/org/apache/poi/hssf/record/formula/function/FunctionMetadataReader.java
    poi/branches/ooxml/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java
    poi/branches/ooxml/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java
    poi/branches/ooxml/src/resources/main/org/apache/poi/hssf/record/formula/function/functionMetadata-asGenerated.txt
    poi/branches/ooxml/src/resources/main/org/apache/poi/hssf/record/formula/function/functionMetadata.txt
    poi/branches/ooxml/src/testcases/org/apache/poi/hssf/record/formula/function/ExcelFileFormatDocFunctionExtractor.java

Propchange: poi/branches/ooxml/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Tue May  6 09:48:48 2008
@@ -1 +1 @@
-/poi/trunk:1-638784,638786-639486,639488-639601,639603-640056,640058-642562,642564-642566,642568-642574,642576-642736,642739-650914,650916-653812
+/poi/trunk:1-638784,638786-639486,639488-639601,639603-640056,640058-642562,642564-642566,642568-642574,642576-642736,642739-650914,650916-653831

Modified: poi/branches/ooxml/src/contrib/src/org/apache/poi/hssf/usermodel/contrib/HSSFCellUtil.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/contrib/src/org/apache/poi/hssf/usermodel/contrib/HSSFCellUtil.java?rev=653835&r1=653834&r2=653835&view=diff
==============================================================================
--- poi/branches/ooxml/src/contrib/src/org/apache/poi/hssf/usermodel/contrib/HSSFCellUtil.java (original)
+++ poi/branches/ooxml/src/contrib/src/org/apache/poi/hssf/usermodel/contrib/HSSFCellUtil.java Tue May  6 09:48:48 2008
@@ -55,10 +55,10 @@
      */
     public static HSSFRow getRow( int rowCounter, HSSFSheet sheet )
     {
-        HSSFRow row = sheet.getRow( (short) rowCounter );
+        HSSFRow row = sheet.getRow( rowCounter );
         if ( row == null )
         {
-            row = sheet.createRow( (short) rowCounter );
+            row = sheet.createRow( rowCounter );
         }
 
         return row;
@@ -66,7 +66,8 @@
 
 
     /**
-     *  Get a specific cell from a row. If the cell doesn't exist, then create it.
+     * Get a specific cell from a row. If the cell doesn't exist, 
+     *  then create it.
      *
      *@param  row     The row that the cell is part of
      *@param  column  The column index that the cell is in.
@@ -74,11 +75,11 @@
      */
     public static HSSFCell getCell( HSSFRow row, int column )
     {
-        HSSFCell cell = row.getCell( (short) column );
+        HSSFCell cell = row.getCell( column );
 
         if ( cell == null )
         {
-            cell = row.createCell( (short) column );
+            cell = row.createCell( (short)column );
         }
         return cell;
     }
@@ -98,7 +99,7 @@
     {
         HSSFCell cell = getCell( row, column );
 
-        cell.setCellValue( value );
+        cell.setCellValue(new HSSFRichTextString(value));
         if ( style != null )
         {
             cell.setCellStyle( style );
@@ -222,7 +223,7 @@
     public static HSSFCell translateUnicodeValues( HSSFCell cell )
     {
 
-        String s = cell.getStringCellValue();
+        String s = cell.getRichStringCellValue().getString(); 
         boolean foundUnicode = false;
 
         for ( Iterator i = unicodeMappings.entrySet().iterator(); i.hasNext(); )

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/formula/function/FunctionMetadataReader.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/formula/function/FunctionMetadataReader.java?rev=653835&r1=653834&r2=653835&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/formula/function/FunctionMetadataReader.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/formula/function/FunctionMetadataReader.java Tue May  6 09:48:48 2008
@@ -21,6 +21,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
 import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Set;
@@ -58,7 +59,10 @@
 			throw new RuntimeException("resource '" + METADATA_FILE_NAME + "' not found");
 		}
 
-		BufferedReader br = new BufferedReader(new InputStreamReader(is));
+		BufferedReader br = null;
+		try {
+			br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
+		} catch(UnsupportedEncodingException e) { /* never happens */ }
 		FunctionDataBuilder fdb = new FunctionDataBuilder(400);
 
 		try {
@@ -153,7 +157,7 @@
 			case 'R': return Ptg.CLASS_REF;
 			case 'A': return Ptg.CLASS_ARRAY;
 		}
-		throw new IllegalArgumentException("Unexpected operand type code '" + code + "'");
+		throw new IllegalArgumentException("Unexpected operand type code '" + code + "' (" + (int)code.charAt(0) + ")");
 	}
 
 	/**

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java?rev=653835&r1=653834&r2=653835&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java Tue May  6 09:48:48 2008
@@ -498,8 +498,10 @@
     }
 
     /**
-     * @return cell iterator of the physically defined cells.  Note element 4 may
-     * actually be row cell depending on how many are defined!
+     * @return cell iterator of the physically defined cells. 
+     * Note that the 4th element might well not be cell 4, as the iterator
+     *  will not return un-defined (null) cells.
+     * Call getCellNum() on the returned cells to know which cell they are.
      */
     public Iterator cellIterator()
     {

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java?rev=653835&r1=653834&r2=653835&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java Tue May  6 09:48:48 2008
@@ -717,6 +717,7 @@
     /**
      * @return an iterator of the PHYSICAL rows.  Meaning the 3rd element may not
      * be the third row if say for instance the second row is undefined.
+     * Call getRowNum() on each row if you care which one it is.
      */
     public Iterator rowIterator()
     {

Modified: poi/branches/ooxml/src/resources/main/org/apache/poi/hssf/record/formula/function/functionMetadata-asGenerated.txt
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/resources/main/org/apache/poi/hssf/record/formula/function/functionMetadata-asGenerated.txt?rev=653835&r1=653834&r2=653835&view=diff
==============================================================================
--- poi/branches/ooxml/src/resources/main/org/apache/poi/hssf/record/formula/function/functionMetadata-asGenerated.txt (original)
+++ poi/branches/ooxml/src/resources/main/org/apache/poi/hssf/record/formula/function/functionMetadata-asGenerated.txt Tue May  6 09:48:48 2008
@@ -29,7 +29,7 @@
 7	MAX	1	30	V	R		
 8	ROW	0	1	V	R		
 9	COLUMN	0	1	V	R		
-10	NA	0	0	V	–		
+10	NA	0	0	V	–		
 11	NPV	2	30	V	V R		
 12	STDEV	1	30	V	R		
 13	DOLLAR	1	2	V	V V		
@@ -38,7 +38,7 @@
 16	COS	1	1	V	V		
 17	TAN	1	1	V	V		
 18	ARCTAN	1	1	V	V		
-19	PI	0	0	V	–		
+19	PI	0	0	V	–		
 20	SQRT	1	1	V	V		
 21	EXP	1	1	V	V		
 22	LN	1	1	V	V		
@@ -53,8 +53,8 @@
 31	MID	3	3	V	V V V		
 32	LEN	1	1	V	V		
 33	VALUE	1	1	V	V		
-34	TRUE	0	0	V	–		
-35	FALSE	0	0	V	–		
+34	TRUE	0	0	V	–		
+35	FALSE	0	0	V	–		
 36	AND	1	30	V	R		
 37	OR	1	30	V	R		
 38	NOT	1	1	V	V		
@@ -80,7 +80,7 @@
 60	RATE	3	6	V	V V V V V V		
 61	MIRR	3	3	V	R V V		
 62	IRR	1	2	V	R V		
-63	RAND	0	0	V	–	x	
+63	RAND	0	0	V	–	x	
 64	MATCH	2	3	V	V R R		
 65	DATE	3	3	V	V V V		
 66	TIME	3	3	V	V V V		
@@ -91,7 +91,7 @@
 71	HOUR	1	1	V	V		
 72	MINUTE	1	1	V	V		
 73	SECOND	1	1	V	V		
-74	NOW	0	0	V	–	x	
+74	NOW	0	0	V	–	x	
 75	AREAS	1	1	V	R		
 76	ROWS	1	1	V	R		
 77	COLUMNS	1	1	V	R		
@@ -170,10 +170,10 @@
 215	JIS	1	1	V	V		x
 219	ADDRESS	2	5	V	V V V V V		
 220	DAYS360	2	2	V	V V		x
-221	TODAY	0	0	V	–	x	
+221	TODAY	0	0	V	–	x	
 222	VDB	5	7	V	V V V V V V V		
-227	MEDIAN	1	30	V	R …		
-228	SUMPRODUCT	1	30	V	A …		
+227	MEDIAN	1	30	V	R …		
+228	SUMPRODUCT	1	30	V	A …		
 229	SINH	1	1	V	V		
 230	COSH	1	1	V	V		
 231	TANH	1	1	V	V		
@@ -188,7 +188,7 @@
 247	DB	4	5	V	V V V V V		
 252	FREQUENCY	2	2	A	R R		
 261	ERROR.TYPE	1	1	V	V		
-269	AVEDEV	1	30	V	R …		
+269	AVEDEV	1	30	V	R …		
 270	BETADIST	3	5	V	V V V V V		
 271	GAMMALN	1	1	V	V		
 272	BETAINV	3	5	V	V V V V V		
@@ -237,12 +237,12 @@
 315	SLOPE	2	2	V	A A		
 316	TTEST	4	4	V	A A V V		
 317	PROB	3	4	V	A A V V		
-318	DEVSQ	1	30	V	R …		
-319	GEOMEAN	1	30	V	R …		
-320	HARMEAN	1	30	V	R …		
-321	SUMSQ	0	30	V	R …		
-322	KURT	1	30	V	R …		
-323	SKEW	1	30	V	R …		
+318	DEVSQ	1	30	V	R …		
+319	GEOMEAN	1	30	V	R …		
+320	HARMEAN	1	30	V	R …		
+321	SUMSQ	0	30	V	R …		
+322	KURT	1	30	V	R …		
+323	SKEW	1	30	V	R …		
 324	ZTEST	2	3	V	R V V		
 325	LARGE	2	2	V	R V		
 326	SMALL	2	2	V	R V		
@@ -274,10 +274,10 @@
 358	GETPIVOTDATA	2	30				
 359	HYPERLINK	1	2	V	V V		
 360	PHONETIC	1	1	V	R		
-361	AVERAGEA	1	30	V	R …		
-362	MAXA	1	30	V	R …		
-363	MINA	1	30	V	R …		
-364	STDEVPA	1	30	V	R …		
-365	VARPA	1	30	V	R …		
-366	STDEVA	1	30	V	R …		
-367	VARA	1	30	V	R …		
+361	AVERAGEA	1	30	V	R …		
+362	MAXA	1	30	V	R …		
+363	MINA	1	30	V	R …		
+364	STDEVPA	1	30	V	R …		
+365	VARPA	1	30	V	R …		
+366	STDEVA	1	30	V	R …		
+367	VARA	1	30	V	R …		

Modified: poi/branches/ooxml/src/resources/main/org/apache/poi/hssf/record/formula/function/functionMetadata.txt
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/resources/main/org/apache/poi/hssf/record/formula/function/functionMetadata.txt?rev=653835&r1=653834&r2=653835&view=diff
==============================================================================
--- poi/branches/ooxml/src/resources/main/org/apache/poi/hssf/record/formula/function/functionMetadata.txt (original)
+++ poi/branches/ooxml/src/resources/main/org/apache/poi/hssf/record/formula/function/functionMetadata.txt Tue May  6 09:48:48 2008
@@ -31,7 +31,7 @@
 7	MAX	1	30	V	R		
 8	ROW	0	1	V	R		
 9	COLUMN	0	1	V	R		
-10	NA	0	0	V	–		
+10	NA	0	0	V	–		
 11	NPV	2	30	V	V R		
 12	STDEV	1	30	V	R		
 13	DOLLAR	1	2	V	V V		
@@ -40,7 +40,7 @@
 16	COS	1	1	V	V		
 17	TAN	1	1	V	V		
 18	ATAN	1	1	V	V		
-19	PI	0	0	V	–		
+19	PI	0	0	V	–		
 20	SQRT	1	1	V	V		
 21	EXP	1	1	V	V		
 22	LN	1	1	V	V		
@@ -55,8 +55,8 @@
 31	MID	3	3	V	V V V		
 32	LEN	1	1	V	V		
 33	VALUE	1	1	V	V		
-34	TRUE	0	0	V	–		
-35	FALSE	0	0	V	–		
+34	TRUE	0	0	V	–		
+35	FALSE	0	0	V	–		
 36	AND	1	30	V	R		
 37	OR	1	30	V	R		
 38	NOT	1	1	V	V		
@@ -82,7 +82,7 @@
 60	RATE	3	6	V	V V V V V V		
 61	MIRR	3	3	V	R V V		
 62	IRR	1	2	V	R V		
-63	RAND	0	0	V	–	x	
+63	RAND	0	0	V	–	x	
 64	MATCH	2	3	V	V R R		
 65	DATE	3	3	V	V V V		
 66	TIME	3	3	V	V V V		
@@ -93,7 +93,7 @@
 71	HOUR	1	1	V	V		
 72	MINUTE	1	1	V	V		
 73	SECOND	1	1	V	V		
-74	NOW	0	0	V	–	x	
+74	NOW	0	0	V	–	x	
 75	AREAS	1	1	V	R		
 76	ROWS	1	1	V	R		
 77	COLUMNS	1	1	V	R		
@@ -172,10 +172,10 @@
 215	JIS	1	1	V	V		x
 219	ADDRESS	2	5	V	V V V V V		
 220	DAYS360	2	2	V	V V		x
-221	TODAY	0	0	V	–	x	
+221	TODAY	0	0	V	–	x	
 222	VDB	5	7	V	V V V V V V V		
-227	MEDIAN	1	30	V	R …		
-228	SUMPRODUCT	1	30	V	A …		
+227	MEDIAN	1	30	V	R …		
+228	SUMPRODUCT	1	30	V	A …		
 229	SINH	1	1	V	V		
 230	COSH	1	1	V	V		
 231	TANH	1	1	V	V		
@@ -192,7 +192,7 @@
 247	DB	4	5	V	V V V V V		
 252	FREQUENCY	2	2	A	R R		
 261	ERROR.TYPE	1	1	V	V		
-269	AVEDEV	1	30	V	R …		
+269	AVEDEV	1	30	V	R …		
 270	BETADIST	3	5	V	V V V V V		
 271	GAMMALN	1	1	V	V		
 272	BETAINV	3	5	V	V V V V V		
@@ -241,12 +241,12 @@
 315	SLOPE	2	2	V	A A		
 316	TTEST	4	4	V	A A V V		
 317	PROB	3	4	V	A A V V		
-318	DEVSQ	1	30	V	R …		
-319	GEOMEAN	1	30	V	R …		
-320	HARMEAN	1	30	V	R …		
-321	SUMSQ	0	30	V	R …		
-322	KURT	1	30	V	R …		
-323	SKEW	1	30	V	R …		
+318	DEVSQ	1	30	V	R …		
+319	GEOMEAN	1	30	V	R …		
+320	HARMEAN	1	30	V	R …		
+321	SUMSQ	0	30	V	R …		
+322	KURT	1	30	V	R …		
+323	SKEW	1	30	V	R …		
 324	ZTEST	2	3	V	R V V		
 325	LARGE	2	2	V	R V		
 326	SMALL	2	2	V	R V		
@@ -278,10 +278,10 @@
 358	GETPIVOTDATA	2	30				
 359	HYPERLINK	1	2	V	V V		
 360	PHONETIC	1	1	V	R		
-361	AVERAGEA	1	30	V	R …		
-362	MAXA	1	30	V	R …		
-363	MINA	1	30	V	R …		
-364	STDEVPA	1	30	V	R …		
-365	VARPA	1	30	V	R …		
-366	STDEVA	1	30	V	R …		
-367	VARA	1	30	V	R …		
+361	AVERAGEA	1	30	V	R …		
+362	MAXA	1	30	V	R …		
+363	MINA	1	30	V	R …		
+364	STDEVPA	1	30	V	R …		
+365	VARPA	1	30	V	R …		
+366	STDEVA	1	30	V	R …		
+367	VARA	1	30	V	R …		

Modified: poi/branches/ooxml/src/testcases/org/apache/poi/hssf/record/formula/function/ExcelFileFormatDocFunctionExtractor.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/testcases/org/apache/poi/hssf/record/formula/function/ExcelFileFormatDocFunctionExtractor.java?rev=653835&r1=653834&r2=653835&view=diff
==============================================================================
--- poi/branches/ooxml/src/testcases/org/apache/poi/hssf/record/formula/function/ExcelFileFormatDocFunctionExtractor.java (original)
+++ poi/branches/ooxml/src/testcases/org/apache/poi/hssf/record/formula/function/ExcelFileFormatDocFunctionExtractor.java Tue May  6 09:48:48 2008
@@ -25,6 +25,7 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.PrintStream;
+import java.io.UnsupportedEncodingException;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLConnection;
@@ -354,13 +355,19 @@
 	}
 
 	private static void extractFunctionData(FunctionDataCollector fdc, InputStream is) {
-		System.setProperty("org.xml.sax.driver", "org.apache.crimson.parser.XMLReaderImpl");
-		
 		XMLReader xr;
+		
 		try {
+			// First up, try the default one
 			xr = XMLReaderFactory.createXMLReader();
 		} catch (SAXException e) {
-			throw new RuntimeException(e);
+			// Try one for java 1.4
+			System.setProperty("org.xml.sax.driver", "org.apache.crimson.parser.XMLReaderImpl");
+			try {
+				xr = XMLReaderFactory.createXMLReader();
+			} catch (SAXException e2) {
+				throw new RuntimeException(e2);
+			}
 		}
 		xr.setContentHandler(new EFFDocHandler(fdc));
 
@@ -383,7 +390,11 @@
 		} catch (FileNotFoundException e) {
 			throw new RuntimeException(e);
 		}
-		PrintStream ps = new PrintStream(os);
+		PrintStream ps = null;
+		try {
+			ps = new PrintStream(os,true, "UTF-8");
+		} catch(UnsupportedEncodingException e) {}
+		
 		outputLicenseHeader(ps);
 		Class genClass = ExcelFileFormatDocFunctionExtractor.class;
 		ps.println("# Created by (" + genClass.getName() + ")");



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org