Esempio n. 1
0
        /// <summary>
        /// Creates a new ContainerConfig object based on configuration parameters. Each
        /// section in the configuration parameters is converted into a component configuration.
        /// </summary>
        /// <param name="config">an object with key-value pairs used to initialize a new ContainerConfig.</param>
        /// <returns>a new ContainerConfig object.</returns>
        public static ContainerConfig FromConfig(ConfigParams config)
        {
            var result = new ContainerConfig();

            if (config == null)
            {
                return(result);
            }

            foreach (var section in config.GetSectionNames())
            {
                var componentConfig = config.GetSection(section);
                result.Add(ComponentConfig.FromConfig(componentConfig));
            }

            return(result);
        }
        /// <summary>
        /// Reads container configuration from YAML file.
        /// </summary>
        /// <param name="correlationId">(optional) transaction id to trace execution through call chain.</param>
        /// <param name="path">a path to component configuration file.</param>
        /// <param name="parameters">values to parameters the configuration or null to skip parameterization.</param>
        /// <returns>the read container configuration</returns>
        public static ContainerConfig ReadFromYamlFile(string correlationId, string path, ConfigParams parameters)
        {
            var config = YamlConfigReader.ReadConfig(correlationId, path, parameters);

            return(ContainerConfig.FromConfig(config));
        }