示例#1
0
            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);
                }
            }
示例#2
0
            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);
            }
示例#3
0
            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;
                }
            }
示例#4
0
            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 }
                });
            }