]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/formula/SumFormulaFunction.java
Adopt spreadsheet changes made in Balas development
[simantics/platform.git] / bundles / org.simantics.spreadsheet.graph / src / org / simantics / spreadsheet / graph / formula / SumFormulaFunction.java
diff --git a/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/formula/SumFormulaFunction.java b/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/formula/SumFormulaFunction.java
deleted file mode 100644 (file)
index 299973d..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.simantics.spreadsheet.graph.formula;
-
-import org.simantics.spreadsheet.graph.CellFormulaFunction;
-import org.simantics.spreadsheet.graph.CellValueVisitor;
-import org.simantics.spreadsheet.graph.SpreadsheetGraphUtils;
-import org.simantics.spreadsheet.graph.SpreadsheetMatrix;
-import org.simantics.spreadsheet.graph.parser.ast.AstArgList;
-import org.simantics.spreadsheet.graph.parser.ast.AstValue;
-
-class SumFormulaFunction implements CellFormulaFunction<Object> {
-
-    @Override
-    public Object evaluate(CellValueVisitor visitor, AstArgList args) {
-        Double sum = 0.0;
-        for (AstValue value : args.values) {
-            Object result = value.accept(visitor);
-            
-            if (result instanceof SpreadsheetMatrix) {
-                Object value2 = ((SpreadsheetMatrix) result).sumWithFormulaError();
-                if(value2 instanceof String) return value2; //means sumWithFormulaError returned an Error message.
-                sum += ((Number)value2).doubleValue();
-            } else if(result instanceof String && !result.equals("")){
-               FormulaError2 error = FormulaError2.forString(result.toString());
-               if(error!=null) return error.getString();
-               Double v = SpreadsheetGraphUtils.asDoubleWhereEmptyStringIsZero(result);
-               if(v!=null)
-                       sum += v;
-            } else if(result instanceof Number){
-                sum += ((Number)result).doubleValue();
-            } else {
-                sum += SpreadsheetGraphUtils.asNumber(result);
-            }
-        }
-        return sum;
-    }
-}
\ No newline at end of file