fgerlits commented on code in PR #1806: URL: https://github.com/apache/nifi-minifi-cpp/pull/1806#discussion_r1675996578
########## libminifi/src/core/ParameterTokenParser.cpp: ########## @@ -85,21 +86,31 @@ std::string ParameterTokenParser::replaceParameters(ParameterContext* parameter_ if (!parameter_context) { throw ParameterException("Property references a parameter in its value, but no parameter context was provided."); } - gsl_Assert(token->getName().has_value()); auto parameter = parameter_context->getParameter(token->getName().value()); if (!parameter.has_value()) { throw ParameterException("Parameter '" + token->getName().value() + "' not found"); } - if (is_sensitive) { - throw ParameterException("Non-sensitive parameter '" + parameter->name + "' cannot be referenced in a sensitive property"); - } - result.append(std::string(token->getAdditionalHashmarks(), '#') + parameter->value); + result.append(std::string(token->getAdditionalHashmarks(), '#') + getRawParameterValue(*parameter)); last_end = token->getStart() + token->getSize(); } result.append(input_.substr(last_end)); return result; } +std::string NonSensitiveParameterTokenParser::getRawParameterValue(const Parameter& parameter) const { + if (parameter.sensitive) { + throw ParameterException("Sensitive parameter '" + parameter.name + "' cannot be referenced in a non-sensitive property"); + } + return parameter.value; +} + +std::string SensitiveParameterTokenParser::getRawParameterValue(const Parameter& parameter) const { + if (!parameter.sensitive) { + throw ParameterException("Non-sensitive parameter '" + parameter.name + "' cannot be referenced in a sensitive property"); + } + return utils::crypto::property_encryption::decrypt(parameter.value, sensitive_values_encryptor_); +} Review Comment: OK -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org