/// <summary> /// Gets the a <see cref="ConfigurationSectionInfo"/> for the oracle connection configuration 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 oracle connection configuration section.</returns> protected override ConfigurationSectionInfo GetConfigurationSectionInfo(IServiceProvider serviceProvider) { ConfigurationNode rootNode = ServiceHelper.GetCurrentRootNode(serviceProvider); ODP10ConnectionSettings odp10ConnectionSection = null; IList <ConfigurationNode> connections = rootNode.Hierarchy.FindNodesByType(typeof(OracleConnectionElementNode)); if (connections.Count == 0) { odp10ConnectionSection = null; } else { ODP10ConnectionSettingsBuilder builder = new ODP10ConnectionSettingsBuilder(serviceProvider); odp10ConnectionSection = builder.Build(); } return(new ConfigurationSectionInfo(rootNode, odp10ConnectionSection, ODP10ConnectionSettings.SectionName)); }
public ODP10ConnectionSettings Build() { odp10ConnectionSettings = new ODP10ConnectionSettings(); IList <ConfigurationNode> connections = hierarchy.FindNodesByType(typeof(OracleConnectionElementNode)); for (int index = 0; index < connections.Count; ++index) { ODP10ConnectionData data = new ODP10ConnectionData(); data.Name = connections[index].Parent.Name; foreach (ODP10PackageElementNode node in connections[index].Nodes) { data.Packages.Add(node.ODP10PackageElement); } odp10ConnectionSettings.ODP10ConnectionsData.Add(data); } return(odp10ConnectionSettings); }
public Database Assemble(string name, ConnectionStringSettings connectionStringSettings, IConfigurationSource configurationSource) { ODP10ConnectionSettings oracleConnectionSettings = ODP10ConnectionSettings.GetSettings(configurationSource); if (oracleConnectionSettings != null) { ODP10ConnectionData oracleConnectionData = oracleConnectionSettings.ODP10ConnectionsData.Get(name); if (oracleConnectionData != null) { IODP10Package[] packages = new IODP10Package[oracleConnectionData.Packages.Count]; int i = 0; foreach (IODP10Package package in oracleConnectionData.Packages) { packages[i++] = package; } return(new ODP10Database(connectionStringSettings.ConnectionString, packages)); } } return(new ODP10Database(connectionStringSettings.ConnectionString)); }
public ODP10ConnectionNodeBuilder(IServiceProvider serviceProvider, ODP10ConnectionSettings odp10ConnectionSettings) : base(serviceProvider) { this.hierarchy = ServiceHelper.GetCurrentHierarchy(serviceProvider); this.odp10ConnectionSettings = odp10ConnectionSettings; }