From c6ac633d165cafe1d3fbde4761cd12b0a5baae8c Mon Sep 17 00:00:00 2001 From: Nicolas Charles Date: Tue, 11 Apr 2017 18:48:30 +0200 Subject: [PATCH] Fixes #10590: Generic method to remove separate parameters in key=\"values\" line - Adapt reporting for ncf 1.0 --- ..._ensure_key_value_parameter_not_in_list.cf | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/tree/30_generic_methods/file_ensure_key_value_parameter_not_in_list.cf b/tree/30_generic_methods/file_ensure_key_value_parameter_not_in_list.cf index d1de9b632..c113ec5c0 100644 --- a/tree/30_generic_methods/file_ensure_key_value_parameter_not_in_list.cf +++ b/tree/30_generic_methods/file_ensure_key_value_parameter_not_in_list.cf @@ -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}"); @@ -87,23 +90,29 @@ 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}", "${old_class_prefix}", "${class_prefix}", @{args}); 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}", "${old_class_prefix}", "${class_prefix}", @{args}); 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}"); + "report" usebundle => _log("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", "${old_class_prefix}", "${class_prefix}", @{args}); }