You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by av...@apache.org on 2003/03/20 21:01:19 UTC

cvs commit: jakarta-poi/src/testcases/org/apache/poi/hssf/record/aggregates TestFormulaRecordAggregate.java

avik        2003/03/20 12:01:18

  Modified:    src/java/org/apache/poi/hssf/record StringRecord.java
               src/java/org/apache/poi/hssf/record/aggregates
                        FormulaRecordAggregate.java
  Added:       src/testcases/org/apache/poi/hssf/record/aggregates
                        TestFormulaRecordAggregate.java
  Log:
  Add clone() to FormulaRecordAggregate
  Original patch supplied by Henning Boeger
  Changed to make it deeper clone, added clone to StringRecord in the process
  Also added a test.
  
  Revision  Changes    Path
  1.3       +9 -0      jakarta-poi/src/java/org/apache/poi/hssf/record/StringRecord.java
  
  Index: StringRecord.java
  ===================================================================
  RCS file: /home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/StringRecord.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- StringRecord.java	5 Aug 2002 12:53:01 -0000	1.2
  +++ StringRecord.java	20 Mar 2003 20:01:13 -0000	1.3
  @@ -237,5 +237,14 @@
           buffer.append("[/STRING]\n");
           return buffer.toString();
       }
  +    
  +    public Object clone() {
  +        StringRecord rec = new StringRecord();
  +        rec.field_1_string_length = this.field_1_string_length;
  +        rec.field_2_unicode_flag= this.field_2_unicode_flag;
  +        rec.field_3_string = this.field_3_string;
  +        return rec;
  +
  +    }
   
   }
  
  
  
  1.2       +8 -0      jakarta-poi/src/java/org/apache/poi/hssf/record/aggregates/FormulaRecordAggregate.java
  
  Index: FormulaRecordAggregate.java
  ===================================================================
  RCS file: /home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/aggregates/FormulaRecordAggregate.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FormulaRecordAggregate.java	5 Aug 2002 12:54:05 -0000	1.1
  +++ FormulaRecordAggregate.java	20 Mar 2003 20:01:14 -0000	1.2
  @@ -205,6 +205,14 @@
       {
           return formulaRecord.toString();
       }
  +    
  +    /**
  +     * @see java.lang.Object#clone()
  +     */
  +    public Object clone() {
  +        return new FormulaRecordAggregate((FormulaRecord) this.formulaRecord.clone(), (StringRecord) this.stringRecord.clone());
  +    }
  +
   
   
   }
  
  
  
  1.1                  jakarta-poi/src/testcases/org/apache/poi/hssf/record/aggregates/TestFormulaRecordAggregate.java
  
  Index: TestFormulaRecordAggregate.java
  ===================================================================
  /*
   * TestFormulaRecordAggregate.java
   *
   * Created on March 21, 2003, 12:32 AM
   */
  
  package org.apache.poi.hssf.record.aggregates;
  import org.apache.poi.hssf.record.FormulaRecord;
  import org.apache.poi.hssf.record.StringRecord;
  
  /**
   *
   * @author  avik
   */
  public class TestFormulaRecordAggregate extends junit.framework.TestCase {
      
      /** Creates a new instance of TestFormulaRecordAggregate */
      public TestFormulaRecordAggregate(String arg) {
          super(arg);
      }
      
      public void testClone() {
          FormulaRecord f = new FormulaRecord();
          StringRecord s = new StringRecord();
          FormulaRecordAggregate fagg = new FormulaRecordAggregate(f,s);
          FormulaRecordAggregate newFagg = (FormulaRecordAggregate) fagg.clone();
          assertTrue("objects are different", fagg!=newFagg);
          assertTrue("deep clone", fagg.getFormulaRecord() != newFagg.getFormulaRecord());
          assertTrue("deep clone",  fagg.getStringRecord() != newFagg.getStringRecord());
  
          
      }
      
  }