ILoginModule CreateLoginModule(IConfiguration settings, IProviderNode provider) { return(RuntimeTypeFactory <ILoginModuleFactory> .CreateInstanceFallback(provider, settings) .CreateLoginModule(provider.Options.ToDictionary())); }
static AppMetrics() { string default_metrics_registry_class = ConfigurationManager.AppSettings[kDefaultMetricsRegistryKey]; if (default_metrics_registry_class != null) { var runtime_type = new RuntimeType(default_metrics_registry_class); Type type = RuntimeType.GetSystemType(runtime_type); if (type != null) { ForCurrentProcess = RuntimeTypeFactory <IMetricsRegistry> .CreateInstanceFallback(runtime_type); } } if (ForCurrentProcess == null) { ForCurrentProcess = new MetricsRegistry(); } process_tags_ = new Tags.Builder(); Configure(); // Mark the class as not configured to allow users to // overrite the default behavior. configured_ = false; }
ICacheProvider GetCacheProvider() { IProviderNode provider = settings_.Providers.GetProviderNode(Strings.kCacheProviderName); return(RuntimeTypeFactory <ICacheProviderFactory> .CreateInstanceFallback(provider, settings_) .CreateCacheProvider(provider.Options.ToDictionary())); }
IMetricsDao CreateMetricsRepository() { IProviderNode provider = settings_.Providers .GetProviderNode(R.kMetricsDataProviderName); return(RuntimeTypeFactory <IMetricsRepositoryFactory> .CreateInstanceFallback(provider, settings_) .CreateMetricsDataProvider(provider.Options.ToDictionary())); }
/// <summary> /// Creates an instance of the <see cref="QueryResolver"/> object using the /// specified cache provider, common data provider and query settings. /// </summary> /// <returns> /// The created <see cref="QueryResolver"/> object. /// </returns> public QueryResolver CreateQueryResolver() { IProviderNode provider = settings_ .Providers .GetProviderNode(Strings.kCacheProviderName); ICacheProvider cache_provider = RuntimeTypeFactory <ICacheProviderFactory> .CreateInstanceFallback(provider, settings_) .CreateCacheProvider(provider.Options.ToDictionary()); return(CreateQueryResolver(cache_provider)); }
/// <summary> /// Creates an instance of the <see cref="TResult"/> class using the /// information contained in the provider node named /// <see cref="node_name"/>. /// </summary> /// <typeparam name="TFactory"> /// The type of the factory class that is used to create instances of the /// <see cref="TResult"/> class. /// </typeparam> /// <typeparam name="TResult"> /// The type of the class that should be created. /// </typeparam> /// <param name="settings"> /// A <see cref="IConfiguration"/> class contained the list of configured /// providers. /// </param> /// <param name="node_name"> /// The name of the provider node that contains the information about the /// provider to be created. /// </param> /// <param name="instantiator"> /// A <see cref="Func{T1, T2, TResult}"/> delegate that can be /// used to create an instance of the <see cref="TResult"/> class. /// </param> /// <returns> /// The <see cref="TFactory"/> class is created by either, using a /// constructor that accepts a <see cref="IConfiguration"/> object or a /// constructor that receives no parameters. /// </returns> public static TResult CreateProvider <TFactory, TResult>( this IConfiguration settings, string node_name, Func <TFactory, IDictionary <string, string>, TResult> instantiator) where TFactory : class { var node = settings .Providers .GetProviderNode(node_name); TFactory factory = RuntimeTypeFactory <TFactory> .CreateInstanceFallback(node, settings); return(instantiator(factory, node.Options.ToDictionary())); }
/// <summary> /// Configures the logger that should be used by the application. /// </summary> public void ConfigureLogger() { try { IProviderNode provider = settings_.Providers .GetProviderNode(Strings.kLoggingProviderName); ILogger logger = RuntimeTypeFactory <ILoggerFactory> .CreateInstanceFallback(provider, settings_) .CreateLogger(provider.Options.ToDictionary()); HttpQueryLogger.ForCurrentProcess.Logger = logger; } catch { // fails silently. } }
IQueryExecutor[] GetQueryExecutors() { IProvidersNodeGroup executors_providers; if (settings_.Providers.GetProvidersNodeGroup( Strings.kQueryExecutorsGroup, out executors_providers)) { return(executors_providers .Select( provider => RuntimeTypeFactory <IQueryExecutorFactory> .CreateInstanceFallback(provider, settings_) .CreateQueryExecutor(provider.Options.ToDictionary())) .ToArray()); } return(new IQueryExecutor[0]); }
IJsonCollectionFactory GetJsonCollectionFactory() { IProviderNode provider; if (settings_.Providers.GetProviderNode(Strings.kJsonCollectionProvider, out provider)) { try { return(RuntimeTypeFactory <IJsonCollectionFactory> .CreateInstanceFallback(provider, settings_)); } catch (Exception exception) { // log it and ignore RestQLLogger.ForCurrentProcess.Error( string.Format(StringResources.Log_MethodThrowsException, "GetJsonCollectionFactory", kClassName), exception); } } return(new JsonCollectionFactory()); }