acoliver    02/04/28 09:33:58

  Modified:    src/java/org/apache/poi/hssf/record/formula AddPtg.java
                        FormulaParser.java IntPtg.java MultiplyPtg.java
                        Ptg.java
  Log:
  removes parts of my former stuff in favor of aviks and adds concat operator
  
  Revision  Changes    Path
  1.7       +1 -16     
jakarta-poi/src/java/org/apache/poi/hssf/record/formula/AddPtg.java
  
  Index: AddPtg.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/formula/AddPtg.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- AddPtg.java       28 Apr 2002 15:55:37 -0000      1.6
  +++ AddPtg.java       28 Apr 2002 16:33:57 -0000      1.7
  @@ -115,22 +115,7 @@
       {
           return "+";
       }
  -    
  -    
  -    public static boolean isNextStringToken(String formula, int pos) {
  -        boolean retval = false;
  -        while (pos < formula.length() && 
Character.isWhitespace(formula.charAt(pos))) {
  -            pos++;
  -        }
  -        
  -        if (pos < formula.length()) {
  -            if (formula.charAt(pos) == ADD.toCharArray()[0]) {
  -                retval = true;
  -            }
  -        }
  -        return retval;
  -    }
  -
  +       
       public String toFormulaString(Ptg [] operands)
       {
           StringBuffer buffer = new StringBuffer();
  
  
  
  1.6       +10 -1     
jakarta-poi/src/java/org/apache/poi/hssf/record/formula/FormulaParser.java
  
  Index: FormulaParser.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/formula/FormulaParser.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- FormulaParser.java        28 Apr 2002 15:17:44 -0000      1.5
  +++ FormulaParser.java        28 Apr 2002 16:33:57 -0000      1.6
  @@ -310,11 +310,12 @@
       /** Parse and Translate a Math Term */
       private void  Term(){
           Factor();
  -        while (Look == '*' || Look == '/' || Look == '^') {
  +        while (Look == '*' || Look == '/' || Look == '^' || Look == '&') {
               ///TODO do we need to do anything here??
               if (Look == '*') Multiply();
               if (Look == '/') Divide();
               if (Look == '^') Power();
  +            if (Look == '&') Concat();
           }
       }
       
  @@ -324,6 +325,14 @@
           Term();
           tokens.add(new AddPtg());
       }
  +    
  +    /** Recognize and Translate an Add */
  +    private void Concat() {
  +        Match('&');
  +        Term();
  +        tokens.add(new ConcatPtg());
  +    }
  +    
       
       
       /** Recognize and Translate a Subtract */
  
  
  
  1.4       +0 -3      
jakarta-poi/src/java/org/apache/poi/hssf/record/formula/IntPtg.java
  
  Index: IntPtg.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/formula/IntPtg.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- IntPtg.java       28 Apr 2002 15:52:58 -0000      1.3
  +++ IntPtg.java       28 Apr 2002 16:33:57 -0000      1.4
  @@ -151,9 +151,6 @@
           
       }
       
  -    public static boolean isNextStringToken(String formula, int pos) {
  -        return (parseString(formula,pos) != null);
  -    }
           
       public int getStringLength() {
           return strlen;
  
  
  
  1.6       +1 -19     
jakarta-poi/src/java/org/apache/poi/hssf/record/formula/MultiplyPtg.java
  
  Index: MultiplyPtg.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/formula/MultiplyPtg.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MultiplyPtg.java  28 Apr 2002 15:55:37 -0000      1.5
  +++ MultiplyPtg.java  28 Apr 2002 16:33:57 -0000      1.6
  @@ -139,23 +139,5 @@
           buffer.append("*");
           buffer.append(operands[ 1 ]);
           return buffer.toString();
  -    }
  -    
  -            
  -    public static boolean isNextStringToken(String formula, int pos) {
  -        boolean retval = false;
  -        while (pos < formula.length() && 
Character.isWhitespace(formula.charAt(pos))) {
  -            pos++;
  -        }
  -        
  -        if (pos < formula.length()) {
  -            if (formula.charAt(pos) == MULTIPLY.toCharArray()[0]) {
  -                retval = true;
  -            }
  -        }
  -        return retval;
  -    }
  -    
  -    
  -
  +    }                  
   }
  
  
  
  1.6       +5 -0      jakarta-poi/src/java/org/apache/poi/hssf/record/formula/Ptg.java
  
  Index: Ptg.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/formula/Ptg.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Ptg.java  27 Apr 2002 14:07:53 -0000      1.5
  +++ Ptg.java  28 Apr 2002 16:33:57 -0000      1.6
  @@ -188,6 +188,11 @@
               case PowerPtg.sid :
                   retval = new PowerPtg(data, offset);
                   break;
  +                
  +            case ConcatPtg.sid :
  +                retval = new ConcatPtg(data, offset);
  +                break;
  +                
   
               case AreaPtg.sid :
                   retval = new AreaPtg(data, offset);
  
  
  


Reply via email to