You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by dm...@apache.org on 2003/06/28 02:21:47 UTC

cvs commit: jakarta-poi/src/java/org/apache/poi/hssf/record/formula ExpPtg.java

dmui        2003/06/27 17:21:47

  Modified:    src/java/org/apache/poi/hssf/record Tag: REL_2_BRANCH
                        FormulaRecord.java
               src/java/org/apache/poi/hssf/record/aggregates Tag:
                        REL_2_BRANCH FormulaRecordAggregate.java
               src/java/org/apache/poi/hssf/record/formula Tag:
                        REL_2_BRANCH ExpPtg.java
  Log:
  SharedFormula clone patch that was already applied to HEAD
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.20.2.1  +2 -2      jakarta-poi/src/java/org/apache/poi/hssf/record/FormulaRecord.java
  
  Index: FormulaRecord.java
  ===================================================================
  RCS file: /home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/FormulaRecord.java,v
  retrieving revision 1.20
  retrieving revision 1.20.2.1
  diff -u -r1.20 -r1.20.2.1
  --- FormulaRecord.java	6 May 2003 13:08:08 -0000	1.20
  +++ FormulaRecord.java	28 Jun 2003 00:21:47 -0000	1.20.2.1
  @@ -607,8 +607,8 @@
         if (field_8_parsed_expr != null)
           size = field_8_parsed_expr.size();
         for (int i=0; i< size; i++) {
  -        Ptg ptg = (Ptg)((Ptg)field_8_parsed_expr.get(i)).clone();
  -        rec.field_8_parsed_expr.set(i, ptg);
  +        Ptg ptg = (Ptg)((Ptg)field_8_parsed_expr.get(i)).clone();        
  +        rec.field_8_parsed_expr.add(i, ptg);
         }
         rec.all_data = all_data;
         return rec;
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.4.2.1   +27 -1     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.4
  retrieving revision 1.4.2.1
  diff -u -r1.4 -r1.4.2.1
  --- FormulaRecordAggregate.java	8 May 2003 00:02:03 -0000	1.4
  +++ FormulaRecordAggregate.java	28 Jun 2003 00:21:47 -0000	1.4.2.1
  @@ -82,6 +82,19 @@
           this.stringRecord = stringRecord;
       }
   
  +	/**
  +	 * Used only in the clone
  +	 * @param formulaRecord
  +	 * @param stringRecord
  +	 * @param sharedRecord
  +	 */
  +	public FormulaRecordAggregate( FormulaRecord formulaRecord, StringRecord stringRecord, SharedFormulaRecord sharedRecord)
  +	{
  +		  this.formulaRecord = formulaRecord;
  +		  this.stringRecord = stringRecord;
  +		  this.sharedFormulaRecord = sharedRecord;
  +	}
  +
   
   
       protected void validateSid( short id )
  @@ -221,7 +234,10 @@
        * @see java.lang.Object#clone()
        */
       public Object clone() {
  -        return new FormulaRecordAggregate((FormulaRecord) this.formulaRecord.clone(), (StringRecord) this.stringRecord.clone());
  +			StringRecord clonedString = (stringRecord == null) ? null : (StringRecord)stringRecord.clone();
  +    		SharedFormulaRecord clonedShared = (sharedFormulaRecord == null) ? null : (SharedFormulaRecord)sharedFormulaRecord.clone();
  +    		
  +        return new FormulaRecordAggregate((FormulaRecord) this.formulaRecord.clone(), clonedString, clonedShared);
       }
   
   
  @@ -239,6 +255,16 @@
       */
      public void setSharedFormulaRecord(SharedFormulaRecord sharedFormulaRecord) {
         this.sharedFormulaRecord = sharedFormulaRecord;
  +   }
  +
  +   /* 
  +    * Setting to true so that this value does not abort the whole ValueAggregation
  +    * (non-Javadoc)
  +    * @see org.apache.poi.hssf.record.Record#isInValueSection()
  +    */
  +   public boolean isInValueSection() {
  +
  +      return true;
      }
   
   }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.7.2.1   +4 -1      jakarta-poi/src/java/org/apache/poi/hssf/record/formula/ExpPtg.java
  
  Index: ExpPtg.java
  ===================================================================
  RCS file: /home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/formula/ExpPtg.java,v
  retrieving revision 1.7
  retrieving revision 1.7.2.1
  diff -u -r1.7 -r1.7.2.1
  --- ExpPtg.java	8 May 2003 00:02:03 -0000	1.7
  +++ ExpPtg.java	28 Jun 2003 00:21:47 -0000	1.7.2.1
  @@ -110,7 +110,10 @@
       public byte getDefaultOperandClass() {return Ptg.CLASS_VALUE;}
       
       public Object clone() {
  -      throw new RuntimeException("NO IDEA SHARED FORMULA EXP PTG");
  +    	//can't clone one that doesnt have data can we??
  +		if (this.existing == null) throw new RuntimeException("NO IDEA SHARED FORMULA EXP PTG"); 
  +		
  +    	return new ExpPtg(this.existing, 0);
       }
   
   }