Skip to content

Commit

Permalink
Fixes #10590: Generic method to remove separate parameters in key=\"v…
Browse files Browse the repository at this point in the history
…alues\" line - Adapt reporting for ncf 1.0
  • Loading branch information
ncharles committed Apr 11, 2017
1 parent 817490d commit 40d39ac
Showing 1 changed file with 15 additions and 6 deletions.
Expand Up @@ -54,9 +54,12 @@
bundle agent file_ensure_key_value_parameter_not_in_list(file, key, key_value_separator, parameter_regex, parameter_separator, leading_char_separator, closing_char_separator)
{
vars:
"class_prefix" string => canonify("file_ensure_key_value_parameter_not_in_list_${file}");
"old_class_prefix" string => canonify("file_ensure_key_value_parameter_not_in_list_${file}");
"promisers" slist => { @{this.callers_promisers}, cf_null }, policy => "ifdefined";
"class_prefix" string => canonify(join("_", "promisers"));
"args" slist => { "${file}", "${key}", "${key_value_separator}", "${parameter_regex}", "${parameter_separator}", "${leading_char_separator}", "${closing_char_separator}" };

"escaped_key" string => escape("${key}");
"escaped_key" string => escape("${key}");
"escaped_parameter" string => escape("${parameter_regex}");

"escaped_leading_char" string => escape("${leading_char_separator}");
Expand Down Expand Up @@ -87,22 +90,28 @@ bundle agent file_ensure_key_value_parameter_not_in_list(file, key, key_value_se
"${file}"
edit_line => ncf_remove_parameter_in_list("${key}", "${key_value_separator}", "${parameter_separator}", "${parameter_regex}", "${leading_char_separator}", "${closing_char_separator}"),
edit_defaults => ncf_empty_select("false"),
classes => classes_generic("${class_prefix}"),
classes => classes_generic_two("${old_class_prefix}", "${class_prefix}"),
# This comment is necessary, see https://www.rudder-project.org/redmine/issues/10153
comment => "Editing file ${file} to remove parameter ${leading_char_separator} ${parameter_regex} ${closing_char_separator} for key ${key}";

methods:
pass2::
pass2.has_promiser_stack::
"success class" usebundle => _classes_success("${class_prefix}"),
ifvarclass => "!line_with_parameter_present";
"error_class" usebundle => _classes_failure("${class_prefix}"),
ifvarclass => "invalid_enclosing";

pass2.!has_promiser_stack::
"success class" usebundle => _classes_success("${old_class_prefix}"),
ifvarclass => "!line_with_parameter_present";
"error_class" usebundle => _classes_failure("${old_class_prefix}"),
ifvarclass => "invalid_enclosing";

pass2.!invalid_enclosing.line_with_key_present::
"report" usebundle => _logger("Ensure ${parameter_regex} is not in ${key}${key_value_separator} values in ${file}", "${class_prefix}");
"report" usebundle => _log("Ensure ${parameter_regex} is not in ${key}${key_value_separator} values in ${file}", "${class_prefix}");

pass2.!invalid_enclosing.!line_with_key_present::
"report" usebundle => _logger("Non existing key ${key} with value ${leading_char_separator} ${parameter_regex} ${closing_char_separator} in ${file}", "${class_prefix}");
"report" usebundle => _log("Non existing key ${key} with value ${leading_char_separator} ${parameter_regex} ${closing_char_separator} in ${file}", "${class_prefix}");

pass2.invalid_enclosing::
"report" usebundle => _logger("Ensure not ${parameter_regex} in line ${key}${key_value_separator} values in ${file} must have either no enclosing character, or two, but not only one", "${class_prefix}");
Expand Down

0 comments on commit 40d39ac

Please sign in to comment.