예제 #1
0
 /// <summary>
 /// Opens the security settings configuration section, builds the design time nodes and adds them to the application node.
 /// </summary>
 /// <param name="serviceProvider">The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</param>
 /// <param name="rootNode">The root node of the application.</param>
 /// <param name="section">The <see cref="ConfigurationSection"/> that was opened from the <see cref="IConfigurationSource"/>.</param>
 protected override void OpenCore(IServiceProvider serviceProvider, ConfigurationApplicationNode rootNode, ConfigurationSection section)
 {
     if (null != section)
     {
         rootNode.AddNode(new SecuritySettingsNodeBuilder(serviceProvider, (SecuritySettings)section).Build());
     }
 }
예제 #2
0
 public void TestInitialize()
 {
     appNode = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
     serviceProvider = ServiceBuilder.Build();
     hierarchy = new ConfigurationUIHierarchy(appNode, serviceProvider);
     appNode.AddNode(new MyTestNode());
     removeEventCount = 0;
 }
        public void MakeSureThatCurrentAppDomainConfigurationFileIsSetForApplication()
        {
            ConfigurationApplicationFile applicationData = ConfigurationApplicationFile.FromCurrentAppDomain();
            ConfigurationApplicationNode node            = new ConfigurationApplicationNode(applicationData);
            ConfigurationUIHierarchy     hierarchy       = new ConfigurationUIHierarchy(node, ServiceBuilder.Build());

            Assert.AreEqual(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile, node.ConfigurationFile);
        }
 /// <summary>
 /// Initializes the DGTEL.SampleAB.
 /// </summary>
 /// <param name="serviceProvider">The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</param>
 /// <param name="rootNode">The root node of the application.</param>
 /// <param name="section">The <see cref="ConfigurationSection"/> that was opened from the <see cref="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.IConfigurationSource"/>.</param>
 protected override void OpenCore(IServiceProvider serviceProvider, ConfigurationApplicationNode rootNode, System.Configuration.ConfigurationSection section)
 {
     if (null != section)
     {
         ApplicationBlockSettingsNodeBuilder builder = new ApplicationBlockSettingsNodeBuilder(serviceProvider, (ApplicationBlockSettings)section);
         rootNode.AddNode(builder.Build());
     }
 }
예제 #5
0
 /// <summary>
 /// Opens the caching configuration from an application configuration file.
 /// </summary>
 /// <param name="serviceProvider">The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</param>
 /// <param name="rootNode">The <see cref="ConfigurationApplicationNode"/> of the hierarchy.</param>
 /// <param name="section">The caching configuration section or null if no section was found.</param>
 protected override void OpenCore(IServiceProvider serviceProvider, ConfigurationApplicationNode rootNode, ConfigurationSection section)
 {
     if (null != section)
     {
         CryptographyManagerSettingsNodeBuilder builder = new CryptographyManagerSettingsNodeBuilder(serviceProvider, (CryptographySettings)section);
         rootNode.AddNode(builder.Build());
     }
 }
 public void TestInitialize()
 {
     appNode         = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
     serviceProvider = ServiceBuilder.Build();
     hierarchy       = new ConfigurationUIHierarchy(appNode, serviceProvider);
     appNode.AddNode(new MyTestNode());
     removeEventCount = 0;
 }
예제 #7
0
 /// <summary>
 /// Opens the oracle connection configuration section, builds the design time nodes and adds them to the application node.
 /// </summary>
 /// <param name="serviceProvider">The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</param>
 /// <param name="rootNode">The root node of the application.</param>
 /// <param name="section">The <see cref="ConfigurationSection"/> that was opened from the <see cref="IConfigurationSource"/>.</param>
 protected override void OpenCore(IServiceProvider serviceProvider, ConfigurationApplicationNode rootNode, ConfigurationSection section)
 {
     if (null != section)
     {
         OracleConnectionNodeBuilder builder = new OracleConnectionNodeBuilder(serviceProvider, (OracleConnectionSettings)section);
         builder.Build();
     }
 }
예제 #8
0
 /// <summary>
 /// Opens the logging settings configuration section, builds the design time nodes and adds them to the application node.
 /// </summary>
 /// <param name="serviceProvider">The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</param>
 /// <param name="rootNode">The root node of the application.</param>
 /// <param name="section">The <see cref="ConfigurationSection"/> that was opened from the <see cref="IConfigurationSource"/>.</param>
 protected override void OpenCore(IServiceProvider serviceProvider, ConfigurationApplicationNode rootNode, ConfigurationSection section)
 {
     if (null != section)
     {
         LoggingSettingsNodeBuilder builder = new LoggingSettingsNodeBuilder(serviceProvider, (LoggingSettings)section);
         rootNode.AddNode(builder.Build());
     }
 }
        public void EnsureThatSettingConfigurationFileUpdatesApplicationDataFile()
        {
            ConfigurationApplicationFile data = ConfigurationApplicationFile.FromCurrentAppDomain();
            ConfigurationApplicationNode node = new ConfigurationApplicationNode(data);

            node.ConfigurationFile = "Foo.config";

            Assert.AreEqual("Foo.config", data.ConfigurationFilePath);
        }
		public void CreatingHierarchyWithPopulatedRootNodeSetsSites()
		{
			ConfigurationApplicationNode node1 = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
			TempNode node2 = new TempNode("2");
			node1.AddNode(node2);
			ConfigurationUIHierarchy hierarchy = new ConfigurationUIHierarchy(node1, ServiceProvider);

			Assert.IsNotNull(node2.Site);
		}
		protected override void InitializeCore()
        {
			ConfigurationApplicationNode appNode = new ConfigurationApplicationNode();
            typeNode = new MyTypeTestNode();
            valueInfo1 = typeNode.GetType().GetProperty("TypeName");
			serviceProvider = ServiceBuilder.Build();
			appNode.AddNode(typeNode);
			hierarchy = new ConfigurationUIHierarchy(appNode, serviceProvider);
        }
        public void TestInitialize()
        {
			ConfigurationApplicationNode node = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
			serviceProvider = ServiceBuilder.Build();
			hierarchy = new ConfigurationUIHierarchy(node, serviceProvider);
			ServiceContainer container = (ServiceContainer)serviceProvider;
            container.RemoveService(typeof(IUIService));
            container.AddService(typeof(IUIService), new TestUIService(serviceProvider, this));            
        }
        public override void Save(IServiceProvider serviceProvider)
        {
            IErrorLogService         errorService            = ServiceHelper.GetErrorService(serviceProvider);
            IEnvironmentMergeService environmentMergeService = serviceProvider.GetService(typeof(IEnvironmentMergeService)) as IEnvironmentMergeService;

            if (environmentMergeService != null)
            {
                if (environmentMergeService.EnvironmentMergeInProgress)
                {
                    return;
                }
            }

            IConfigurationUIHierarchy hierarchy = ServiceHelper.GetCurrentHierarchy(serviceProvider);

            Debug.Assert(hierarchy != null);

            ConfigurationApplicationNode configurationRootNode = hierarchy.FindNodeByType(typeof(ConfigurationApplicationNode)) as ConfigurationApplicationNode;

            Debug.Assert(configurationRootNode != null);

            string configurationFileDirectory = Path.GetDirectoryName(configurationRootNode.ConfigurationFile);

            foreach (EnvironmentNode environmentNode in hierarchy.FindNodesByType(typeof(EnvironmentNode)))
            {
                string environmentDeltaFilePath =
                    Path.Combine(configurationFileDirectory, environmentNode.EnvironmentDeltaFile);

                Dictionary <string, ConfigurationNodeMergeData> mergeDataByPath =
                    environmentNode.EnvironmentMergeData.UnfoldMergeData(hierarchy, false);
                EnvironmentMergeSection environmentMergeSection = new EnvironmentMergeSection();
                environmentMergeSection.EnvironmentName      = environmentNode.Name;
                environmentMergeSection.EnvironmentDeltaFile = environmentNode.EnvironmentConfigurationFile;

                CopyEnvironmentOverrides(environmentMergeSection, mergeDataByPath, hierarchy);
                string protectionProvider = GetProtectionProviderName(environmentNode);

                try
                {
                    FileConfigurationSource fileConfigurationSource =
                        new FileConfigurationSource(environmentDeltaFilePath, false);
                    if (!string.IsNullOrEmpty(protectionProvider))
                    {
                        fileConfigurationSource.Save(EnvironmentMergeSection.EnvironmentMergeData, environmentMergeSection, protectionProvider);
                    }
                    else
                    {
                        fileConfigurationSource.Add(EnvironmentMergeSection.EnvironmentMergeData, environmentMergeSection);
                    }
                }
                catch (ConfigurationErrorsException configurationErrors)
                {
                    errorService.LogErrors(configurationErrors);
                }
            }
        }
		protected override void InitializeCore()
        {
			ConfigurationApplicationNode appNode = new ConfigurationApplicationNode();
            minLengthNode = new MyMinLengthTestNode();
			appNode.AddNode(minLengthNode);
            valueInfo1 = minLengthNode.GetType().GetProperty("Value1");
            valueInfo2 = minLengthNode.GetType().GetProperty("Value2");
			serviceProvider = ServiceBuilder.Build();
			hierarchy = new ConfigurationUIHierarchy(appNode, serviceProvider);   
        }
예제 #15
0
 /// <summary>
 /// Opens the database settings configuration section, builds the design time nodes and adds them to the application node.
 /// </summary>
 /// <param name="serviceProvider">The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</param>
 /// <param name="rootNode">The root node of the application.</param>
 /// <param name="section">The <see cref="ConfigurationSection"/> that was opened from the <see cref="IConfigurationSource"/>.</param>
 protected override void OpenCore(IServiceProvider serviceProvider, ConfigurationApplicationNode rootNode, ConfigurationSection section)
 {
     if (null != section)
     {
         DatabaseSectionNodeBuilder builder = new DatabaseSectionNodeBuilder(serviceProvider, (DatabaseSettings)section);
         DatabaseSectionNode        node    = builder.Build();
         SetProtectionProvider(section, node);
         rootNode.AddNode(node);
     }
 }
예제 #16
0
        public void CreatingHierarchyWithPopulatedRootNodeSetsSites()
        {
            ConfigurationApplicationNode node1 = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
            TempNode node2 = new TempNode("2");

            node1.AddNode(node2);
            ConfigurationUIHierarchy hierarchy = new ConfigurationUIHierarchy(node1, ServiceProvider);

            Assert.IsNotNull(node2.Site);
        }
예제 #17
0
 /// <summary>
 /// Opens the security settings configuration section, builds the design time nodes and adds them to the application node.
 /// </summary>
 /// <param name="serviceProvider">The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</param>
 /// <param name="rootNode">The root node of the application.</param>
 /// <param name="section">The <see cref="ConfigurationSection"/> that was opened from the <see cref="IConfigurationSource"/>.</param>
 protected override void OpenCore(IServiceProvider serviceProvider, ConfigurationApplicationNode rootNode, ConfigurationSection section)
 {
     if (null != section)
     {
         SecuritySettingsNodeBuilder nodeBuilder = new SecuritySettingsNodeBuilder(serviceProvider, (SecuritySettings)section);
         SecuritySettingsNode        node        = nodeBuilder.Build();
         SetProtectionProvider(section, node);
         rootNode.AddNode(node);
     }
 }
예제 #18
0
        protected override void InitializeCore()
        {
            ConfigurationApplicationNode appNode = new ConfigurationApplicationNode();

            typeNode        = new MyTypeTestNode();
            valueInfo1      = typeNode.GetType().GetProperty("TypeName");
            serviceProvider = ServiceBuilder.Build();
            appNode.AddNode(typeNode);
            hierarchy = new ConfigurationUIHierarchy(appNode, serviceProvider);
        }
예제 #19
0
        /// <summary>
        /// Opens the appSettings section, builds the design time nodes and adds them to the application node.
        /// </summary>
        /// <param name="serviceProvider">The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</param>
        /// <param name="rootNode">The root node of the application.</param>
        /// <param name="section">The <see cref="ConfigurationSection"/> that was opened from the <see cref="IConfigurationSource"/>.</param>
        protected override void OpenCore(IServiceProvider serviceProvider, ConfigurationApplicationNode rootNode, System.Configuration.ConfigurationSection section)
        {
            if (null != section)
            {
                AppSettingsNodeBuilder builder = new AppSettingsNodeBuilder(serviceProvider, (AppSettingsSection)section);
                AppSettingsNode        node    = builder.Build();
                SetProtectionProvider(section, node);

                rootNode.AddNode(node);
            }
        }
 public void CanFindHierarchyById()
 {
     using (IConfigurationUIHierarchyService hierarchyService = new ConfigurationUIHierarchyService())
     {
         ConfigurationApplicationNode appNode   = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
         IConfigurationUIHierarchy    hierarchy = new ConfigurationUIHierarchy(appNode, ServiceBuilder.Build());
         hierarchyService.AddHierarchy(hierarchy);
         IConfigurationUIHierarchy foundHierarchy = hierarchyService.GetHierarchy(appNode.Id);
         Assert.AreSame(hierarchy, foundHierarchy);
     }
 }
예제 #21
0
        /// <summary>
        /// Opens the caching configuration from an application configuration file.
        /// </summary>
        /// <param name="serviceProvider">The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</param>
        /// <param name="rootNode">The <see cref="ConfigurationApplicationNode"/> of the hierarchy.</param>
        /// <param name="section">The caching configuration section or null if no section was found.</param>
        protected override void OpenCore(IServiceProvider serviceProvider, ConfigurationApplicationNode rootNode, ConfigurationSection section)
        {
            if (null != section)
            {
                CacheManagerSettingsNodeBuilder builder          = new CacheManagerSettingsNodeBuilder(serviceProvider, (CacheManagerSettings)section);
                CacheManagerSettingsNode        cacheManagerNode = builder.Build();
                SetProtectionProvider(section, cacheManagerNode);

                rootNode.AddNode(cacheManagerNode);
            }
        }
        protected override void InitializeCore()
        {
            ConfigurationApplicationNode appNode = new ConfigurationApplicationNode();

            minLengthNode = new MyMinLengthTestNode();
            appNode.AddNode(minLengthNode);
            valueInfo1      = minLengthNode.GetType().GetProperty("Value1");
            valueInfo2      = minLengthNode.GetType().GetProperty("Value2");
            serviceProvider = ServiceBuilder.Build();
            hierarchy       = new ConfigurationUIHierarchy(appNode, serviceProvider);
        }
 public void CanFindHierarchyById()
 {
     using (IConfigurationUIHierarchyService hierarchyService = new ConfigurationUIHierarchyService())
     {
         ConfigurationApplicationNode appNode = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
         IConfigurationUIHierarchy hierarchy = new ConfigurationUIHierarchy(appNode, ServiceBuilder.Build());
         hierarchyService.AddHierarchy(hierarchy);
         IConfigurationUIHierarchy foundHierarchy = hierarchyService.GetHierarchy(appNode.Id);
         Assert.AreSame(hierarchy, foundHierarchy);
     }
 }
예제 #24
0
        public void TestInitialize()
        {
            ConfigurationApplicationNode node = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());

            serviceProvider = ServiceBuilder.Build();
            hierarchy       = new ConfigurationUIHierarchy(node, serviceProvider);
            ServiceContainer container = (ServiceContainer)serviceProvider;

            container.RemoveService(typeof(IUIService));
            container.AddService(typeof(IUIService), new TestUIService(serviceProvider, this));
        }
 public void TestInitialize()
 {
     node            = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
     serviceProvider = ServiceBuilder.Build();
     hierarchy       = new ConfigurationUIHierarchy(node, serviceProvider);
     nodeA           = new MyTestNode();
     nodeB           = new MyTestNode();
     nodeC           = new MyTestNode();
     node.AddNode(nodeA);
     node.AddNode(nodeB);
     node.AddNode(nodeC);
 }
        public void TestInitialize()
        {
			node = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
			serviceProvider = ServiceBuilder.Build();
			hierarchy = new ConfigurationUIHierarchy(node, serviceProvider);
            nodeA = new MyTestNode();
            nodeB = new MyTestNode();
            nodeC = new MyTestNode();
            node.AddNode(nodeA);
			node.AddNode(nodeB);
			node.AddNode(nodeC);
        }
        public void FindTypeNodeInHierarchy()
        {
            ConfigurationApplicationFile applicationData = ConfigurationApplicationFile.FromCurrentAppDomain();
            ConfigurationApplicationNode applicationNode = new ConfigurationApplicationNode(applicationData);
            IConfigurationUIHierarchy    hierarchy       = new ConfigurationUIHierarchy(applicationNode, ServiceBuilder.Build());
            MyConfigNode configNode = new MyConfigNode("MyBlock");

            applicationNode.AddNode(configNode);
            ConfigurationNode node = (ConfigurationNode)hierarchy.FindNodeByType(typeof(MyConfigNode));

            Assert.IsNotNull(node);
            Assert.AreSame(configNode, node);
        }
        public void SaveCommandSavesTheHierarchy()
        {
			ConfigurationApplicationNode node = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
			IConfigurationUIHierarchy hierarchy = new ConfigurationUIHierarchy(node, serviceProvider);
			IConfigurationUIHierarchyService service = (IConfigurationUIHierarchyService)serviceProvider.GetService(typeof(IConfigurationUIHierarchyService));
			service.AddHierarchy(hierarchy);
			hierarchy.Saved += new EventHandler<HierarchySavedEventArgs>(OnHierarchySaved);
			SaveConfigurationApplicationNodeCommand cmd = new SaveConfigurationApplicationNodeCommand(serviceProvider);
            cmd.Execute(node);

            Assert.IsTrue(cmd.SaveSucceeded);
            Assert.IsTrue(saveCalled);
        }
		public void TestInitialize()
		{
			BeforeSetup();

			appNode = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
			serviceProvider = ServiceBuilder.Build();
			hierarchy = new ConfigurationUIHierarchy(appNode, serviceProvider);
            ServiceHelper.GetUIHierarchyService(ServiceProvider).SelectedHierarchy = Hierarchy;
			hierarchy.Load();
			InitializeCore();

			AfterSetup();
		}
        public void TestInitialize()
        {
            BeforeSetup();

            appNode         = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
            serviceProvider = ServiceBuilder.Build();
            hierarchy       = new ConfigurationUIHierarchy(appNode, serviceProvider);
            ServiceHelper.GetUIHierarchyService(ServiceProvider).SelectedHierarchy = Hierarchy;
            hierarchy.Load();
            InitializeCore();

            AfterSetup();
        }
		public void TestInitialize()
        {            
            workingNode = null;
			node = new ConfigurationApplicationNode();
			hierarchy = new ConfigurationUIHierarchy(node, ServiceBuilder.Build());
            addingChildEventCount = 0;
            addChildEventCount = 0;
            removingChildEventCount = 0;
            removeChildEventCount = 0;
            renamingEventCount = 0;
            renamedEventCount = 0;
            removingEventCount = 0;
            removeEventCount = 0;
        }		
예제 #32
0
 public void TestInitialize()
 {
     workingNode             = null;
     node                    = new ConfigurationApplicationNode();
     hierarchy               = new ConfigurationUIHierarchy(node, ServiceBuilder.Build());
     addingChildEventCount   = 0;
     addChildEventCount      = 0;
     removingChildEventCount = 0;
     removeChildEventCount   = 0;
     renamingEventCount      = 0;
     renamedEventCount       = 0;
     removingEventCount      = 0;
     removeEventCount        = 0;
 }
예제 #33
0
        public void SaveCommandSavesTheHierarchy()
        {
            ConfigurationApplicationNode     node      = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
            IConfigurationUIHierarchy        hierarchy = new ConfigurationUIHierarchy(node, serviceProvider);
            IConfigurationUIHierarchyService service   = (IConfigurationUIHierarchyService)serviceProvider.GetService(typeof(IConfigurationUIHierarchyService));

            service.AddHierarchy(hierarchy);
            hierarchy.Saved += new EventHandler <HierarchySavedEventArgs>(OnHierarchySaved);
            SaveConfigurationApplicationNodeCommand cmd = new SaveConfigurationApplicationNodeCommand(serviceProvider);

            cmd.Execute(node);

            Assert.IsTrue(cmd.SaveSucceeded);
            Assert.IsTrue(saveCalled);
        }
        public void CanCloseApplication()
        {
            ServiceHelper.GetUIHierarchyService(ServiceProvider).SelectedHierarchy = null;

            ConfigurationApplicationNode node = new ConfigurationApplicationNode();
            IConfigurationUIHierarchy hierarchy = new ConfigurationUIHierarchy(node, ServiceProvider);
            HiearchyService.AddHierarchy(hierarchy);
            UIService.SetUIDirty(hierarchy);
            cmd.Execute(node);

            Assert.AreEqual(HiearchyService.SelectedHierarchy, hierarchy);
            Assert.IsTrue(UIService.IsDirty(hierarchy));
            Assert.AreEqual(0, ErrorLogService.ConfigurationErrorCount);
            Assert.IsNull(HiearchyService.GetHierarchy(hierarchy.Id));
        }
        protected override void OnExecuted(EventArgs e)
        {
            base.OnExecuted(e);
            LoggingExceptionHandlerNode node = ChildNode as LoggingExceptionHandlerNode;

            if (null == node)
            {
                return;
            }
            if (null == CurrentHierarchy.FindNodeByType(typeof(LoggingSettingsNode)))
            {
                ConfigurationApplicationNode applicationNode = (ConfigurationApplicationNode)CurrentHierarchy.FindNodeByType(typeof(ConfigurationApplicationNode));
                new AddLoggingSettingsNodeCommand(ServiceProvider).Execute(applicationNode);
            }
        }
        public void CanCloseApplication()
        {
            ServiceHelper.GetUIHierarchyService(ServiceProvider).SelectedHierarchy = null;

            ConfigurationApplicationNode node      = new ConfigurationApplicationNode();
            IConfigurationUIHierarchy    hierarchy = new ConfigurationUIHierarchy(node, ServiceProvider);

            HiearchyService.AddHierarchy(hierarchy);
            UIService.SetUIDirty(hierarchy);
            cmd.Execute(node);

            Assert.AreEqual(HiearchyService.SelectedHierarchy, hierarchy);
            Assert.IsTrue(UIService.IsDirty(hierarchy));
            Assert.AreEqual(0, ErrorLogService.ConfigurationErrorCount);
            Assert.IsNull(HiearchyService.GetHierarchy(hierarchy.Id));
        }
예제 #37
0
        /// <summary>
        /// Initializes the symmetric cache store encryption designtime and adds it to the caching settings.
        /// </summary>
        /// <param name="serviceProvider">The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</param>
        /// <param name="rootNode">The root node of the application.</param>
        /// <param name="section">The <see cref="ConfigurationSection"/> that was opened from the <see cref="IConfigurationSource"/>.</param>
        protected override void OpenCore(IServiceProvider serviceProvider, ConfigurationApplicationNode rootNode, ConfigurationSection section)
        {
            IConfigurationUIHierarchy hierarchy = ServiceHelper.GetCurrentHierarchy(serviceProvider);

            foreach (SymmetricStorageEncryptionProviderNode symmetricStorageEncryptionNode in hierarchy.FindNodesByType(typeof(SymmetricStorageEncryptionProviderNode)))
            {
                foreach (SymmetricCryptoProviderNode symmetricCryptoProviderNode in hierarchy.FindNodesByType(typeof(SymmetricCryptoProviderNode)))
                {
                    if (symmetricCryptoProviderNode.Name == symmetricStorageEncryptionNode.symmetricCryptoProviderNodeName)
                    {
                        symmetricStorageEncryptionNode.SymmetricInstance = symmetricCryptoProviderNode;
                        break;
                    }
                }
            }
        }
        /// <summary>
        /// Initializes the database listener and adds it to the logging settings.
        /// </summary>
        /// <param name="serviceProvider">The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</param>
        /// <param name="rootNode">The root node of the application.</param>
        /// <param name="section">The <see cref="ConfigurationSection"/> that was opened from the <see cref="IConfigurationSource"/>.</param>
        protected override void OpenCore(IServiceProvider serviceProvider, ConfigurationApplicationNode rootNode, ConfigurationSection section)
        {
            IConfigurationUIHierarchy hierarchy = ServiceHelper.GetCurrentHierarchy(serviceProvider);

            foreach (LoggingDatabaseNode loggingDatabaseNode in hierarchy.FindNodesByType(typeof(LoggingDatabaseNode)))
            {
                foreach (ConnectionStringSettingsNode connectionStringNode in hierarchy.FindNodesByType(typeof(ConnectionStringSettingsNode)))
                {
                    if (connectionStringNode.Name == ((FormattedDatabaseTraceListenerData)loggingDatabaseNode.TraceListenerData).DatabaseInstanceName)
                    {
                        loggingDatabaseNode.DatabaseInstance = connectionStringNode;
                        break;
                    }
                }
            }
        }
        protected override void OpenCore(IServiceProvider serviceProvider, ConfigurationApplicationNode rootNode, ConfigurationSection section)
        {
            IConfigurationUIHierarchy hierarchy = ServiceHelper.GetCurrentHierarchy(serviceProvider);

            foreach (LoggingExceptionHandlerNode handlerNode in hierarchy.FindNodesByType(typeof(LoggingExceptionHandlerNode)))
            {
                foreach (CategoryTraceSourceNode categoryNode in hierarchy.FindNodesByType(typeof(CategoryTraceSourceNode)))
                {
                    if (categoryNode.Name == ((LoggingExceptionHandlerData)handlerNode.ExceptionHandlerData).LogCategory)
                    {
                        handlerNode.LogCategory = categoryNode;
                        break;
                    }
                }
            }
        }
        public void EnsureRemoveHierarchyAndRemoveEventFired()
        {
            using (IConfigurationUIHierarchyService hierarchyService = new ConfigurationUIHierarchyService())
            {
                hierarchyService.HierarchyRemoved += new EventHandler <HierarchyRemovedEventArgs>(OnHierarchyRemoved);
                ConfigurationApplicationNode appNode   = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
                IConfigurationUIHierarchy    hierarchy = new ConfigurationUIHierarchy(appNode, ServiceBuilder.Build());
                hierarchyService.AddHierarchy(hierarchy);
                hierarchyService.RemoveHierarchy(appNode.Id);
                IConfigurationUIHierarchy foundHierarchy = hierarchyService.GetHierarchy(appNode.Id);
                hierarchyService.HierarchyRemoved -= new EventHandler <HierarchyRemovedEventArgs>(OnHierarchyRemoved);

                Assert.AreEqual(1, removedEventCount);
                Assert.AreSame(hierarchy, eventHierarchy);
                Assert.IsNull(foundHierarchy);
            }
        }
예제 #41
0
            public TemporaryConfigurationHierarchy(IServiceProvider serviceProvider, string filePath)
            {
                hierarchyService = ServiceHelper.GetUIHierarchyService(serviceProvider);

                previouslySelectedHierarchy = hierarchyService.SelectedHierarchy;

                ConfigurationApplicationFile configurationFile     = new ConfigurationApplicationFile(Path.GetDirectoryName(filePath), filePath);
                ConfigurationApplicationNode configurationRootNode = new ConfigurationApplicationNode(configurationFile);

                hierarchy = new ConfigurationUIHierarchy(configurationRootNode, serviceProvider);

                hierarchyService.SelectedHierarchy = hierarchy;


                SaveMergedEnvironmentCommand.UpdateConfigurationSource(hierarchy, filePath);
                hierarchy.Open();
            }
 public void TestInitialize()
 {
     rootNode = new ConfigurationApplicationNode();
     hierachy = new ConfigurationUIHierarchy(rootNode, ServiceBuilder.Build());
 }
 private static IConfigurationUIHierarchy CreateHierarchy()
 {
     ConfigurationApplicationNode appNode = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
     return new ConfigurationUIHierarchy(appNode, ServiceBuilder.Build());
 }
        public void EnsureRemoveHierarchyAndRemoveEventFired()
        {
            using (IConfigurationUIHierarchyService hierarchyService = new ConfigurationUIHierarchyService())
            {
                hierarchyService.HierarchyRemoved += new EventHandler<HierarchyRemovedEventArgs>(OnHierarchyRemoved);
                ConfigurationApplicationNode appNode = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
                IConfigurationUIHierarchy hierarchy = new ConfigurationUIHierarchy(appNode, ServiceBuilder.Build());
                hierarchyService.AddHierarchy(hierarchy);
                hierarchyService.RemoveHierarchy(appNode.Id);
                IConfigurationUIHierarchy foundHierarchy = hierarchyService.GetHierarchy(appNode.Id);
                hierarchyService.HierarchyRemoved -= new EventHandler<HierarchyRemovedEventArgs>(OnHierarchyRemoved);

                Assert.AreEqual(1, removedEventCount);
                Assert.AreSame(hierarchy, eventHierarchy);
                Assert.IsNull(foundHierarchy);
            }
        }