// one valuation date, one set of market data private MarketDataBox <RatesCurveInputs> buildSingleCurveInputs <T1>(CurveDefinition filteredDefn, IDictionary <T1> marketData, LocalDate valuationDate, ReferenceData refData) where T1 : com.opengamma.strata.data.MarketDataId <T1> { // There is only a single map of values and single valuation date - create a single CurveInputs instance CurveMetadata curveMetadata = filteredDefn.metadata(valuationDate, refData); //JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET: //ORIGINAL LINE: java.util.Map<? extends com.opengamma.strata.data.MarketDataId<?>, ?> singleMarketDataValues = com.opengamma.strata.collect.MapStream.of(marketData).mapValues(box -> box.getSingleValue()).toMap(); IDictionary <MarketDataId <object>, ?> singleMarketDataValues = MapStream.of(marketData).mapValues(box => box.SingleValue).toMap(); RatesCurveInputs curveInputs = RatesCurveInputs.of(singleMarketDataValues, curveMetadata); return(MarketDataBox.ofSingleValue(curveInputs)); }
// one valuation date, scenario market data private MarketDataBox <RatesCurveInputs> buildMultipleCurveInputs <T1>(MarketDataBox <CurveDefinition> filteredDefns, IDictionary <T1> marketData, MarketDataBox <LocalDate> valuationDates, ReferenceData refData) where T1 : com.opengamma.strata.data.MarketDataId <T1> { // If there are multiple values for any of the input data values or for the valuation // dates then we need to create multiple sets of inputs int scenarioCount = RatesCurveInputsMarketDataFunction.scenarioCount(valuationDates, marketData); ImmutableList.Builder <CurveMetadata> curveMetadataBuilder = ImmutableList.builder(); for (int i = 0; i < scenarioCount; i++) { LocalDate valDate = valuationDates.getValue(i); CurveDefinition defn = filteredDefns.getValue(i); curveMetadataBuilder.add(defn.metadata(valDate, refData)); } IList <CurveMetadata> curveMetadata = curveMetadataBuilder.build(); //JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET: //ORIGINAL LINE: java.util.List<java.util.Map<? extends com.opengamma.strata.data.MarketDataId<?>, ?>> scenarioValues = java.util.stream.IntStream.range(0, scenarioCount).mapToObj(i -> buildScenarioValues(marketData, i)).collect(toImmutableList()); IList <IDictionary <MarketDataId <object>, ?> > scenarioValues = IntStream.range(0, scenarioCount).mapToObj(i => buildScenarioValues(marketData, i)).collect(toImmutableList()); IList <RatesCurveInputs> curveInputs = zip(scenarioValues.stream(), curveMetadata.stream()).map(pair => RatesCurveInputs.of(pair.First, pair.Second)).collect(toImmutableList()); return(MarketDataBox.ofScenarioValues(curveInputs)); }