You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by jo...@apache.org on 2008/10/31 19:37:21 UTC

svn commit: r709526 [2/2] - in /poi/branches/ooxml: ./ src/java/org/apache/poi/hssf/eventusermodel/dummyrecord/ src/java/org/apache/poi/hssf/record/ src/java/org/apache/poi/hssf/record/aggregates/ src/java/org/apache/poi/ss/formula/ src/testcases/org/a...

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LabelRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LabelRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LabelRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LabelRecord.java Fri Oct 31 11:37:16 2008
@@ -114,10 +114,11 @@
     /**
      * THROWS A RUNTIME EXCEPTION..  USE LABELSSTRecords.  YOU HAVE NO REASON to use LABELRecord!!
      */
-    public int serialize(int offset, byte [] data)
-    {
-        throw new RecordFormatException(
-            "Label Records are supported READ ONLY...convert to LabelSST");
+    public int serialize(int offset, byte [] data) {
+        throw new RecordFormatException("Label Records are supported READ ONLY...convert to LabelSST");
+    }
+    protected int getDataSize() {
+        throw new RecordFormatException("Label Records are supported READ ONLY...convert to LabelSST");
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LabelSSTRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LabelSSTRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LabelSSTRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LabelSSTRecord.java Fri Oct 31 11:37:16 2008
@@ -140,9 +140,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 14;
+    protected int getDataSize() {
+        return 10;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LeftMarginRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LeftMarginRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LeftMarginRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LeftMarginRecord.java Fri Oct 31 11:37:16 2008
@@ -53,8 +53,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()    {
-        return 4 + 8;
+    protected int getDataSize() {
+        return 8;
     }
 
     public short getSid()    {
@@ -82,4 +82,4 @@
         rec.field_1_margin = this.field_1_margin;
         return rec;
     }
-}  // END OF CLA
\ No newline at end of file
+}  // END OF C
\ No newline at end of file

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LegendRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LegendRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LegendRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LegendRecord.java Fri Oct 31 11:37:16 2008
@@ -133,9 +133,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 4 + 4 + 4 + 4 + 1 + 1 + 2;
+    protected int getDataSize() {
+        return 4 + 4 + 4 + 4 + 1 + 1 + 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LineFormatRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LineFormatRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LineFormatRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LineFormatRecord.java Fri Oct 31 11:37:16 2008
@@ -118,9 +118,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 4 + 2 + 2 + 2 + 2;
+    protected int getDataSize() {
+        return 4 + 2 + 2 + 2 + 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LinkedDataRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LinkedDataRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LinkedDataRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/LinkedDataRecord.java Fri Oct 31 11:37:16 2008
@@ -108,9 +108,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 1 + 1 + 2 + 2 + field_5_formulaOfLink.getSize();
+    protected int getDataSize() {
+        return 1 + 1 + 2 + 2 + field_5_formulaOfLink.getSize();
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/MMSRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/MMSRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/MMSRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/MMSRecord.java Fri Oct 31 11:37:16 2008
@@ -110,9 +110,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/MergeCellsRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/MergeCellsRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/MergeCellsRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/MergeCellsRecord.java Fri Oct 31 11:37:16 2008
@@ -72,9 +72,9 @@
         return _regions[_startIndex + index];
     }
 
-    public int getRecordSize() {
-    	return 4 + CellRangeAddressList.getEncodedSize(_numberOfRegions);
-    }
+    protected int getDataSize() {
+		return CellRangeAddressList.getEncodedSize(_numberOfRegions);
+	}
 
     public short getSid() {
         return sid;

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/MulBlankRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/MulBlankRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/MulBlankRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/MulBlankRecord.java Fri Oct 31 11:37:16 2008
@@ -1,4 +1,3 @@
-
 /* ====================================================================
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
@@ -15,50 +14,33 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
-        
 
-/*
- * MulBlankRecord.java
- *
- * Created on December 10, 2001, 12:49 PM
- */
 package org.apache.poi.hssf.record;
 
 /**
- * Title:        Mulitple Blank cell record <P>
+ * Title:        Multiple Blank cell record(0x00BE) <P/>
  * Description:  Represents a  set of columns in a row with no value but with styling.
  *               In this release we have read-only support for this record type.
- *               The RecordFactory converts this to a set of BlankRecord objects.<P>
- * REFERENCE:  PG 329 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P>
+ *               The RecordFactory converts this to a set of BlankRecord objects.<P/>
+ * REFERENCE:  PG 329 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P/>
  * @author Andrew C. Oliver (acoliver at apache dot org)
  * @author Glen Stampoultzis (glens at apache.org)
- * @version 2.0-pre
- * @see org.apache.poi.hssf.record.BlankRecord
+ * @see BlankRecord
  */
-
-public class MulBlankRecord
-    extends Record
-{
-    public final static short sid = 0xbe;
-    //private short             field_1_row;
-    private int             field_1_row;
+public final class MulBlankRecord extends Record {
+    public final static short sid = 0x00BE;
+    
+    private int               field_1_row;
     private short             field_2_first_col;
     private short[]           field_3_xfs;
     private short             field_4_last_col;
 
-    /** Creates new MulBlankRecord */
-
-    public MulBlankRecord()
-    {
-    }
 
     /**
      * get the row number of the cells this represents
      *
      * @return row number
      */
-
-    //public short getRow()
     public int getRow()
     {
         return field_1_row;
@@ -68,7 +50,6 @@
      * starting column (first cell this holds in the row)
      * @return first column number
      */
-
     public short getFirstColumn()
     {
         return field_2_first_col;
@@ -78,7 +59,6 @@
      * ending column (last cell this holds in the row)
      * @return first column number
      */
-
     public short getLastColumn()
     {
         return field_4_last_col;
@@ -88,7 +68,6 @@
      * get the number of columns this contains (last-first +1)
      * @return number of columns (last - first +1)
      */
-
     public int getNumColumns()
     {
         return field_4_last_col - field_2_first_col + 1;
@@ -99,7 +78,6 @@
      * @param coffset  the column (coffset = column - field_2_first_col)
      * @return the XF index for the column
      */
-
     public short getXFAt(int coffset)
     {
         return field_3_xfs[ coffset ];
@@ -108,16 +86,14 @@
     /**
      * @param in the RecordInputstream to read the record from
      */
-    public MulBlankRecord(RecordInputStream in)
-    {
-        //field_1_row       = LittleEndian.getShort(data, 0 + offset);
+    public MulBlankRecord(RecordInputStream in) {
         field_1_row       = in.readUShort();
         field_2_first_col = in.readShort();
         field_3_xfs       = parseXFs(in);
         field_4_last_col  = in.readShort();
     }
 
-    private short [] parseXFs(RecordInputStream in)
+    private static short [] parseXFs(RecordInputStream in)
     {
         short[] retval = new short[ (in.remaining() - 2) / 2 ];
 
@@ -128,21 +104,16 @@
         return retval;
     }
 
-    public String toString()
-    {
+    public String toString() {
         StringBuffer buffer = new StringBuffer();
 
         buffer.append("[MULBLANK]\n");
-        buffer.append("row  = ")
-            .append(Integer.toHexString(getRow())).append("\n");
-        buffer.append("firstcol  = ")
-            .append(Integer.toHexString(getFirstColumn())).append("\n");
-        buffer.append(" lastcol  = ")
-            .append(Integer.toHexString(getLastColumn())).append("\n");
-        for (int k = 0; k < getNumColumns(); k++)
-        {
-            buffer.append("xf").append(k).append("        = ")
-                .append(Integer.toHexString(getXFAt(k))).append("\n");
+        buffer.append("row  = ").append(Integer.toHexString(getRow())).append("\n");
+        buffer.append("firstcol  = ").append(Integer.toHexString(getFirstColumn())).append("\n");
+        buffer.append(" lastcol  = ").append(Integer.toHexString(getLastColumn())).append("\n");
+        for (int k = 0; k < getNumColumns(); k++) {
+            buffer.append("xf").append(k).append("        = ").append(
+                    Integer.toHexString(getXFAt(k))).append("\n");
         }
         buffer.append("[/MULBLANK]\n");
         return buffer.toString();
@@ -153,9 +124,10 @@
         return sid;
     }
 
-    public int serialize(int offset, byte [] data)
-    {
-        throw new RecordFormatException(
-            "Sorry, you can't serialize a MulBlank in this release");
+    public int serialize(int offset, byte [] data) {
+        throw new RecordFormatException( "Sorry, you can't serialize MulBlank in this release");
+    }
+    protected int getDataSize() {
+        throw new RecordFormatException( "Sorry, you can't serialize MulBlank in this release");
     }
 }

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/MulRKRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/MulRKRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/MulRKRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/MulRKRecord.java Fri Oct 31 11:37:16 2008
@@ -113,10 +113,11 @@
 		return sid;
 	}
 
-	public int serialize(int offset, byte [] data)
-	{
-		throw new RecordFormatException(
-			"Sorry, you can't serialize a MulRK in this release");
+	public int serialize(int offset, byte [] data) {
+		throw new RecordFormatException( "Sorry, you can't serialize MulRK in this release");
+	}
+	protected int getDataSize() {
+		throw new RecordFormatException( "Sorry, you can't serialize MulRK in this release");
 	}
 
 	private static final class RkRec {

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/NameRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/NameRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/NameRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/NameRecord.java Fri Oct 31 11:37:16 2008
@@ -408,10 +408,9 @@
 		} 
 		return nChars;
 	}
-
-	public int getRecordSize(){
-		return 4 // sid + size
-			+ 13 // 3 shorts + 7 bytes
+	
+	protected int getDataSize() {
+		return 13 // 3 shorts + 7 bytes
 			+ getNameRawSize()
 			+ field_14_custom_menu_text.length()
 			+ field_15_description_text.length()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/NoteRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/NoteRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/NoteRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/NoteRecord.java Fri Oct 31 11:37:16 2008
@@ -24,8 +24,8 @@
  *
  * @author Yegor Kozlov
  */
-public class NoteRecord extends Record {
-    public final static short sid = 0x1C;
+public final class NoteRecord extends Record {
+    public final static short sid = 0x001C;
 
     /**
      * Flag indicating that the comment is hidden (default)
@@ -100,16 +100,13 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        int retval = 4 + 2 + 2 + 2 + 2 + 2 + 1 + field_5_author.length() + 1;
-
-        return retval;
+    protected int getDataSize() {
+        return 2 + 2 + 2 + 2 + 2 + 1 + field_5_author.length() + 1;
     }
 
     /**
      * Convert this record to string.
-     * Used by BiffViewer and other utulities.
+     * Used by BiffViewer and other utilities.
      */
      public String toString()
     {

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/NumberFormatIndexRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/NumberFormatIndexRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/NumberFormatIndexRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/NumberFormatIndexRecord.java Fri Oct 31 11:37:16 2008
@@ -66,9 +66,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/NumberRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/NumberRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/NumberRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/NumberRecord.java Fri Oct 31 11:37:16 2008
@@ -142,9 +142,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 18;
+    protected int getDataSize() {
+        return 14;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ObjRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ObjRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ObjRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ObjRecord.java Fri Oct 31 11:37:16 2008
@@ -119,7 +119,7 @@
 		return sb.toString();
 	}
 	
-	private int getDataSize() {
+	protected int getDataSize() {
 		if (_uninterpretedData != null) {
 			return _uninterpretedData.length;
 		}
@@ -165,10 +165,6 @@
 		return recSize;
 	}
 
-	public int getRecordSize() {
-		return 4 + getDataSize();
-	}
-
 	public short getSid() {
 		return sid;
 	}

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ObjectLinkRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ObjectLinkRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ObjectLinkRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ObjectLinkRecord.java Fri Oct 31 11:37:16 2008
@@ -86,9 +86,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 2 + 2;
+    protected int getDataSize() {
+        return 2 + 2 + 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ObjectProtectRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ObjectProtectRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ObjectProtectRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ObjectProtectRecord.java Fri Oct 31 11:37:16 2008
@@ -93,9 +93,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PageBreakRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PageBreakRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PageBreakRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PageBreakRecord.java Fri Oct 31 11:37:16 2008
@@ -37,7 +37,6 @@
  * @author Danny Mui (dmui at apache dot org)
  */
 public abstract class PageBreakRecord extends Record {
-    private static final boolean IS_EMPTY_RECORD_WRITTEN = false;
     private static final int[] EMPTY_INT_ARRAY = { };
 
     private List _breaks;
@@ -97,23 +96,15 @@
 
     }
 
-    private int getDataSize() {
-        return 2 + _breaks.size() * Break.ENCODED_SIZE;
+    public boolean isEmpty() {
+    	return _breaks.isEmpty();
     }
-    public int getRecordSize() {
-        int nBreaks = _breaks.size();
-        if (!IS_EMPTY_RECORD_WRITTEN && nBreaks < 1) {
-            return 0;
-        }
-        return 4 + getDataSize();
+    protected int getDataSize() {
+        return 2 + _breaks.size() * Break.ENCODED_SIZE;
     }
 
-
     public final int serialize(int offset, byte data[]) {
         int nBreaks = _breaks.size();
-        if (!IS_EMPTY_RECORD_WRITTEN && nBreaks < 1) {
-            return 0;
-        }
         int dataSize = getDataSize();
         LittleEndian.putUShort(data, offset + 0, getSid());
         LittleEndian.putUShort(data, offset + 2, dataSize);

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PaletteRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PaletteRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PaletteRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PaletteRecord.java Fri Oct 31 11:37:16 2008
@@ -96,9 +96,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4 + 2 + (field_1_numcolors * 4);
+    protected int getDataSize() {
+        return 2 + (field_1_numcolors * 4);
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PaneRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PaneRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PaneRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PaneRecord.java Fri Oct 31 11:37:16 2008
@@ -102,9 +102,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 2 + 2 + 2 + 2;
+    protected int getDataSize() {
+        return 2 + 2 + 2 + 2 + 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PasswordRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PasswordRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PasswordRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PasswordRecord.java Fri Oct 31 11:37:16 2008
@@ -96,8 +96,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize() {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid() {

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PasswordRev4Record.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PasswordRev4Record.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PasswordRev4Record.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PasswordRev4Record.java Fri Oct 31 11:37:16 2008
@@ -87,9 +87,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PlotAreaRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PlotAreaRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PlotAreaRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PlotAreaRecord.java Fri Oct 31 11:37:16 2008
@@ -60,9 +60,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4 ;
+    protected int getDataSize() {
+        return 0;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PlotGrowthRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PlotGrowthRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PlotGrowthRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PlotGrowthRecord.java Fri Oct 31 11:37:16 2008
@@ -74,9 +74,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 4 + 4;
+    protected int getDataSize() {
+        return 4 + 4;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PrecisionRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PrecisionRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PrecisionRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PrecisionRecord.java Fri Oct 31 11:37:16 2008
@@ -94,9 +94,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PrintGridlinesRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PrintGridlinesRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PrintGridlinesRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PrintGridlinesRecord.java Fri Oct 31 11:37:16 2008
@@ -93,9 +93,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PrintHeadersRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PrintHeadersRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PrintHeadersRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PrintHeadersRecord.java Fri Oct 31 11:37:16 2008
@@ -92,9 +92,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PrintSetupRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PrintSetupRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PrintSetupRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/PrintSetupRecord.java Fri Oct 31 11:37:16 2008
@@ -340,9 +340,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 38;
+    protected int getDataSize() {
+        return 34;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ProtectRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ProtectRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ProtectRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ProtectRecord.java Fri Oct 31 11:37:16 2008
@@ -94,9 +94,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ProtectionRev4Record.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ProtectionRev4Record.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ProtectionRev4Record.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ProtectionRev4Record.java Fri Oct 31 11:37:16 2008
@@ -92,9 +92,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RKRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RKRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RKRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RKRecord.java Fri Oct 31 11:37:16 2008
@@ -34,7 +34,6 @@
  * REFERENCE:  PG 376 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P>
  * @author Andrew C. Oliver (acoliver at apache dot org)
  * @author Jason Height (jheight at chariot dot net dot au)
- * @version 2.0-pre
  * @see org.apache.poi.hssf.record.NumberRecord
  */
 public final class RKRecord extends Record implements CellValueRecordInterface {
@@ -134,48 +133,12 @@
         return sb.toString();
     }
 
-// temporarily just constructs a new number record and returns its value
-    public int serialize(int offset, byte [] data)
-    {
-        NumberRecord rec = new NumberRecord();
-
-        rec.setColumn(getColumn());
-        rec.setRow(getRow());
-        rec.setValue(getRKNumber());
-        rec.setXFIndex(getXFIndex());
-        return rec.serialize(offset, data);
-    }
-
-    /**
-     * Debugging main()
-     * <P>
-     * Normally I'd do this in a junit test, but let's face it -- once
-     * this algorithm has been tested and it works, we are never ever
-     * going to change it. This is driven by the Faceless Enemy's
-     * minions, who dare not change the algorithm out from under us.
-     *
-     * @param ignored_args command line arguments, which we blithely
-     *                     ignore
-     */
-
-    public static void main(String ignored_args[])
-    {
-        int[]    values  =
-        {
-            0x3FF00000, 0x405EC001, 0x02F1853A, 0x02F1853B, 0xFCDD699A
-        };
-        double[] rvalues =
-        {
-            1, 1.23, 12345678, 123456.78, -13149594
-        };
-
-        for (int j = 0; j < values.length; j++)
-        {
-            System.out.println("input = " + Integer.toHexString(values[ j ])
-                               + " -> " + rvalues[ j ] + ": "
-                               + RKUtil.decodeNumber(values[ j ]));
-        }
-    }
+	public int serialize(int offset, byte [] data) {
+		throw new RecordFormatException( "Sorry, you can't serialize RK in this release");
+	}
+	protected int getDataSize() {
+		throw new RecordFormatException( "Sorry, you can't serialize RK in this release");
+	}
 
     public short getSid()
     {

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RecalcIdRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RecalcIdRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RecalcIdRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RecalcIdRecord.java Fri Oct 31 11:37:16 2008
@@ -116,9 +116,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4 + (getRecalcIdArray().length * 2);
+    protected int getDataSize() {
+        return (getRecalcIdArray().length * 2);
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/Record.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/Record.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/Record.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/Record.java Fri Oct 31 11:37:16 2008
@@ -28,7 +28,6 @@
  * @author Andrew C. Oliver
  * @author Marc Johnson (mjohnson at apache dot org)
  * @author Jason Height (jheight at chariot dot net dot au)
- * @version 2.0-pre
  */
 public abstract class Record extends RecordBase {
 
@@ -48,31 +47,25 @@
      * @return byte array containing instance data
      */
 
-    public byte [] serialize()
-    {
+    public final byte[] serialize() {
         byte[] retval = new byte[ getRecordSize() ];
 
         serialize(0, retval);
         return retval;
     }
 
-
+    public final int getRecordSize() {
+    	return 4 + getDataSize();
+    }
     /**
-     * gives the current serialized size of the record. Should include the sid and reclength (4 bytes).
+     * @return the size of the data portion of this record 
+     * (does not include initial 4 bytes for sid and size)
      */
-
-    public int getRecordSize()
-    {
-
-        // this is kind od a stupid way to do it but for now we just serialize
-        // the record and return the size of the byte array
-        return serialize().length;
-    }
-
+    protected abstract int getDataSize();
+    
     /**
      * get a string representation of the record (for biffview/debugging)
      */
-
     public String toString()
     {
         return super.toString();

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RefModeRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RefModeRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RefModeRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RefModeRecord.java Fri Oct 31 11:37:16 2008
@@ -91,9 +91,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RefreshAllRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RefreshAllRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RefreshAllRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RefreshAllRecord.java Fri Oct 31 11:37:16 2008
@@ -92,9 +92,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RightMarginRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RightMarginRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RightMarginRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RightMarginRecord.java Fri Oct 31 11:37:16 2008
@@ -52,7 +52,9 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()    {        return 4 + 8;    }
+    protected int getDataSize() {
+        return 8;
+    }
 
     public short getSid()    {        return sid;    }
 
@@ -73,4 +75,4 @@
         rec.field_1_margin = this.field_1_margin;
         return rec;
     }
-}  // END OF CL
\ No newline at end of file
+}  // END OF 
\ No newline at end of file

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RowRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RowRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RowRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/RowRecord.java Fri Oct 31 11:37:16 2008
@@ -351,9 +351,8 @@
         return ENCODED_SIZE;
     }
 
-    public int getRecordSize()
-    {
-        return ENCODED_SIZE;
+    protected int getDataSize() {
+        return ENCODED_SIZE - 4;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SCLRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SCLRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SCLRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SCLRecord.java Fri Oct 31 11:37:16 2008
@@ -74,9 +74,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 2;
+    protected int getDataSize() {
+        return 2 + 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SSTRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SSTRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SSTRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SSTRecord.java Fri Oct 31 11:37:16 2008
@@ -1,4 +1,3 @@
-
 /* ====================================================================
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,6 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
-        
 
 package org.apache.poi.hssf.record;
 
@@ -39,10 +37,8 @@
  * @see org.apache.poi.hssf.record.LabelSSTRecord
  * @see org.apache.poi.hssf.record.ContinueRecord
  */
-
-public class SSTRecord
-        extends Record
-{
+public final class SSTRecord extends Record {
+    public static final short sid = 0x00FC;
 
       private static UnicodeString EMPTY_STRING = new UnicodeString("");
 
@@ -63,8 +59,6 @@
     /** overhead for each string includes the string's character count (a short) and the flag describing its characteristics (a byte) */
     static final int STRING_MINIMAL_OVERHEAD = LittleEndianConsts.SHORT_SIZE + LittleEndianConsts.BYTE_SIZE;
 
-    public static final short sid = 0xfc;
-
     /** union of strings in the SST and EXTSST */
     private int field_1_num_strings;
 
@@ -375,11 +369,10 @@
     }
 
 
-    public int getRecordSize()
-    {
+    protected int getDataSize() {
         SSTRecordSizeCalculator calculator = new SSTRecordSizeCalculator(field_3_strings);
         int recordSize = calculator.getRecordSize();
-        return recordSize;
+        return recordSize-4;
     }
 
     SSTDeserializer getDeserializer()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SaveRecalcRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SaveRecalcRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SaveRecalcRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SaveRecalcRecord.java Fri Oct 31 11:37:16 2008
@@ -85,9 +85,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ScenarioProtectRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ScenarioProtectRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ScenarioProtectRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ScenarioProtectRecord.java Fri Oct 31 11:37:16 2008
@@ -94,9 +94,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SelectionRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SelectionRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SelectionRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SelectionRecord.java Fri Oct 31 11:37:16 2008
@@ -143,7 +143,7 @@
         buffer.append("[/SELECTION]\n");
         return buffer.toString();
     }
-    private int getDataSize() {
+    protected int getDataSize() {
         return 9 // 1 byte + 4 shorts 
             + CellRangeAddress8Bit.getEncodedSize(field_6_refs.length);
     }
@@ -164,10 +164,6 @@
         return 4 + dataSize;
     }
 
-    public int getRecordSize() {
-        return 4 + getDataSize();
-    }
-
     public short getSid() {
         return sid;
     }

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesChartGroupIndexRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesChartGroupIndexRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesChartGroupIndexRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesChartGroupIndexRecord.java Fri Oct 31 11:37:16 2008
@@ -66,9 +66,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesIndexRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesIndexRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesIndexRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesIndexRecord.java Fri Oct 31 11:37:16 2008
@@ -66,9 +66,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesLabelsRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesLabelsRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesLabelsRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesLabelsRecord.java Fri Oct 31 11:37:16 2008
@@ -81,9 +81,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesListRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesListRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesListRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesListRecord.java Fri Oct 31 11:37:16 2008
@@ -74,9 +74,8 @@
         return 4 + dataSize;
     }
 
-    public int getRecordSize()
-    {
-        return 4  + field_1_seriesNumbers.length * 2 + 2;
+    protected int getDataSize() {
+        return field_1_seriesNumbers.length * 2 + 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesRecord.java Fri Oct 31 11:37:16 2008
@@ -114,9 +114,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 2 + 2 + 2 + 2 + 2;
+    protected int getDataSize() {
+        return 2 + 2 + 2 + 2 + 2 + 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesTextRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesTextRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesTextRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesTextRecord.java Fri Oct 31 11:37:16 2008
@@ -88,9 +88,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 1 + 1 + (field_2_textLength *2);
+    protected int getDataSize() {
+        return 2 + 1 + 1 + (field_2_textLength *2);
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesToChartGroupRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesToChartGroupRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesToChartGroupRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SeriesToChartGroupRecord.java Fri Oct 31 11:37:16 2008
@@ -68,9 +68,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SharedValueRecordBase.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SharedValueRecordBase.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SharedValueRecordBase.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SharedValueRecordBase.java Fri Oct 31 11:37:16 2008
@@ -67,8 +67,8 @@
 		return (short) _range.getLastColumn();
 	}
 
-	public final int getRecordSize() {
-		return 4 + CellRangeAddress8Bit.ENCODED_SIZE + getExtraDataSize();
+	protected int getDataSize() {
+		return CellRangeAddress8Bit.ENCODED_SIZE + getExtraDataSize();
 	}
 
 	protected abstract int getExtraDataSize();

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SheetPropertiesRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SheetPropertiesRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SheetPropertiesRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SheetPropertiesRecord.java Fri Oct 31 11:37:16 2008
@@ -90,9 +90,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 1;
+    protected int getDataSize() {
+        return 2 + 1;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/StringRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/StringRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/StringRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/StringRecord.java Fri Oct 31 11:37:16 2008
@@ -68,9 +68,8 @@
         return isUnCompressedUnicode() ? field_1_string_length * 2 : field_1_string_length;
     }
 
-    public int getRecordSize()
-    {
-        return 4 + 2 + 1 + getStringByteLength();
+    protected int getDataSize() {
+        return 2 + 1 + getStringByteLength();
     }
 
     /**

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/StyleRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/StyleRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/StyleRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/StyleRecord.java Fri Oct 31 11:37:16 2008
@@ -158,7 +158,7 @@
 	}
 
 	
-	private int getDataSize() {
+	protected int getDataSize() {
 		if (isBuiltin()) {
 			return 4; // short, byte, byte
 		}
@@ -188,10 +188,6 @@
 		return 4+dataSize;
 	}
 
-	public int getRecordSize() {
-		return 4 + getDataSize();
-	}
-
 	public short getSid()
 	{
 		return sid;

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SupBookRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SupBookRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SupBookRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/SupBookRecord.java Fri Oct 31 11:37:16 2008
@@ -138,7 +138,7 @@
         sb.append("]");
         return sb.toString();
     }
-    private int getDataSize() {
+    protected int getDataSize() {
         if(!isExternalReferences()) {
             return SMALL_RECORD_SIZE;
         }
@@ -198,10 +198,6 @@
         return field_1_number_of_sheets;
     }
 
-    public int getRecordSize() {
-        return getDataSize() + 4;
-    }
-
     public short getSid()
     {
         return sid;

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TabIdRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TabIdRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TabIdRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TabIdRecord.java Fri Oct 31 11:37:16 2008
@@ -98,9 +98,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4 + (getTabIdArray().length * 2);
+    protected int getDataSize() {
+        return (getTabIdArray().length * 2);
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TextObjectRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TextObjectRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TextObjectRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TextObjectRecord.java Fri Oct 31 11:37:16 2008
@@ -167,7 +167,7 @@
 	 * Only for the current record. does not include any subsequent Continue
 	 * records
 	 */
-	private int getDataSize() {
+	private int getCurrentRecordDataSize() {
 		int result = 2 + 2 + 2 + 2 + 2 + 2 + 2 + 4;
 		if (_linkRefPtg != null) {
 			result += 2 // formula size
@@ -181,7 +181,7 @@
 	}
 
 	private int serializeTXORecord(int offset, byte[] data) {
-		int dataSize = getDataSize();
+		int dataSize = getCurrentRecordDataSize();
 		int recSize = dataSize+4;
 		LittleEndianOutput out = new LittleEndianByteArrayOutputStream(data, offset, recSize);
 		
@@ -272,10 +272,10 @@
 
 	/**
 	 * Note - this total size includes all potential {@link ContinueRecord}s written
+	 * but it is not the "ushort size" value to be written at the start of the first BIFF record 
 	 */
-	public int getRecordSize() {
-		int baseSize = 4 + getDataSize();
-		return baseSize + getTrailingRecordsSize();
+	protected int getDataSize() {
+		return getCurrentRecordDataSize() + getTrailingRecordsSize();
 	}
 
 	

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TextRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TextRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TextRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TextRecord.java Fri Oct 31 11:37:16 2008
@@ -202,9 +202,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 1 + 1 + 2 + 4 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2;
+    protected int getDataSize() {
+        return 1 + 1 + 2 + 4 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TickRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TickRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TickRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TickRecord.java Fri Oct 31 11:37:16 2008
@@ -149,9 +149,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 1 + 1 + 1 + 1 + 4 + 8 + 8 + 2 + 2 + 2;
+    protected int getDataSize() {
+        return 1 + 1 + 1 + 1 + 4 + 8 + 8 + 2 + 2 + 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TopMarginRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TopMarginRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TopMarginRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/TopMarginRecord.java Fri Oct 31 11:37:16 2008
@@ -55,7 +55,9 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()    {        return 4 + 8;    }
+    protected int getDataSize() {
+        return 8;
+    }
 
     public short getSid()    {        return sid;    }
 
@@ -76,4 +78,4 @@
         rec.field_1_margin = this.field_1_margin;
         return rec;
     }
-}  // END OF CLA
\ No newline at end of file
+}  // END OF C
\ No newline at end of file

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/UncalcedRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/UncalcedRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/UncalcedRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/UncalcedRecord.java Fri Oct 31 11:37:16 2008
@@ -27,14 +27,9 @@
  * 
  * @author Olivier Leprince
  */
+public final class UncalcedRecord extends Record  {
+	public final static short sid = 0x005E;
 
-public class UncalcedRecord extends Record 
-{
-	public final static short sid = 0x5E;
-
-	/**
-	 * Default constructor
-	 */
 	public UncalcedRecord() {
 	}
 
@@ -60,8 +55,8 @@
 		return getRecordSize();
 	}
 
-	public int getRecordSize() {
-		return UncalcedRecord.getStaticRecordSize();
+	protected int getDataSize() {
+		return 2;
 	}
 
 	public static int getStaticRecordSize() {

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/UnitsRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/UnitsRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/UnitsRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/UnitsRecord.java Fri Oct 31 11:37:16 2008
@@ -67,9 +67,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/UnknownRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/UnknownRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/UnknownRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/UnknownRecord.java Fri Oct 31 11:37:16 2008
@@ -87,8 +87,8 @@
 		return 4 + dataSize;
 	}
 
-	public final int getRecordSize() {
-		return 4 + _rawData.length;
+	protected int getDataSize() {
+		return _rawData.length;
 	}
 
 	/**

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/UseSelFSRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/UseSelFSRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/UseSelFSRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/UseSelFSRecord.java Fri Oct 31 11:37:16 2008
@@ -93,9 +93,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/VCenterRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/VCenterRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/VCenterRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/VCenterRecord.java Fri Oct 31 11:37:16 2008
@@ -80,9 +80,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ValueRangeRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ValueRangeRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ValueRangeRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/ValueRangeRecord.java Fri Oct 31 11:37:16 2008
@@ -119,9 +119,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 8 + 8 + 8 + 8 + 8 + 2;
+    protected int getDataSize() {
+        return 8 + 8 + 8 + 8 + 8 + 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WSBoolRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WSBoolRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WSBoolRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WSBoolRecord.java Fri Oct 31 11:37:16 2008
@@ -325,9 +325,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WindowOneRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WindowOneRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WindowOneRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WindowOneRecord.java Fri Oct 31 11:37:16 2008
@@ -439,9 +439,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 22;
+    protected int getDataSize() {
+        return 18;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WindowProtectRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WindowProtectRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WindowProtectRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WindowProtectRecord.java Fri Oct 31 11:37:16 2008
@@ -92,9 +92,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WindowTwoRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WindowTwoRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WindowTwoRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WindowTwoRecord.java Fri Oct 31 11:37:16 2008
@@ -537,9 +537,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 22;
+    protected int getDataSize() {
+        return 18;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WriteAccessRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WriteAccessRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WriteAccessRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WriteAccessRecord.java Fri Oct 31 11:37:16 2008
@@ -133,8 +133,8 @@
 		return 4 + DATA_SIZE;
 	}
 
-	public int getRecordSize() {
-		return 4 + DATA_SIZE;
+	protected int getDataSize() {
+		return DATA_SIZE;
 	}
 
 	public short getSid() {

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WriteProtectRecord.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WriteProtectRecord.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WriteProtectRecord.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/WriteProtectRecord.java Fri Oct 31 11:37:16 2008
@@ -56,9 +56,8 @@
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4;
+    protected int getDataSize() {
+        return 0;
     }
 
     public short getSid()

Modified: poi/branches/ooxml/src/java/org/apache/poi/hssf/record/aggregates/PageSettingsBlock.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/java/org/apache/poi/hssf/record/aggregates/PageSettingsBlock.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/java/org/apache/poi/hssf/record/aggregates/PageSettingsBlock.java (original)
+++ poi/branches/ooxml/src/java/org/apache/poi/hssf/record/aggregates/PageSettingsBlock.java Fri Oct 31 11:37:16 2008
@@ -210,6 +210,15 @@
 			rv.visitRecord(r);
 		}
 	}
+	private static void visitIfPresent(PageBreakRecord r, RecordVisitor rv) {
+		if (r != null) {
+			if (r.isEmpty()) {
+				// its OK to not serialize empty page break records
+				return;
+			}
+			rv.visitRecord(r);
+		}
+	}
 
 	/**
 	 * creates the Header Record and sets it to nothing/0 length

Propchange: poi/branches/ooxml/src/java/org/apache/poi/ss/formula/SheetRefEvaluator.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct 31 11:37:16 2008
@@ -1 +1 @@
-/poi/trunk/src/java/org/apache/poi/ss/formula/SheetRefEvaluator.java:703100-706540,706772-707481,707486-707802,707953-708286,708385-709235
+/poi/trunk/src/java/org/apache/poi/ss/formula/SheetRefEvaluator.java:703100-706540,706772-707481,707486-707802,707953-708286,708385-709235,709263-709317

Modified: poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java (original)
+++ poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java Fri Oct 31 11:37:16 2008
@@ -30,7 +30,6 @@
 import org.apache.poi.hssf.record.NameRecord;
 import org.apache.poi.hssf.record.Record;
 import org.apache.poi.hssf.record.RecordFormatException;
-import org.apache.poi.hssf.record.RecordInputStream;
 import org.apache.poi.hssf.record.formula.Area3DPtg;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.TempFile;
@@ -504,8 +503,8 @@
         public int serialize(int offset, byte[] data) {
             return 4;
         }
-        public int getRecordSize() {
-            return 8;
+        protected int getDataSize() {
+        	return 4;
         }
     }
     

Modified: poi/branches/ooxml/src/testcases/org/apache/poi/hssf/util/TestRKUtil.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/testcases/org/apache/poi/hssf/util/TestRKUtil.java?rev=709526&r1=709525&r2=709526&view=diff
==============================================================================
--- poi/branches/ooxml/src/testcases/org/apache/poi/hssf/util/TestRKUtil.java (original)
+++ poi/branches/ooxml/src/testcases/org/apache/poi/hssf/util/TestRKUtil.java Fri Oct 31 11:37:16 2008
@@ -1,4 +1,3 @@
-
 /* ====================================================================
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
@@ -15,31 +14,38 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
-        
 
 package org.apache.poi.hssf.util;
 
+import junit.framework.AssertionFailedError;
 import junit.framework.TestCase;
 
 /**
- * Tests the RKUtil class.
+ * Tests the {@link RKUtil} class.
  */
-public class TestRKUtil
-        extends TestCase
-{
-    public TestRKUtil(String s)
-    {
-        super(s);
-    }
-
-    /**
-     * Check we can decode correctly.
-     */
-    public void testDecode()
-            throws Exception
-    {
-        assertEquals(3.0, RKUtil.decodeNumber(1074266112), 0.0000001);
-        assertEquals(3.3, RKUtil.decodeNumber(1081384961), 0.0000001);
-        assertEquals(3.33, RKUtil.decodeNumber(1081397249), 0.0000001);
-    }
+public final class TestRKUtil extends TestCase {
+
+	/**
+	 * Check we can decode correctly.
+	 */
+	public void testDecode() {
+
+		int[] values = { 1074266112, 1081384961, 1081397249, 
+				0x3FF00000, 0x405EC001, 0x02F1853A, 0x02F1853B, 0xFCDD699A,
+		};
+		double[] rvalues = { 3.0, 3.3, 3.33,
+				1, 1.23, 12345678, 123456.78, -13149594, 
+		};
+
+		for (int j = 0; j < values.length; j++) {
+
+			int intBits = values[j];
+			double expectedValue = rvalues[j];
+			double actualValue = RKUtil.decodeNumber(intBits);
+			if (expectedValue != actualValue) {
+				throw new AssertionFailedError("0x" + Integer.toHexString(intBits)
+						+ " should decode to " + expectedValue + " but got " + actualValue);
+			}
+		}
+	}
 }



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