glens       02/03/25 02:08:16

  Modified:    src/java/org/apache/poi/hssf/record AreaRecord.java
                        AxisRecord.java BarRecord.java
                        CategorySeriesAxisRecord.java ChartRecord.java
                        DatRecord.java DataFormatRecord.java
                        DefaultDataLabelTextPropertiesRecord.java
                        FontBasisRecord.java FontIndexRecord.java
                        FrameRecord.java LegendRecord.java
                        NumberFormatIndexRecord.java PlotGrowthRecord.java
                        SeriesListRecord.java SeriesRecord.java
                        UnitsRecord.java ValueRangeRecord.java
  Added:       src/java/org/apache/poi/hssf/record AreaFormatRecord.java
               src/records/definitions area_format_record.xml
               src/testcases/org/apache/poi/hssf/record
                        TestAreaFormatRecord.java
  Log:
  Area format record
  
  Revision  Changes    Path
  1.3       +1 -1      jakarta-poi/src/java/org/apache/poi/hssf/record/AreaRecord.java
  
  Index: AreaRecord.java
  ===================================================================
  RCS file: /home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/AreaRecord.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AreaRecord.java   11 Feb 2002 04:23:09 -0000      1.2
  +++ AreaRecord.java   25 Mar 2002 10:08:15 -0000      1.3
  @@ -129,7 +129,7 @@
   
       protected void fillFields(byte [] data, short size, int offset)
       {
  -        field_1_formatFlags             = LittleEndian.getShort(data, 0 + offset);
  +        field_1_formatFlags             = LittleEndian.getShort(data, 0x0 + offset);
   
       }
   
  
  
  
  1.2       +5 -5      jakarta-poi/src/java/org/apache/poi/hssf/record/AxisRecord.java
  
  Index: AxisRecord.java
  ===================================================================
  RCS file: /home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/AxisRecord.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AxisRecord.java   18 Mar 2002 11:30:36 -0000      1.1
  +++ AxisRecord.java   25 Mar 2002 10:08:15 -0000      1.2
  @@ -133,11 +133,11 @@
   
       protected void fillFields(byte [] data, short size, int offset)
       {
  -        field_1_axisType                = LittleEndian.getShort(data, 0 + offset);
  -        field_2_reserved1               = LittleEndian.getInt(data, 2 + offset);
  -        field_3_reserved2               = LittleEndian.getInt(data, 6 + offset);
  -        field_4_reserved3               = LittleEndian.getInt(data, 10 + offset);
  -        field_5_reserved4               = LittleEndian.getInt(data, 14 + offset);
  +        field_1_axisType                = LittleEndian.getShort(data, 0x0 + offset);
  +        field_2_reserved1               = LittleEndian.getInt(data, 0x2 + offset);
  +        field_3_reserved2               = LittleEndian.getInt(data, 0x6 + offset);
  +        field_4_reserved3               = LittleEndian.getInt(data, 0xa + offset);
  +        field_5_reserved4               = LittleEndian.getInt(data, 0xe + offset);
   
       }
   
  
  
  
  1.3       +3 -3      jakarta-poi/src/java/org/apache/poi/hssf/record/BarRecord.java
  
  Index: BarRecord.java
  ===================================================================
  RCS file: /home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/BarRecord.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- BarRecord.java    11 Feb 2002 04:23:09 -0000      1.2
  +++ BarRecord.java    25 Mar 2002 10:08:15 -0000      1.3
  @@ -133,9 +133,9 @@
   
       protected void fillFields(byte [] data, short size, int offset)
       {
  -        field_1_barSpace                = LittleEndian.getShort(data, 0 + offset);
  -        field_2_categorySpace           = LittleEndian.getShort(data, 2 + offset);
  -        field_3_formatFlags             = LittleEndian.getShort(data, 4 + offset);
  +        field_1_barSpace                = LittleEndian.getShort(data, 0x0 + offset);
  +        field_2_categorySpace           = LittleEndian.getShort(data, 0x2 + offset);
  +        field_3_formatFlags             = LittleEndian.getShort(data, 0x4 + offset);
   
       }
   
  
  
  
  1.2       +4 -4      
jakarta-poi/src/java/org/apache/poi/hssf/record/CategorySeriesAxisRecord.java
  
  Index: CategorySeriesAxisRecord.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/CategorySeriesAxisRecord.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CategorySeriesAxisRecord.java     18 Mar 2002 11:03:55 -0000      1.1
  +++ CategorySeriesAxisRecord.java     25 Mar 2002 10:08:15 -0000      1.2
  @@ -132,10 +132,10 @@
   
       protected void fillFields(byte [] data, short size, int offset)
       {
  -        field_1_crossingPoint           = LittleEndian.getShort(data, 0 + offset);
  -        field_2_labelFrequency          = LittleEndian.getShort(data, 2 + offset);
  -        field_3_tickMarkFrequency       = LittleEndian.getShort(data, 4 + offset);
  -        field_4_options                 = LittleEndian.getShort(data, 6 + offset);
  +        field_1_crossingPoint           = LittleEndian.getShort(data, 0x0 + offset);
  +        field_2_labelFrequency          = LittleEndian.getShort(data, 0x2 + offset);
  +        field_3_tickMarkFrequency       = LittleEndian.getShort(data, 0x4 + offset);
  +        field_4_options                 = LittleEndian.getShort(data, 0x6 + offset);
   
       }
   
  
  
  
  1.5       +4 -4      jakarta-poi/src/java/org/apache/poi/hssf/record/ChartRecord.java
  
  Index: ChartRecord.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/ChartRecord.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ChartRecord.java  9 Mar 2002 12:41:12 -0000       1.4
  +++ ChartRecord.java  25 Mar 2002 10:08:15 -0000      1.5
  @@ -129,10 +129,10 @@
   
       protected void fillFields(byte [] data, short size, int offset)
       {
  -        field_1_x                       = LittleEndian.getInt(data, 0 + offset);
  -        field_2_y                       = LittleEndian.getInt(data, 4 + offset);
  -        field_3_width                   = LittleEndian.getInt(data, 8 + offset);
  -        field_4_height                  = LittleEndian.getInt(data, 12 + offset);
  +        field_1_x                       = LittleEndian.getInt(data, 0x0 + offset);
  +        field_2_y                       = LittleEndian.getInt(data, 0x4 + offset);
  +        field_3_width                   = LittleEndian.getInt(data, 0x8 + offset);
  +        field_4_height                  = LittleEndian.getInt(data, 0xc + offset);
   
       }
   
  
  
  
  1.3       +1 -1      jakarta-poi/src/java/org/apache/poi/hssf/record/DatRecord.java
  
  Index: DatRecord.java
  ===================================================================
  RCS file: /home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/DatRecord.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DatRecord.java    11 Feb 2002 04:23:09 -0000      1.2
  +++ DatRecord.java    25 Mar 2002 10:08:15 -0000      1.3
  @@ -130,7 +130,7 @@
   
       protected void fillFields(byte [] data, short size, int offset)
       {
  -        field_1_options                 = LittleEndian.getShort(data, 0 + offset);
  +        field_1_options                 = LittleEndian.getShort(data, 0x0 + offset);
   
       }
   
  
  
  
  1.3       +4 -4      
jakarta-poi/src/java/org/apache/poi/hssf/record/DataFormatRecord.java
  
  Index: DataFormatRecord.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/DataFormatRecord.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DataFormatRecord.java     11 Feb 2002 04:23:09 -0000      1.2
  +++ DataFormatRecord.java     25 Mar 2002 10:08:15 -0000      1.3
  @@ -130,10 +130,10 @@
   
       protected void fillFields(byte [] data, short size, int offset)
       {
  -        field_1_pointNumber             = LittleEndian.getShort(data, 0 + offset);
  -        field_2_seriesIndex             = LittleEndian.getShort(data, 2 + offset);
  -        field_3_seriesNumber            = LittleEndian.getShort(data, 4 + offset);
  -        field_4_formatFlags             = LittleEndian.getShort(data, 6 + offset);
  +        field_1_pointNumber             = LittleEndian.getShort(data, 0x0 + offset);
  +        field_2_seriesIndex             = LittleEndian.getShort(data, 0x2 + offset);
  +        field_3_seriesNumber            = LittleEndian.getShort(data, 0x4 + offset);
  +        field_4_formatFlags             = LittleEndian.getShort(data, 0x6 + offset);
   
       }
   
  
  
  
  1.2       +1 -1      
jakarta-poi/src/java/org/apache/poi/hssf/record/DefaultDataLabelTextPropertiesRecord.java
  
  Index: DefaultDataLabelTextPropertiesRecord.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/DefaultDataLabelTextPropertiesRecord.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultDataLabelTextPropertiesRecord.java 9 Mar 2002 12:23:36 -0000       1.1
  +++ DefaultDataLabelTextPropertiesRecord.java 25 Mar 2002 10:08:15 -0000      1.2
  @@ -129,7 +129,7 @@
   
       protected void fillFields(byte [] data, short size, int offset)
       {
  -        field_1_categoryDataType        = LittleEndian.getShort(data, 0 + offset);
  +        field_1_categoryDataType        = LittleEndian.getShort(data, 0x0 + offset);
   
       }
   
  
  
  
  1.2       +5 -5      
jakarta-poi/src/java/org/apache/poi/hssf/record/FontBasisRecord.java
  
  Index: FontBasisRecord.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/FontBasisRecord.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FontBasisRecord.java      9 Mar 2002 11:13:27 -0000       1.1
  +++ FontBasisRecord.java      25 Mar 2002 10:08:15 -0000      1.2
  @@ -130,11 +130,11 @@
   
       protected void fillFields(byte [] data, short size, int offset)
       {
  -        field_1_xBasis                  = LittleEndian.getShort(data, 0 + offset);
  -        field_2_yBasis                  = LittleEndian.getShort(data, 2 + offset);
  -        field_3_heightBasis             = LittleEndian.getShort(data, 4 + offset);
  -        field_4_scale                   = LittleEndian.getShort(data, 6 + offset);
  -        field_5_indexToFontTable        = LittleEndian.getShort(data, 8 + offset);
  +        field_1_xBasis                  = LittleEndian.getShort(data, 0x0 + offset);
  +        field_2_yBasis                  = LittleEndian.getShort(data, 0x2 + offset);
  +        field_3_heightBasis             = LittleEndian.getShort(data, 0x4 + offset);
  +        field_4_scale                   = LittleEndian.getShort(data, 0x6 + offset);
  +        field_5_indexToFontTable        = LittleEndian.getShort(data, 0x8 + offset);
   
       }
   
  
  
  
  1.2       +1 -1      
jakarta-poi/src/java/org/apache/poi/hssf/record/FontIndexRecord.java
  
  Index: FontIndexRecord.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/FontIndexRecord.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FontIndexRecord.java      9 Mar 2002 11:13:27 -0000       1.1
  +++ FontIndexRecord.java      25 Mar 2002 10:08:15 -0000      1.2
  @@ -126,7 +126,7 @@
   
       protected void fillFields(byte [] data, short size, int offset)
       {
  -        field_1_fontIndex               = LittleEndian.getShort(data, 0 + offset);
  +        field_1_fontIndex               = LittleEndian.getShort(data, 0x0 + offset);
   
       }
   
  
  
  
  1.4       +2 -2      jakarta-poi/src/java/org/apache/poi/hssf/record/FrameRecord.java
  
  Index: FrameRecord.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/FrameRecord.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- FrameRecord.java  4 Mar 2002 00:05:33 -0000       1.3
  +++ FrameRecord.java  25 Mar 2002 10:08:15 -0000      1.4
  @@ -131,8 +131,8 @@
   
       protected void fillFields(byte [] data, short size, int offset)
       {
  -        field_1_borderType              = LittleEndian.getShort(data, 0 + offset);
  -        field_2_options                 = LittleEndian.getShort(data, 2 + offset);
  +        field_1_borderType              = LittleEndian.getShort(data, 0x0 + offset);
  +        field_2_options                 = LittleEndian.getShort(data, 0x2 + offset);
   
       }
   
  
  
  
  1.4       +7 -7      
jakarta-poi/src/java/org/apache/poi/hssf/record/LegendRecord.java
  
  Index: LegendRecord.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/LegendRecord.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- LegendRecord.java 4 Mar 2002 00:05:33 -0000       1.3
  +++ LegendRecord.java 25 Mar 2002 10:08:15 -0000      1.4
  @@ -147,13 +147,13 @@
   
       protected void fillFields(byte [] data, short size, int offset)
       {
  -        field_1_xPosition               = LittleEndian.getInt(data, 0 + offset);
  -        field_2_yPosition               = LittleEndian.getInt(data, 4 + offset);
  -        field_3_xSize                   = LittleEndian.getInt(data, 8 + offset);
  -        field_4_ySize                   = LittleEndian.getInt(data, 12 + offset);
  -        field_5_type                    = data[ 16 + offset ];
  -        field_6_spacing                 = data[ 17 + offset ];
  -        field_7_options                 = LittleEndian.getShort(data, 18 + offset);
  +        field_1_xPosition               = LittleEndian.getInt(data, 0x0 + offset);
  +        field_2_yPosition               = LittleEndian.getInt(data, 0x4 + offset);
  +        field_3_xSize                   = LittleEndian.getInt(data, 0x8 + offset);
  +        field_4_ySize                   = LittleEndian.getInt(data, 0xc + offset);
  +        field_5_type                    = data[ 0x10 + offset ];
  +        field_6_spacing                 = data[ 0x11 + offset ];
  +        field_7_options                 = LittleEndian.getShort(data, 0x12 + 
offset);
   
       }
   
  
  
  
  1.2       +1 -1      
jakarta-poi/src/java/org/apache/poi/hssf/record/NumberFormatIndexRecord.java
  
  Index: NumberFormatIndexRecord.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/NumberFormatIndexRecord.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- NumberFormatIndexRecord.java      9 Mar 2002 12:06:55 -0000       1.1
  +++ NumberFormatIndexRecord.java      25 Mar 2002 10:08:15 -0000      1.2
  @@ -126,7 +126,7 @@
   
       protected void fillFields(byte [] data, short size, int offset)
       {
  -        field_1_formatIndex             = LittleEndian.getShort(data, 0 + offset);
  +        field_1_formatIndex             = LittleEndian.getShort(data, 0x0 + offset);
   
       }
   
  
  
  
  1.3       +2 -2      
jakarta-poi/src/java/org/apache/poi/hssf/record/PlotGrowthRecord.java
  
  Index: PlotGrowthRecord.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/PlotGrowthRecord.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PlotGrowthRecord.java     11 Feb 2002 04:23:09 -0000      1.2
  +++ PlotGrowthRecord.java     25 Mar 2002 10:08:15 -0000      1.3
  @@ -127,8 +127,8 @@
   
       protected void fillFields(byte [] data, short size, int offset)
       {
  -        field_1_horizontalScale         = LittleEndian.getInt(data, 0 + offset);
  -        field_2_verticalScale           = LittleEndian.getInt(data, 4 + offset);
  +        field_1_horizontalScale         = LittleEndian.getInt(data, 0x0 + offset);
  +        field_2_verticalScale           = LittleEndian.getInt(data, 0x4 + offset);
   
       }
   
  
  
  
  1.2       +1 -1      
jakarta-poi/src/java/org/apache/poi/hssf/record/SeriesListRecord.java
  
  Index: SeriesListRecord.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/SeriesListRecord.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SeriesListRecord.java     8 Mar 2002 15:07:30 -0000       1.1
  +++ SeriesListRecord.java     25 Mar 2002 10:08:15 -0000      1.2
  @@ -126,7 +126,7 @@
   
       protected void fillFields(byte [] data, short size, int offset)
       {
  -        field_1_seriesNumbers           = LittleEndian.getShortArray(data, 0 + 
offset);
  +        field_1_seriesNumbers           = LittleEndian.getShortArray(data, 0x0 + 
offset);
   
       }
   
  
  
  
  1.5       +6 -6      
jakarta-poi/src/java/org/apache/poi/hssf/record/SeriesRecord.java
  
  Index: SeriesRecord.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/SeriesRecord.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SeriesRecord.java 4 Mar 2002 00:05:33 -0000       1.4
  +++ SeriesRecord.java 25 Mar 2002 10:08:15 -0000      1.5
  @@ -143,12 +143,12 @@
   
       protected void fillFields(byte [] data, short size, int offset)
       {
  -        field_1_categoryDataType        = LittleEndian.getShort(data, 0 + offset);
  -        field_2_valuesDataType          = LittleEndian.getShort(data, 2 + offset);
  -        field_3_numCategories           = LittleEndian.getShort(data, 4 + offset);
  -        field_4_numValues               = LittleEndian.getShort(data, 6 + offset);
  -        field_5_bubbleSeriesType        = LittleEndian.getShort(data, 8 + offset);
  -        field_6_numBubbleValues         = LittleEndian.getShort(data, 10 + offset);
  +        field_1_categoryDataType        = LittleEndian.getShort(data, 0x0 + offset);
  +        field_2_valuesDataType          = LittleEndian.getShort(data, 0x2 + offset);
  +        field_3_numCategories           = LittleEndian.getShort(data, 0x4 + offset);
  +        field_4_numValues               = LittleEndian.getShort(data, 0x6 + offset);
  +        field_5_bubbleSeriesType        = LittleEndian.getShort(data, 0x8 + offset);
  +        field_6_numBubbleValues         = LittleEndian.getShort(data, 0xa + offset);
   
       }
   
  
  
  
  1.2       +1 -1      jakarta-poi/src/java/org/apache/poi/hssf/record/UnitsRecord.java
  
  Index: UnitsRecord.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/UnitsRecord.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- UnitsRecord.java  10 Feb 2002 05:10:09 -0000      1.1
  +++ UnitsRecord.java  25 Mar 2002 10:08:15 -0000      1.2
  @@ -126,7 +126,7 @@
   
       protected void fillFields(byte [] data, short size, int offset)
       {
  -        field_1_units                   = LittleEndian.getShort(data, 0 + offset);
  +        field_1_units                   = LittleEndian.getShort(data, 0x0 + offset);
   
       }
   
  
  
  
  1.2       +6 -6      
jakarta-poi/src/java/org/apache/poi/hssf/record/ValueRangeRecord.java
  
  Index: ValueRangeRecord.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/ValueRangeRecord.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ValueRangeRecord.java     4 Mar 2002 00:05:33 -0000       1.1
  +++ ValueRangeRecord.java     25 Mar 2002 10:08:15 -0000      1.2
  @@ -140,12 +140,12 @@
   
       protected void fillFields(byte [] data, short size, int offset)
       {
  -        field_1_minimumAxisValue        = LittleEndian.getDouble(data, 0 + offset);
  -        field_2_maximumAxisValue        = LittleEndian.getDouble(data, 8 + offset);
  -        field_3_majorIncrement          = LittleEndian.getDouble(data, 16 + offset);
  -        field_4_minorIncrement          = LittleEndian.getDouble(data, 24 + offset);
  -        field_5_categoryAxisCross       = LittleEndian.getDouble(data, 32 + offset);
  -        field_6_options                 = LittleEndian.getShort(data, 40 + offset);
  +        field_1_minimumAxisValue        = LittleEndian.getDouble(data, 0x0 + 
offset);
  +        field_2_maximumAxisValue        = LittleEndian.getDouble(data, 0x8 + 
offset);
  +        field_3_majorIncrement          = LittleEndian.getDouble(data, 0x10 + 
offset);
  +        field_4_minorIncrement          = LittleEndian.getDouble(data, 0x18 + 
offset);
  +        field_5_categoryAxisCross       = LittleEndian.getDouble(data, 0x20 + 
offset);
  +        field_6_options                 = LittleEndian.getShort(data, 0x28 + 
offset);
   
       }
   
  
  
  
  1.1                  
jakarta-poi/src/java/org/apache/poi/hssf/record/AreaFormatRecord.java
  
  Index: AreaFormatRecord.java
  ===================================================================
  
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2002 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache POI" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache POI", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  
  package org.apache.poi.hssf.record;
  
  
  
  import org.apache.poi.util.BitField;
  import org.apache.poi.util.LittleEndian;
  import org.apache.poi.util.StringUtil;
  import org.apache.poi.util.HexDump;
  
  /**
   * The area format record is used to define the colours and patterns for an area.
   * NOTE: This source is automatically generated please do not modify this file.  
Either subclass or
   *       remove the record in src/records/definitions.
  
   * @author Glen Stampoultzis (glens at apache.org)
   */
  public class AreaFormatRecord
      extends Record
  {
      public final static short      sid                             = 0x100a;
      private  int        field_1_foregroundColor;
      private  int        field_2_backgroundColor;
      private  short      field_3_pattern;
      private  short      field_4_formatFlags;
      private BitField   automatic                                  = new 
BitField(0x1);
      private BitField   invert                                     = new 
BitField(0x2);
      private  short      field_5_forecolorIndex;
      private  short      field_6_backcolorIndex;
  
  
      public AreaFormatRecord()
      {
  
      }
  
      /**
       * Constructs a AreaFormat record and sets its fields appropriately.
       *
       * @param id    id must be 0x100a or an exception
       *              will be throw upon validation
       * @param size  size the size of the data area of the record
       * @param data  data of the record (should not contain sid/len)
       */
  
      public AreaFormatRecord(short id, short size, byte [] data)
      {
          super(id, size, data);
      }
  
      /**
       * Constructs a AreaFormat record and sets its fields appropriately.
       *
       * @param id    id must be 0x100a or an exception
       *              will be throw upon validation
       * @param size  size the size of the data area of the record
       * @param data  data of the record (should not contain sid/len)
       * @param offset of the record's data
       */
  
      public AreaFormatRecord(short id, short size, byte [] data, int offset)
      {
          super(id, size, data, offset);
      }
  
      /**
       * Checks the sid matches the expected side for this record
       *
       * @param id   the expected sid.
       */
      protected void validateSid(short id)
      {
          if (id != sid)
          {
              throw new RecordFormatException("Not a AreaFormat record");
          }
      }
  
      protected void fillFields(byte [] data, short size, int offset)
      {
          field_1_foregroundColor         = LittleEndian.getInt(data, 0x0 + offset);
          field_2_backgroundColor         = LittleEndian.getInt(data, 0x4 + offset);
          field_3_pattern                 = LittleEndian.getShort(data, 0x8 + offset);
          field_4_formatFlags             = LittleEndian.getShort(data, 0xa + offset);
          field_5_forecolorIndex          = LittleEndian.getShort(data, 0xc + offset);
          field_6_backcolorIndex          = LittleEndian.getShort(data, 0xe + offset);
  
      }
  
      public String toString()
      {
          StringBuffer buffer = new StringBuffer();
  
          buffer.append("[AreaFormat]\n");
  
          buffer.append("    .foregroundColor      = ")
              .append("0x")
              .append(HexDump.toHex((int)getForegroundColor()))
              .append(" (").append(getForegroundColor()).append(" )\n");
  
          buffer.append("    .backgroundColor      = ")
              .append("0x")
              .append(HexDump.toHex((int)getBackgroundColor()))
              .append(" (").append(getBackgroundColor()).append(" )\n");
  
          buffer.append("    .pattern              = ")
              .append("0x")
              .append(HexDump.toHex((short)getPattern()))
              .append(" (").append(getPattern()).append(" )\n");
  
          buffer.append("    .formatFlags          = ")
              .append("0x")
              .append(HexDump.toHex((short)getFormatFlags()))
              .append(" (").append(getFormatFlags()).append(" )\n");
          buffer.append("         .automatic                = ").append(isAutomatic    
       ()).append('\n');
          buffer.append("         .invert                   = ").append(isInvert       
       ()).append('\n');
  
          buffer.append("    .forecolorIndex       = ")
              .append("0x")
              .append(HexDump.toHex((short)getForecolorIndex()))
              .append(" (").append(getForecolorIndex()).append(" )\n");
  
          buffer.append("    .backcolorIndex       = ")
              .append("0x")
              .append(HexDump.toHex((short)getBackcolorIndex()))
              .append(" (").append(getBackcolorIndex()).append(" )\n");
  
          buffer.append("[/AreaFormat]\n");
          return buffer.toString();
      }
  
      public int serialize(int offset, byte[] data)
      {
          LittleEndian.putShort(data, 0 + offset, sid);
          LittleEndian.putShort(data, 2 + offset, (short)(getRecordSize() - 4));
  
          LittleEndian.putInt(data, 4 + offset, field_1_foregroundColor);
          LittleEndian.putInt(data, 8 + offset, field_2_backgroundColor);
          LittleEndian.putShort(data, 12 + offset, field_3_pattern);
          LittleEndian.putShort(data, 14 + offset, field_4_formatFlags);
          LittleEndian.putShort(data, 16 + offset, field_5_forecolorIndex);
          LittleEndian.putShort(data, 18 + offset, field_6_backcolorIndex);
  
          return getRecordSize();
      }
  
      /**
       * Size of record (exluding 4 byte header)
       */
      public int getRecordSize()
      {
          return 4 + 4 + 4 + 2 + 2 + 2 + 2;
      }
  
      public short getSid()
      {
          return this.sid;
      }
  
  
      /**
       * Get the foreground color field for the AreaFormat record.
       */
      public int getForegroundColor()
      {
          return field_1_foregroundColor;
      }
  
      /**
       * Set the foreground color field for the AreaFormat record.
       */
      public void setForegroundColor(int field_1_foregroundColor)
      {
          this.field_1_foregroundColor = field_1_foregroundColor;
      }
  
      /**
       * Get the background color field for the AreaFormat record.
       */
      public int getBackgroundColor()
      {
          return field_2_backgroundColor;
      }
  
      /**
       * Set the background color field for the AreaFormat record.
       */
      public void setBackgroundColor(int field_2_backgroundColor)
      {
          this.field_2_backgroundColor = field_2_backgroundColor;
      }
  
      /**
       * Get the pattern field for the AreaFormat record.
       */
      public short getPattern()
      {
          return field_3_pattern;
      }
  
      /**
       * Set the pattern field for the AreaFormat record.
       */
      public void setPattern(short field_3_pattern)
      {
          this.field_3_pattern = field_3_pattern;
      }
  
      /**
       * Get the format flags field for the AreaFormat record.
       */
      public short getFormatFlags()
      {
          return field_4_formatFlags;
      }
  
      /**
       * Set the format flags field for the AreaFormat record.
       */
      public void setFormatFlags(short field_4_formatFlags)
      {
          this.field_4_formatFlags = field_4_formatFlags;
      }
  
      /**
       * Get the forecolor index field for the AreaFormat record.
       */
      public short getForecolorIndex()
      {
          return field_5_forecolorIndex;
      }
  
      /**
       * Set the forecolor index field for the AreaFormat record.
       */
      public void setForecolorIndex(short field_5_forecolorIndex)
      {
          this.field_5_forecolorIndex = field_5_forecolorIndex;
      }
  
      /**
       * Get the backcolor index field for the AreaFormat record.
       */
      public short getBackcolorIndex()
      {
          return field_6_backcolorIndex;
      }
  
      /**
       * Set the backcolor index field for the AreaFormat record.
       */
      public void setBackcolorIndex(short field_6_backcolorIndex)
      {
          this.field_6_backcolorIndex = field_6_backcolorIndex;
      }
  
      /**
       * Sets the automatic field value.
       * automatic formatting
       */
      public void setAutomatic(boolean value)
      {
          field_4_formatFlags = automatic.setShortBoolean(field_4_formatFlags, value);
      }
  
      /**
       * automatic formatting
       * @return  the automatic field value.
       */
      public boolean isAutomatic()
      {
          return automatic.isSet(field_4_formatFlags);
      }
  
      /**
       * Sets the invert field value.
       * swap foreground and background colours when data is negative
       */
      public void setInvert(boolean value)
      {
          field_4_formatFlags = invert.setShortBoolean(field_4_formatFlags, value);
      }
  
      /**
       * swap foreground and background colours when data is negative
       * @return  the invert field value.
       */
      public boolean isInvert()
      {
          return invert.isSet(field_4_formatFlags);
      }
  
  
  }  // END OF CLASS
  
  
  
  
  
  
  
  1.1                  jakarta-poi/src/records/definitions/area_format_record.xml
  
  Index: area_format_record.xml
  ===================================================================
  <record id="0x100a" name="AreaFormat" package="org.apache.poi.hssf.record">
      <suffix>Record</suffix>
      <extends>Record</extends>
      <description>The area format record is used to define the colours and patterns 
for an area.</description>
      <author>Glen Stampoultzis (glens at apache.org)</author>
      <fields>
          <field type="int" size="4" name="foreground color" description="foreground 
color in RGB"/>
          <field type="int" size="4" name="background color" description="background 
color in RGB"/>
          <field type="int" size="2" name="pattern" description="fill pattern"/>
          <field type="int" size="2" name="format flags">
              <bit number="0" name="automatic" description="automatic formatting"/>
              <bit number="1" name="invert" description="swap foreground and 
background colours when data is negative"/>
          </field>
          <field type="int" size="2" name="forecolor index" description="index to 
foreground color"/>
          <field type="int" size="2" name="backcolor index" description="index to 
background color"/>
      </fields>
  </record>
  
  
  
  1.1                  
jakarta-poi/src/testcases/org/apache/poi/hssf/record/TestAreaFormatRecord.java
  
  Index: TestAreaFormatRecord.java
  ===================================================================
  
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2002 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache POI" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache POI", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  
  package org.apache.poi.hssf.record;
  
  
  import junit.framework.TestCase;
  
  /**
   * Tests the serialization and deserialization of the AreaFormatRecord
   * class works correctly.  Test data taken directly from a real
   * Excel file.
   *
  
   * @author Glen Stampoultzis (glens at apache.org)
   */
  public class TestAreaFormatRecord
          extends TestCase
  {
      byte[] data = new byte[] {
          (byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0x00,    // forecolor
          (byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,    // backcolor
          (byte)0x01,(byte)0x00,                          // pattern
          (byte)0x01,(byte)0x00,                          // format
          (byte)0x4E,(byte)0x00,                          // forecolor index
          (byte)0x4D,(byte)0x00                           // backcolor index
  
      };
  
      public TestAreaFormatRecord(String name)
      {
          super(name);
      }
  
      public void testLoad()
              throws Exception
      {
  
          AreaFormatRecord record = new AreaFormatRecord((short)0x100a, 
(short)data.length, data);
          assertEquals( 0xFFFFFF, record.getForegroundColor());
          assertEquals( 0x000000, record.getBackgroundColor());
          assertEquals( 1, record.getPattern());
          assertEquals( 1, record.getFormatFlags());
          assertEquals( true, record.isAutomatic() );
          assertEquals( false, record.isInvert() );
          assertEquals( 0x4e, record.getForecolorIndex());
          assertEquals( 0x4d, record.getBackcolorIndex());
  
  
          assertEquals( 20, record.getRecordSize() );
  
          record.validateSid((short)0x100a);
      }
  
      public void testStore()
      {
          AreaFormatRecord record = new AreaFormatRecord();
          record.setForegroundColor( 0xFFFFFF );
          record.setBackgroundColor( 0x000000 );
          record.setPattern( (short)1 );
          record.setAutomatic( true );
          record.setInvert( false );
          record.setForecolorIndex( (short)0x4e );
          record.setBackcolorIndex( (short)0x4d );
  
  
          byte [] recordBytes = record.serialize();
          assertEquals(recordBytes.length - 4, data.length);
          for (int i = 0; i < data.length; i++)
              assertEquals("At offset " + i, data[i], recordBytes[i+4]);
      }
  }
  
  
  


Reply via email to