internal static IComponentFactory GetComponentFactory(Localization localization)
{
lock (_componentFactories)
{
IComponentFactory componentFactory;
if (!_componentFactories.TryGetValue(localization.LocalizationId, out componentFactory))
{
IPublicationResolver publicationResolver = new PublicationResolver(localization);
IFactoryCommonServices factoryCommonServices = new FactoryCommonServices(publicationResolver, _logger, _config, CreateCacheAgent());
componentFactory = new ComponentFactory(
GetComponentPresentationFactory(localization),
factoryCommonServices );
_componentFactories.Add(localization.LocalizationId, componentFactory);
}
return componentFactory;
}
}