public ProviderFactoryInfo GetBootstrapLogFactory()
        {
            if (m_DefaultLogFactory != null)
            {
                return(m_DefaultLogFactory);
            }

            if (string.IsNullOrEmpty(m_Config.LogFactory))
            {
                m_DefaultLogFactory = new ProviderFactoryInfo(ProviderKey.LogFactory, string.Empty, typeof(Log4NetLogFactory));
                return(m_DefaultLogFactory);
            }

            ProviderFactoryInfo factory = null;

            if (m_Config.LogFactories != null && m_Config.LogFactories.Count() > 0)
            {
                var logConfig = m_Config.LogFactories.FirstOrDefault(f =>
                                                                     f.Name.Equals(m_Config.LogFactory, StringComparison.OrdinalIgnoreCase));

                if (logConfig != null)
                {
                    factory = new ProviderFactoryInfo(ProviderKey.LogFactory, m_Config.LogFactory, ValidateProviderType(logConfig.Type));
                }
            }

            if (factory == null)
            {
                throw new Exception(string.Format("the specific log factory '{0}' cannot be found!", m_Config.LogFactory));
            }

            m_DefaultLogFactory = factory;

            return(factory);
        }
 public WorkItemFactoryInfoLoader(IConfigurationSource config, ILogFactory passedInLogFactory)
     : this(config)
 {
     if (passedInLogFactory != null)
     {
         m_DefaultLogFactory = new ProviderFactoryInfo(ProviderKey.LogFactory, string.Empty, passedInLogFactory);
     }
 }
Ejemplo n.º 3
0
        static NMSConnectionFactory()
        {
            ProviderFactoryInfo amqp_1_0_ProviderInfo = new ProviderFactoryInfo("Apache.NMS.AMQP", "Apache.NMS.AMQP.ConnectionFactory");

            schemaProviderFactoryMap["amqps"]   = amqp_1_0_ProviderInfo;
            schemaProviderFactoryMap["amqp"]    = amqp_1_0_ProviderInfo; // overwrite apache AMQP provider
            schemaProviderFactoryMap["amqp1.0"] = amqp_1_0_ProviderInfo; // add specific amqp1.0 scheme
        }
        private List <ProviderFactoryInfo> InitializeProviderFactories(ProviderKey key, IEnumerable <ITypeProvider> providerCollection, ProviderFactoryInfo loadedFactory)
        {
            var loadedFactoryPassedIn = false;

            if (loadedFactory != null && !string.IsNullOrEmpty(loadedFactory.Name))
            {
                loadedFactoryPassedIn = true;
            }

            var factories = new List <ProviderFactoryInfo>();

            if (providerCollection == null || !providerCollection.Any())
            {
                return(factories);
            }

            foreach (var provider in providerCollection)
            {
                if (loadedFactoryPassedIn)
                {
                    if (loadedFactory.Name.Equals(provider.Name, StringComparison.OrdinalIgnoreCase))
                    {
                        factories.Add(loadedFactory);
                        continue;
                    }
                }

                factories.Add(new ProviderFactoryInfo(key, provider.Name, ValidateProviderType(provider.Type)));
            }

            return(factories);
        }