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

Reply via email to