package gw.rating.worksheet uses gw.rating.RateRoutineExecutionLoggedRateQuery uses gw.rating.RateRoutineExecutionLogger uses gw.rating.worksheet.domain.WorksheetRateQuery uses gw.rating.worksheet.domain.WorksheetRateQueryParam /** * Extends the RateQuery class adding worksheet logging */ class WorksheetLoggedRateQuery extends RateRoutineExecutionLoggedRateQuery { construct(logger : WorksheetLogger, op : String, rbook : RateBook, table : String) { this(logger, op, 0, 0, rbook, table) } construct(logger : WorksheetLogger, op : String, leftParens : int, rightParens : int, rbook : RateBook, table : String) { super(logger, op, leftParens, rightParens, rbook, table) } override public function logQuery(factorValue : T, factorName : String, rateQueryType : String, factorSource : String){ var opType = CalcStepOperatorType.get(_op) var query = new WorksheetRateQuery() { :TableCode = TableCode, :TableName = TableName, :FactorName = factorName, :FactorSource = factorSource, :Value = this, :Type = rateQueryType, // T.Name? :Operator = WorksheetUtil.mapOperator(opType), :LeftParentheses = _leftParens, :RightParentheses = _rightParens } var ops = TableDef.SortedMatchOpArray for (i in 0..|ops.length) { query.addWorksheetOperand(new WorksheetRateQueryParam() {:Name = ops[i].Name, :Value = OrderedParamsList[i]}) } (_logger as WorksheetLogger).pushExecPop(query, \-> factorValue) } }