X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.spreadsheet.graph%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Fgraph%2Fformula%2FSumFormulaFunction.java;fp=bundles%2Forg.simantics.spreadsheet.graph%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Fgraph%2Fformula%2FSumFormulaFunction.java;h=0000000000000000000000000000000000000000;hb=5c67a96d34fe904b8c4b0375cd08ff1d543bf369;hp=299973db59329d0d56ea9dfff0e5f1251b4fbcc1;hpb=9a37dabc6c0212ed3e14499c88df3208cd06f9b0;p=simantics%2Fplatform.git 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 index 299973db5..000000000 --- a/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/formula/SumFormulaFunction.java +++ /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 { - - @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