public virtual void Save(IServiceProvider serviceProvider) { ConfigurationSectionInfo info = null; ConfigurationNode node = ServiceHelper.GetCurrentRootNode(serviceProvider); try { IConfigurationSource configurationSource = GetConfigurationSource(serviceProvider); IConfigurationParameter parameter = GetConfigurationParameter(serviceProvider); info = GetConfigurationSectionInfo(serviceProvider); if (null != info && !string.IsNullOrEmpty(info.SectionName)) { if (null != info.Section) { configurationSource.Add(parameter, info.SectionName, info.Section); } else { configurationSource.Remove(parameter, info.SectionName); } } } catch (Exception e) { ServiceHelper.LogError(serviceProvider, info != null ? info.Node : node, e); } }
/// <summary> /// <para>Opens the configuration settings and registers them with the application.</para> /// </summary> /// <param name="serviceProvider"> /// <para>The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</para> /// </param> public void Open(IServiceProvider serviceProvider) { ConfigurationContext configurationContext = ServiceHelper.GetCurrentConfigurationContext(serviceProvider); ConfigurationSectionCollectionNode sectionsNode = null; ConfigurationNode configurationNode = ServiceHelper.GetCurrentRootNode(serviceProvider); RemoveCurrentConfigurationSectionCollectionNode(serviceProvider); try { string appName = SR.DefaultApplicationName; ConfigurationSettings configurationSettings = configurationContext.GetMetaConfiguration(); if (null != configurationSettings) { appName = configurationSettings.ApplicationName; if (configurationSettings.ConfigurationSections.Count > 0) { sectionsNode = new ConfigurationSectionCollectionNode(configurationSettings); configurationNode.Nodes.Add(sectionsNode); } } if (configurationNode is ApplicationConfigurationNode) { ((ApplicationConfigurationNode)configurationNode).Name = appName; } } catch (ConfigurationException e) { ServiceHelper.LogError(serviceProvider, sectionsNode, e); } }
/// <summary> /// Gets a <see cref="FileConfigurationSource"/> based on the applications 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> /// <returns>A <see cref="FileConfigurationSource"/> based on the applications configuration file.</returns> protected override IConfigurationSource GetConfigurationSource(IServiceProvider serviceProvider) { string configurationFile = ServiceHelper.GetCurrentRootNode(serviceProvider).ConfigurationFile; FileConfigurationSource.ResetImplementation(configurationFile, false); return(new FileConfigurationSource(configurationFile)); }
/// <summary> /// Executes the creation of the file. /// </summary> public override void Execute() { string filePath = GetAbsolutePathFromConfigurationPath(ServiceHelper.GetCurrentRootNode(ServiceProvider).ConfigurationFile, FileName); if (!File.Exists(filePath)) { CreateFile(filePath); } }
private void CreateStorageEntries() { using (StorageCreationNodeCommand cmd = new StorageCreationNodeCommand(ServiceProvider)) { cmd.Execute(ServiceHelper.GetCurrentRootNode(ServiceProvider)); } IStorageService storage = CurrentHierarchy.StorageService; storage.ForEach(new Action <StorageCreationCommand>(ExecuteStorageCommand)); }
private static void CreateCommands(IServiceProvider serviceProvider) { IUIHierarchy currentHierarchy = ServiceHelper.GetCurrentHierarchy(serviceProvider); ConfigurationNode rootNode = ServiceHelper.GetCurrentRootNode(serviceProvider); bool containsNode = currentHierarchy.ContainsNodeType(rootNode, typeof(ConfigurationSectionCollectionNode)); IMenuContainerService menuService = ServiceHelper.GetMenuContainerService(serviceProvider); ConfigurationMenuItem item = new ConfigurationMenuItem(SR.ConfigurationSectionCollectionMenuItemText, new AddChildNodeCommand(serviceProvider, typeof(ConfigurationSectionCollectionNode)), rootNode, Shortcut.None, SR.ConfigurationSectionCollectionStatusText, InsertionPoint.New); item.Enabled = !containsNode; menuService.MenuItems.Add(item); }
private bool DoValidationCommand() { using (ValidateNodeCommand cmd = new ValidateNodeCommand(ServiceProvider, false, false)) { cmd.Execute(ServiceHelper.GetCurrentRootNode(ServiceProvider)); if (!cmd.ValidationSucceeded) { UIService.ShowMessage(Resources.ValidationErrorsMessage, Resources.SaveApplicationCaption, MessageBoxButtons.OK); saveSucceeded = false; return(false); } return(true); } }
private bool CreateConfigurationFile() { // set the configuration file here for the service IStorageService service = ServiceHelper.GetCurrentStorageService(ServiceProvider); service.ConfigurationFile = ServiceHelper.GetCurrentRootNode(ServiceProvider).ConfigurationFile; ConfigurationFileStorageCreationCommand cmd = new ConfigurationFileStorageCreationCommand(service.ConfigurationFile, ServiceProvider); cmd.Execute(); if (cmd.CreationCancled) { return(false); } return(true); }
private static ConfigurationSettings GetConfigurationSettings(IServiceProvider serviceProvider) { ConfigurationNode rootNode = ServiceHelper.GetCurrentRootNode(serviceProvider); ConfigurationSectionCollectionNode sectionsNode = rootNode.Hierarchy.FindNodeByType(rootNode, typeof(ConfigurationSectionCollectionNode)) as ConfigurationSectionCollectionNode; ConfigurationSettings configurationSettings = null; if (sectionsNode == null) { configurationSettings = new ConfigurationSettings(); } else { configurationSettings = sectionsNode.ConfigurationSettings; } return(configurationSettings); }
private DialogResult GetApplicationFileFromUI() { ApplicationConfigurationNode node = (ApplicationConfigurationNode)ServiceHelper.GetCurrentRootNode(ServiceProvider); SaveFileDialog dialog = new SaveFileDialog(); dialog.Filter = SR.ConfigurationFileDialogFilter; dialog.Title = System.String.Concat(SR.SaveApplicationCaption, " : ", node.Name); IUIService uiService = ServiceHelper.GetUIService(ServiceProvider); System.Windows.Forms.DialogResult result = uiService.ShowSaveDialog(dialog); if (System.Windows.Forms.DialogResult.OK == result) { FileName = dialog.FileName; node.ConfigurationFile = FileName; node.Hierarchy.StorageTable.MetaConfigurationFile = FileName; } return(result); }
/// <summary> /// TODO /// </summary> /// <param name="node"></param> protected override void ExecuteCore(ConfigurationNode node) { ConfigurationApplicationNode applicationNode = ServiceHelper.GetCurrentRootNode(ServiceProvider); string previousConfigurationFile = applicationNode.ConfigurationFile; applicationNode.ConfigurationFile = filePath; try { base.ExecuteCore(node); } finally { if (!updateApplicationNode) { applicationNode.ConfigurationFile = previousConfigurationFile; } } }
public void Open(IServiceProvider serviceProvider) { IConfigurationSource configurationSource = GetConfigurationSource(serviceProvider); ConfigurationApplicationNode appNode = ServiceHelper.GetCurrentRootNode(serviceProvider); try { ConfigurationSectionInfo info = GetConfigurationSectionInfo(serviceProvider); if (null != info) { ConfigurationSection section = configurationSource.GetSection(info.SectionName); OpenCore(serviceProvider, appNode, section); } } catch (Exception e) { ServiceHelper.LogError(serviceProvider, appNode, e); } }
/// <summary> /// <para>Saves the configuration settings created for the application.</para> /// </summary> /// <param name="serviceProvider"> /// <para>The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</para> /// </param> public void Save(IServiceProvider serviceProvider) { ConfigurationContext configurationContext = ServiceHelper.GetCurrentConfigurationContext(serviceProvider); ConfigurationNode node = ServiceHelper.GetCurrentRootNode(serviceProvider); try { ConfigurationSettings configurationSettings = GetConfigurationSettings(serviceProvider); configurationSettings.ApplicationName = node.Name; configurationContext.WriteMetaConfiguration(configurationSettings); } catch (ConfigurationException e) { ServiceHelper.LogError(serviceProvider, node, e); } catch (InvalidOperationException e) { ServiceHelper.LogError(serviceProvider, node, e); } }
/// <summary> /// Gets the a <see cref="ConfigurationSectionInfo"/> for the instrumentation section. /// </summary> /// <param name="serviceProvider">The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</param> /// <returns>A <see cref="ConfigurationSectionInfo"/> for the configuration for the configuration sources.</returns> protected override ConfigurationSectionInfo GetConfigurationSectionInfo(IServiceProvider serviceProvider) { ConfigurationNode rootNode = ServiceHelper.GetCurrentRootNode(serviceProvider); InstrumentationNode node = null; if (null != rootNode) { node = rootNode.Hierarchy.FindNodeByType(rootNode, typeof(InstrumentationNode)) as InstrumentationNode; } InstrumentationConfigurationSection instrumentationSection = null; if (node == null) { instrumentationSection = null; } else { instrumentationSection = node.InstrumentationConfigurationSection; } return(new ConfigurationSectionInfo(node, instrumentationSection, InstrumentationConfigurationSection.SectionName)); }
/// <summary> /// Gets the a <see cref="ConfigurationSectionInfo"/> for the configuration sources. /// </summary> /// <param name="serviceProvider">The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</param> /// <returns>A <see cref="ConfigurationSectionInfo"/> for the configuration for the configuration sources.</returns> protected override ConfigurationSectionInfo GetConfigurationSectionInfo(IServiceProvider serviceProvider) { ConfigurationNode rootNode = ServiceHelper.GetCurrentRootNode(serviceProvider); ConfigurationSourceSectionNode node = null; if (null != rootNode) { node = (ConfigurationSourceSectionNode)rootNode.Hierarchy.FindNodeByType(rootNode, typeof(ConfigurationSourceSectionNode)); } ConfigurationSourceSection sourcesSection = null; if (node == null) { sourcesSection = null; } else { ConfigurationSourceSectionBuilder builder = new ConfigurationSourceSectionBuilder(node); sourcesSection = builder.Build();; } return(new ConfigurationSectionInfo(node, sourcesSection, ConfigurationSourceSection.SectionName)); }
private DialogResult GetApplicationFileFromUI() { ConfigurationApplicationNode node = (ConfigurationApplicationNode)ServiceHelper.GetCurrentRootNode(ServiceProvider); SaveFileDialog dialog = new SaveFileDialog(); dialog.Filter = Resources.ConfigurationFileDialogFilter; dialog.Title = System.String.Concat(Resources.SaveApplicationCaption, " : ", node.Name); IUIService uiService = ServiceHelper.GetUIService(ServiceProvider); System.Windows.Forms.DialogResult result = uiService.ShowSaveDialog(dialog); Application.DoEvents(); // we need this because the wait cursor gets set back by the save dialog Cursor.Current = Cursors.WaitCursor; if (System.Windows.Forms.DialogResult.OK == result) { DeleteFileIfItExists(dialog.FileName); FileName = dialog.FileName; node.ConfigurationFile = FileName; node.Hierarchy.StorageService.ConfigurationFile = FileName; uiService.RefreshPropertyGrid(); } return(result); }
/// <summary> /// Gets a <see cref="FileConfigurationParameter"/> based on the applications 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> /// <returns>A <see cref="FileConfigurationParameter"/> based on the applications configuration file.</returns> protected override IConfigurationParameter GetConfigurationParameter(IServiceProvider serviceProvider) { return(new FileConfigurationParameter(ServiceHelper.GetCurrentRootNode(serviceProvider).ConfigurationFile)); }