private void BuildUpEnvironments() { foreach (YamlScalarNode environmentNode in ReadEnvironmentsSequence()) { var configurableEnvironment = new ConfigurableEnvironment(environmentNode.Value); if (configurableEnvironment.Name == ParameterDefaultValuePropertyName) { throw new InvalidYamlConfigurationFormatException( $"`{ParameterDefaultValuePropertyName}` name is prohibited for environment name."); } _environmentsSet.Add(configurableEnvironment); } }
private static bool IsEnvironmentValueSameAsDefault( ConfigurationParameter parameter, ConfigurableEnvironment environment, out string environmentValue) { var isEnvironmentValueDefined = parameter.Values.TryGetValue(environment, out environmentValue); if (!isEnvironmentValueDefined && ConfigurationParameter.IsValueUnknown(parameter.DefaultValue) || isEnvironmentValueDefined && ((ConfigurationParameter.IsValueUnknown(environmentValue) && ConfigurationParameter.IsValueUnknown(parameter.DefaultValue)) || environmentValue == parameter.DefaultValue)) { return(true); } return(false); }
private void MapDefaultAndEnvironmentValues(YamlMappingNode valueNode, IDictionary <ConfigurableEnvironment, string> valueMapping, out string defaultValue) { defaultValue = null; KeyValuePair <YamlNode, YamlNode> valueAssignment = valueNode.Children.First(); var environmentName = valueAssignment.Key.ToString(); var environment = new ConfigurableEnvironment(environmentName); var value = valueAssignment.Value.ToString(); if (environmentName == ParameterDefaultValuePropertyName) { defaultValue = value; } else { valueMapping[environment] = value; } }
private static void AddEnvironmentValueIfOtherThanDefault(List <object> environmentValuesMapping, ConfigurationParameter parameter, ConfigurableEnvironment environment) { if (IsEnvironmentValueSameAsDefault(parameter, environment, out var valueToSerialize)) { return; } environmentValuesMapping.Add(new Dictionary <string, string> { { environment.Name, valueToSerialize ?? string.Empty } }); }