X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.spreadsheet%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Fsolver%2Fformula%2FSumFormulaFunction.java;fp=bundles%2Forg.simantics.spreadsheet.graph%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Fgraph%2Fformula%2FSumFormulaFunction.java;h=97f864709c14a8be3126106a57e20b6bf4ef7cec;hp=299973db59329d0d56ea9dfff0e5f1251b4fbcc1;hb=5c67a96d34fe904b8c4b0375cd08ff1d543bf369;hpb=9a37dabc6c0212ed3e14499c88df3208cd06f9b0 diff --git a/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/formula/SumFormulaFunction.java b/bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/solver/formula/SumFormulaFunction.java similarity index 52% rename from bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/formula/SumFormulaFunction.java rename to bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/solver/formula/SumFormulaFunction.java index 299973db5..97f864709 100644 --- a/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/formula/SumFormulaFunction.java +++ b/bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/solver/formula/SumFormulaFunction.java @@ -1,11 +1,9 @@ -package org.simantics.spreadsheet.graph.formula; +package org.simantics.spreadsheet.solver.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; +import org.simantics.spreadsheet.SpreadsheetMatrix; +import org.simantics.spreadsheet.Spreadsheets; +import org.simantics.spreadsheet.solver.formula.parser.ast.AstArgList; +import org.simantics.spreadsheet.solver.formula.parser.ast.AstValue; class SumFormulaFunction implements CellFormulaFunction { @@ -14,21 +12,21 @@ class SumFormulaFunction implements CellFormulaFunction { 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; + FormulaError2 error = FormulaError2.forString(result.toString()); + if(error!=null) return error.getString(); + Double v = Spreadsheets.asDoubleWhereEmptyStringIsZero(result); + if(v!=null) + sum += v; } else if(result instanceof Number){ sum += ((Number)result).doubleValue(); } else { - sum += SpreadsheetGraphUtils.asNumber(result); + sum += Spreadsheets.asNumber(result); } } return sum;