/** * Loads the curve groups definition CSV file. * <p> * The list of {@link NodalCurveDefinition} will be empty in the resulting definition. * * @param groupsResource the curve groups CSV resource * @return the list of definitions */ public static List<RatesCurveGroupDefinition> loadCurveGroupDefinitions(ResourceLocator groupsResource) { return parseCurveGroupDefinitions(groupsResource.getCharSource()); }
private static ImmutableMap<CurveGroupName, RatesCurveGroupDefinition> parse0( CharSource groupsCharSource, CharSource settingsCharSource, Map<CurveName, SeasonalityDefinition> seasonality, Collection<CharSource> curveNodeCharSources) { // load curve groups and settings List<RatesCurveGroupDefinition> curveGroups = RatesCurveGroupDefinitionCsvLoader.parseCurveGroupDefinitions(groupsCharSource); Map<CurveName, LoadedCurveSettings> settingsMap = RatesCurvesCsvLoader.parseCurveSettings(settingsCharSource); // load curve definitions List<CurveDefinition> curveDefinitions = curveNodeCharSources.stream() .flatMap(res -> parseSingle(res, settingsMap).stream()) .collect(toImmutableList()); // Add the curve definitions to the curve group definitions return curveGroups.stream() .map(groupDefinition -> groupDefinition.withCurveDefinitions(curveDefinitions).withSeasonalityDefinitions(seasonality)) .collect(toImmutableMap(groupDefinition -> groupDefinition.getName())); }
Collection<CharSource> curveValueCharSources) { List<RatesCurveGroupDefinition> curveGroups = RatesCurveGroupDefinitionCsvLoader.parseCurveGroupDefinitions(groupsCharSource); Map<LocalDate, Map<CurveName, Curve>> curves = parseCurves(datePredicate, settingsCharSource, curveValueCharSources);