dmui        2003/11/17 13:32:11

  Modified:    src/testcases/org/apache/poi/hssf/record Tag: REL_2_BRANCH
                        TestMergeCellsRecord.java
               src/java/org/apache/poi/hssf/record Tag: REL_2_BRANCH
                        MergeCellsRecord.java
  Log:
  Really clone the merged regions...Thanks to Jason for pointing this out.
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.1.2.2   +11 -0     
jakarta-poi/src/testcases/org/apache/poi/hssf/record/TestMergeCellsRecord.java
  
  Index: TestMergeCellsRecord.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/testcases/org/apache/poi/hssf/record/TestMergeCellsRecord.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- TestMergeCellsRecord.java 17 Nov 2003 21:10:35 -0000      1.1.2.1
  +++ TestMergeCellsRecord.java 17 Nov 2003 21:32:10 -0000      1.1.2.2
  @@ -56,6 +56,8 @@
   
   import junit.framework.TestCase;
   
  +import org.apache.poi.hssf.record.MergeCellsRecord.MergedRegion;
  +
   /**
    * Make sure the merge cells record behaves
    * @author Danny Mui (dmui at apache dot org)
  @@ -73,6 +75,15 @@
         MergeCellsRecord clone = (MergeCellsRecord)merge.clone();
         
         assertNotSame("Merged and cloned objects are the same", merge, clone);
  +      
  +      MergedRegion mergeRegion = merge.getAreaAt(0);
  +      MergedRegion cloneRegion = clone.getAreaAt(0);
  +      assertNotSame("Should not point to same objects when cloning", mergeRegion, 
cloneRegion);
  +      assertEquals("New Clone Row From doesnt match", mergeRegion.row_from, 
cloneRegion.row_from);
  +      assertEquals("New Clone Row To doesnt match", mergeRegion.row_to, 
cloneRegion.row_to);
  +      assertEquals("New Clone Col From doesnt match", mergeRegion.col_from, 
cloneRegion.col_from);
  +      assertEquals("New Clone Col To doesnt match", mergeRegion.col_to, 
cloneRegion.col_to);      
  +      
         merge.removeAreaAt(0);
         assertNotNull("Clone's item not removed", clone.getAreaAt(0));
      }
  
  
  
  No                   revision
  No                   revision
  1.6.2.2   +7 -1      
jakarta-poi/src/java/org/apache/poi/hssf/record/MergeCellsRecord.java
  
  Index: MergeCellsRecord.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/MergeCellsRecord.java,v
  retrieving revision 1.6.2.1
  retrieving revision 1.6.2.2
  diff -u -r1.6.2.1 -r1.6.2.2
  --- MergeCellsRecord.java     17 Nov 2003 21:10:35 -0000      1.6.2.1
  +++ MergeCellsRecord.java     17 Nov 2003 21:32:11 -0000      1.6.2.2
  @@ -56,6 +56,7 @@
   package org.apache.poi.hssf.record;
   
   import java.util.ArrayList;
  +import java.util.Iterator;
   
   import org.apache.poi.util.LittleEndian;
   
  @@ -327,7 +328,12 @@
           MergeCellsRecord rec = new MergeCellsRecord();
           rec.field_1_num_areas = field_1_num_areas;
           rec.field_2_regions = new ArrayList();
  -        rec.field_2_regions.addAll(field_2_regions);
  +        Iterator iterator = field_2_regions.iterator();
  +        while (iterator.hasNext()) {
  +           MergedRegion oldRegion = (MergedRegion)iterator.next();
  +           rec.addArea(oldRegion.row_from, oldRegion.col_from, oldRegion.row_to, 
oldRegion.col_to);
  +        }
  +        
           return rec;
       }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to