//------------------------------------------------------------------------- public ReportRequirements requirements(TradeReportTemplate reportTemplate) { //JAVA TO C# CONVERTER TODO TASK: Method reference arbitrary object instance method syntax is not converted by Java to C# Converter: //JAVA TO C# CONVERTER TODO TASK: Most Java stream collectors are not converted by Java to C# Converter: IList <Column> measureRequirements = reportTemplate.Columns.Select(TradeReportColumn::getValue).flatMap(Guavate.stream).Select(ValuePathEvaluator.measure).flatMap(Guavate.stream).Select(Column.of).collect(toImmutableList()); return(ReportRequirements.of(measureRequirements)); }
private ReportCalculationResults runCalculationRequirements(ReportRequirements requirements) { IList <Column> columns = requirements.TradeMeasureRequirements; ExampleMarketDataBuilder marketDataBuilder = marketDataRoot == null?ExampleMarketData.builder() : ExampleMarketDataBuilder.ofPath(marketDataRoot.toPath()); CalculationFunctions functions = StandardComponents.calculationFunctions(); RatesMarketDataLookup ratesLookup = marketDataBuilder.ratesLookup(valuationDate); CalculationRules rules = CalculationRules.of(functions, ratesLookup); MarketData marketData = marketDataBuilder.buildSnapshot(valuationDate); IList <Trade> trades; if (Strings.nullToEmpty(idSearch).Trim().Empty) { trades = tradeList.Trades; } else { //JAVA TO C# CONVERTER TODO TASK: Most Java stream collectors are not converted by Java to C# Converter: trades = tradeList.Trades.Where(t => t.Info.Id.Present).Where(t => t.Info.Id.get().Value.Equals(idSearch)).collect(toImmutableList()); if (trades.Count > 1) { throw new System.ArgumentException(Messages.format("More than one trade found matching ID: '{}'", idSearch)); } } if (trades.Count == 0) { throw new System.ArgumentException("No trades found. Please check the input portfolio or trade ID filter."); } // the reference data, such as holidays and securities ReferenceData refData = ReferenceData.standard(); // calculate the results CalculationTasks tasks = CalculationTasks.of(rules, trades, columns, refData); MarketDataRequirements reqs = tasks.requirements(refData); MarketData calibratedMarketData = marketDataFactory().create(reqs, MarketDataConfig.empty(), marketData, refData); Results results = runner.TaskRunner.calculate(tasks, calibratedMarketData, refData); return(ReportCalculationResults.of(valuationDate, trades, requirements.TradeMeasureRequirements, results, functions, refData)); }
//------------------------------------------------------------------------- private void run() { ReportRunner <ReportTemplate> reportRunner = getReportRunner(template); ReportRequirements requirements = reportRunner.requirements(template); ReportCalculationResults calculationResults = runCalculationRequirements(requirements); Report report = reportRunner.runReport(calculationResults, template); switch (format) { case ReportOutputFormat.ASCII_TABLE: report.writeAsciiTable(System.out); break; case ReportOutputFormat.CSV: report.writeCsv(System.out); break; } }
//------------------------------------------------------------------------- public ReportRequirements requirements(CashFlowReportTemplate reportTemplate) { return(ReportRequirements.of(Column.of(Measures.EXPLAIN_PRESENT_VALUE))); }