};
}
protected void initFunctionCompilationContext(final ComponentRepository repo, final LinkedHashMap<String, String> configuration) {
final FunctionCompilationContext context = new FunctionCompilationContext();
OpenGammaCompilationContext.setConfigSource(context, getConfigSource());
OpenGammaCompilationContext.setRegionSource(context, getRegionSource());
OpenGammaCompilationContext.setConventionBundleSource(context, getConventionBundleSource());
OpenGammaCompilationContext.setConventionSource(context, getConventionSource());
OpenGammaCompilationContext.setInterpolatedYieldCurveDefinitionSource(context, getInterpolatedYieldCurveDefinitionSource());
OpenGammaCompilationContext.setInterpolatedYieldCurveSpecificationBuilder(context, getInterpolatedYieldCurveSpecificationBuilder());
OpenGammaCompilationContext.setVolatilityCubeDefinitionSource(context, getVolatilityCubeDefinitionSource());
OpenGammaCompilationContext.setHolidaySource(context, getHolidaySource());
OpenGammaCompilationContext.setExchangeSource(context, getExchangeSource());
OpenGammaCompilationContext.setHistoricalTimeSeriesSource(context, getHistoricalTimeSeriesSource());
OpenGammaCompilationContext.setHistoricalTimeSeriesResolver(context, getHistoricalTimeSeriesResolver());
if (getTempTargetRepository() != null) {
OpenGammaCompilationContext.setTempTargets(context, getTempTargetRepository());
}
context.setSecuritySource(getSecuritySource());
context.setOrganizationSource(getOrganizationSource());
context.setPortfolioStructure(new PortfolioStructure(getPositionSource()));
context.setRawComputationTargetResolver(getTargetResolver());
if (getCompilationBlacklist() != null) {
context.setGraphBuildingBlacklist(new DefaultFunctionBlacklistQuery(getCompilationBlacklist()));
}
if (getExecutionBlacklist() != null) {
context.setGraphExecutionBlacklist(new DefaultFunctionBlacklistQuery(getExecutionBlacklist()));
}
OpenGammaCompilationContext.setPermissive(context, Boolean.TRUE.equals(getPermissive()));
OpenGammaCompilationContext.setPnLRequirementsGatherer(context, getPnlRequirementsGatherer());
if (getRiskFactorsGatherer() == null) {
if (getSecuritySource() != null) {