This is an automated email from the ASF dual-hosted git repository.

martinzink pushed a commit to branch minifi-api-property
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git

commit 9b36fa3c2d3c74ea125a4810ed09a30aac0de175
Author: Martin Zink <[email protected]>
AuthorDate: Fri Mar 14 10:18:44 2025 +0100

    rebase fixes
---
 .../tests/unit/FlowJsonTests.cpp                   | 12 ++++-------
 .../tests/unit/SegmentContentTests.cpp             |  2 +-
 .../tests/unit/SplitContentTests.cpp               |  2 +-
 .../tests/unit/SplitTextTests.cpp                  |  2 +-
 .../tests/unit/YamlConfigurationTests.cpp          | 12 ++++-------
 libminifi/include/core/ParameterProvider.h         |  2 +-
 libminifi/src/core/ParameterProvider.cpp           |  4 ++--
 .../EnvironmentVariableParameterProvider.cpp       |  8 ++++----
 .../EnvironmentVariableParameterProviderTest.cpp   | 24 +++++++++++-----------
 9 files changed, 30 insertions(+), 38 deletions(-)

diff --git a/extensions/standard-processors/tests/unit/FlowJsonTests.cpp 
b/extensions/standard-processors/tests/unit/FlowJsonTests.cpp
index 359b13199..48c5630e9 100644
--- a/extensions/standard-processors/tests/unit/FlowJsonTests.cpp
+++ b/extensions/standard-processors/tests/unit/FlowJsonTests.cpp
@@ -1490,15 +1490,11 @@ TEST_CASE("Parameter providers can be used for 
parameter values") {
   std::unique_ptr<core::ProcessGroup> flow = 
config.getRootFromPayload(CONFIG_JSON);
   REQUIRE(flow);
 
-  auto* proc = flow->findProcessorByName("MyProcessor");
+  auto* proc = 
dynamic_cast<core::ProcessorImpl*>(flow->findProcessorByName("MyProcessor"));
   REQUIRE(proc);
-  REQUIRE(proc->getProperty("Simple Property") == "value1");
-  core::Property property("My Dynamic Property Sequence", "");
-  proc->getDynamicProperty("My Dynamic Property Sequence", property);
-  auto values = property.getValues();
-  REQUIRE(values.size() == 2);
-  CHECK(values[0] == "value2");
-  CHECK(values[1] == "value3");
+  auto values = proc->getAllDynamicPropertyValues("My Dynamic Property 
Sequence");
+  CHECK((*values)[0] == "value2");
+  CHECK((*values)[1] == "value3");
 }
 
 TEST_CASE("Parameter providers can be configured to select which parameters to 
be sensitive") {
diff --git a/extensions/standard-processors/tests/unit/SegmentContentTests.cpp 
b/extensions/standard-processors/tests/unit/SegmentContentTests.cpp
index 1c14e658a..741e9fbb1 100644
--- a/extensions/standard-processors/tests/unit/SegmentContentTests.cpp
+++ b/extensions/standard-processors/tests/unit/SegmentContentTests.cpp
@@ -61,7 +61,7 @@ TEST_CASE("Invalid segmentSize tests") {
 
   SECTION("foo") {
     
REQUIRE_NOTHROW(segment_content->setProperty(SegmentContent::SegmentSize.name, 
"foo"), "General Operation: Segment Size value validation failed");
-    REQUIRE_THROWS_WITH(controller.trigger("bar"), "Expected parsable data 
size from SegmentContent::Segment Size");
+    REQUIRE_THROWS_WITH(controller.trigger("bar"), "Expected parsable data 
size from SegmentContent::Segment Size: parsing error: GeneralParsingError 
(0)");
   }
   SECTION("10 foo") {
     
REQUIRE_NOTHROW(segment_content->setProperty(SegmentContent::SegmentSize.name, 
"10 foo"), "General Operation: Segment Size value validation failed");
diff --git a/extensions/standard-processors/tests/unit/SplitContentTests.cpp 
b/extensions/standard-processors/tests/unit/SplitContentTests.cpp
index 64899ad5a..25fa95d27 100644
--- a/extensions/standard-processors/tests/unit/SplitContentTests.cpp
+++ b/extensions/standard-processors/tests/unit/SplitContentTests.cpp
@@ -37,7 +37,7 @@ TEST_CASE("WithoutByteSequence") {
   split_content->setProperty(SplitContent::KeepByteSequence.name, "true");
   split_content->setProperty(SplitContent::ByteSequenceLocationProperty.name, 
std::string{magic_enum::enum_name(SplitContent::ByteSequenceLocation::Leading)});
 
-  REQUIRE_THROWS_WITH(controller.trigger("rub-a-dub-dub"), "Expected valid 
value from SplitContent::Byte Sequence");
+  REQUIRE_THROWS_WITH(controller.trigger("rub-a-dub-dub"), "Expected valid 
value from SplitContent::Byte Sequence: property error: PropertyNotSet (2)");
 }
 
 TEST_CASE("EmptyFlowFile") {
diff --git a/extensions/standard-processors/tests/unit/SplitTextTests.cpp 
b/extensions/standard-processors/tests/unit/SplitTextTests.cpp
index 3553361ab..3d56232c5 100644
--- a/extensions/standard-processors/tests/unit/SplitTextTests.cpp
+++ b/extensions/standard-processors/tests/unit/SplitTextTests.cpp
@@ -189,7 +189,7 @@ void runSplitTextTest(const std::string& input, const 
std::vector<ExpectedSplitT
 
 TEST_CASE("Line Split Count property is required") {
   SingleProcessorTestController 
controller{std::make_unique<processors::SplitText>("SplitText")};
-  REQUIRE_THROWS_WITH(controller.trigger("", {}), "Expected parsable uint64_t 
from SplitText::Line Split Count");
+  REQUIRE_THROWS_WITH(controller.trigger("", {}), "Expected parsable uint64_t 
from SplitText::Line Split Count: property error: PropertyNotSet (2)");
 }
 
 TEST_CASE("Line Split Count property can only be 0 if Maximum Fragment Size is 
set") {
diff --git 
a/extensions/standard-processors/tests/unit/YamlConfigurationTests.cpp 
b/extensions/standard-processors/tests/unit/YamlConfigurationTests.cpp
index 808de010b..09ecab861 100644
--- a/extensions/standard-processors/tests/unit/YamlConfigurationTests.cpp
+++ b/extensions/standard-processors/tests/unit/YamlConfigurationTests.cpp
@@ -2147,15 +2147,11 @@ Parameter Context Name: dummycontext
   std::unique_ptr<core::ProcessGroup> flow = 
yaml_config.getRootFromPayload(TEST_CONFIG_YAML);
   REQUIRE(flow);
 
-  auto* proc = flow->findProcessorByName("DummyProcessor");
+  auto* proc = 
dynamic_cast<core::ProcessorImpl*>(flow->findProcessorByName("DummyProcessor"));
   REQUIRE(proc);
-  REQUIRE(proc->getProperty("Simple Property") == "value1");
-  core::Property property("My Dynamic Property Sequence", "");
-  proc->getDynamicProperty("My Dynamic Property Sequence", property);
-  auto values = property.getValues();
-  REQUIRE(values.size() == 2);
-  CHECK(values[0] == "value2");
-  CHECK(values[1] == "value3");
+  auto values = proc->getAllDynamicPropertyValues("My Dynamic Property 
Sequence");
+  CHECK((*values)[0] == "value2");
+  CHECK((*values)[1] == "value3");
 }
 
 TEST_CASE("Parameter providers can be configured to select which parameters to 
be sensitive", "[YamlConfiguration]") {
diff --git a/libminifi/include/core/ParameterProvider.h 
b/libminifi/include/core/ParameterProvider.h
index f756feb10..c09220671 100644
--- a/libminifi/include/core/ParameterProvider.h
+++ b/libminifi/include/core/ParameterProvider.h
@@ -23,7 +23,7 @@
 #include <unordered_set>
 
 #include "core/Core.h"
-#include "core/ConfigurableComponent.h"
+#include "core/ConfigurableComponentImpl.h"
 #include "core/ParameterContext.h"
 #include "core/PropertyDefinitionBuilder.h"
 
diff --git a/libminifi/src/core/ParameterProvider.cpp 
b/libminifi/src/core/ParameterProvider.cpp
index b79066b17..22d067309 100644
--- a/libminifi/src/core/ParameterProvider.cpp
+++ b/libminifi/src/core/ParameterProvider.cpp
@@ -22,7 +22,7 @@ namespace org::apache::nifi::minifi::core {
 ParameterProviderConfig ParameterProvider::readParameterProviderConfig() const 
{
   ParameterProviderConfig config;
 
-  auto sensitive_parameter_scope_str = getProperty(SensitiveParameterScope);
+  auto sensitive_parameter_scope_str = 
getProperty(SensitiveParameterScope.name);
   if (!sensitive_parameter_scope_str) {
     throw ParameterException("Sensitive Parameter Scope is required");
   }
@@ -33,7 +33,7 @@ ParameterProviderConfig 
ParameterProvider::readParameterProviderConfig() const {
   config.sensitive_parameter_scope = sensitive_parameter_scope.value();
 
   if (config.sensitive_parameter_scope == 
SensitiveParameterScopeOptions::selected) {
-    if (auto sensitive_parameter_list = getProperty(SensitiveParameterList)) {
+    if (auto sensitive_parameter_list = 
getProperty(SensitiveParameterList.name)) {
       for (const auto& sensitive_parameter : 
minifi::utils::string::splitAndTrimRemovingEmpty(*sensitive_parameter_list, 
",")) {
         config.sensitive_parameters.insert(sensitive_parameter);
       }
diff --git 
a/libminifi/src/parameter-providers/EnvironmentVariableParameterProvider.cpp 
b/libminifi/src/parameter-providers/EnvironmentVariableParameterProvider.cpp
index e98af5bda..b24ce6ce9 100644
--- a/libminifi/src/parameter-providers/EnvironmentVariableParameterProvider.cpp
+++ b/libminifi/src/parameter-providers/EnvironmentVariableParameterProvider.cpp
@@ -24,7 +24,7 @@
 namespace org::apache::nifi::minifi::parameter_providers {
 
 std::string EnvironmentVariableParameterProvider::readParameterGroupName() 
const {
-  auto parameter_group_name = getProperty(ParameterGroupName);
+  auto parameter_group_name = getProperty(ParameterGroupName.name);
   if (!parameter_group_name || parameter_group_name.value().empty()) {
     throw core::ParameterException("Parameter Group Name is required");
   }
@@ -33,7 +33,7 @@ std::string 
EnvironmentVariableParameterProvider::readParameterGroupName() const
 }
 
 EnvironmentVariableInclusionStrategyOptions 
EnvironmentVariableParameterProvider::readEnvironmentVariableInclusionStrategy()
 const {
-  auto env_variable_inclusion_strategy_str = 
getProperty(EnvironmentVariableInclusionStrategy);
+  auto env_variable_inclusion_strategy_str = 
getProperty(EnvironmentVariableInclusionStrategy.name);
   if (!env_variable_inclusion_strategy_str) {
     throw core::ParameterException("Environment Variable Inclusion Strategy is 
required");
   }
@@ -47,7 +47,7 @@ EnvironmentVariableInclusionStrategyOptions 
EnvironmentVariableParameterProvider
 
 void 
EnvironmentVariableParameterProvider::filterEnvironmentVariablesByCommaSeparatedList(std::unordered_map<std::string,
 std::string>& environment_variables) const {
   std::unordered_set<std::string> included_environment_variables;
-  if (auto incuded_environment_variables_str = 
getProperty(IncludeEnvironmentVariables)) {
+  if (auto incuded_environment_variables_str = 
getProperty(IncludeEnvironmentVariables.name)) {
     for (const auto& included_environment_variable : 
minifi::utils::string::splitAndTrimRemovingEmpty(*incuded_environment_variables_str,
 ",")) {
       included_environment_variables.insert(included_environment_variable);
     }
@@ -63,7 +63,7 @@ void 
EnvironmentVariableParameterProvider::filterEnvironmentVariablesByCommaSepa
 }
 
 void 
EnvironmentVariableParameterProvider::filterEnvironmentVariablesByRegularExpression(std::unordered_map<std::string,
 std::string>& environment_variables) const {
-  auto env_variable_regex_str = getProperty(IncludeEnvironmentVariables);
+  auto env_variable_regex_str = getProperty(IncludeEnvironmentVariables.name);
   if (env_variable_regex_str && !env_variable_regex_str->empty()) {
     logger_->log_debug("Filtering environment variables using regular 
expression: {}", *env_variable_regex_str);
     utils::Regex regex(*env_variable_regex_str);
diff --git a/libminifi/test/unit/EnvironmentVariableParameterProviderTest.cpp 
b/libminifi/test/unit/EnvironmentVariableParameterProviderTest.cpp
index 58bad6da6..9f4c91ce2 100644
--- a/libminifi/test/unit/EnvironmentVariableParameterProviderTest.cpp
+++ b/libminifi/test/unit/EnvironmentVariableParameterProviderTest.cpp
@@ -26,7 +26,7 @@ TEST_CASE("Parameter Group Name is required", 
"[parameterProviders]") {
   utils::Environment::setEnvironmentVariable("MINIFI_DATA", 
"minifi_data_value");
   parameter_providers::EnvironmentVariableParameterProvider 
provider("EnvironmentVariableParameterProvider");
   provider.initialize();
-  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::ParameterGroupName,
 "");
+  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::ParameterGroupName.name,
 "");
   REQUIRE_THROWS_WITH(provider.createParameterContexts(), "Parameter 
Operation: Parameter Group Name is required");
 }
 
@@ -34,7 +34,7 @@ TEST_CASE("Test EnvironmentVariableParameterProvider with 
default options", "[pa
   utils::Environment::setEnvironmentVariable("MINIFI_DATA", 
"minifi_data_value");
   parameter_providers::EnvironmentVariableParameterProvider 
provider("EnvironmentVariableParameterProvider");
   provider.initialize();
-  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::ParameterGroupName,
 "environment-variable-parameter-context");
+  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::ParameterGroupName.name,
 "environment-variable-parameter-context");
   auto contexts = provider.createParameterContexts();
   REQUIRE(contexts.size() == 1);
   REQUIRE(contexts[0]->getName() == "environment-variable-parameter-context");
@@ -49,9 +49,9 @@ TEST_CASE("Create parameter context with selected environment 
variables", "[para
   utils::Environment::setEnvironmentVariable("MINIFI_NEW_DATA", 
"minifi_new_data_value");
   parameter_providers::EnvironmentVariableParameterProvider 
provider("EnvironmentVariableParameterProvider");
   provider.initialize();
-  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::ParameterGroupName,
 "environment-variable-parameter-context");
-  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::EnvironmentVariableInclusionStrategy,
 "Comma-Separated");
-  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::IncludeEnvironmentVariables,
 "MINIFI_DATA,MINIFI_NEW_DATA");
+  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::ParameterGroupName.name,
 "environment-variable-parameter-context");
+  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::EnvironmentVariableInclusionStrategy.name,
 "Comma-Separated");
+  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::IncludeEnvironmentVariables.name,
 "MINIFI_DATA,MINIFI_NEW_DATA");
   auto contexts = provider.createParameterContexts();
   REQUIRE(contexts.size() == 1);
   REQUIRE(contexts[0]->getName() == "environment-variable-parameter-context");
@@ -66,8 +66,8 @@ TEST_CASE("Create parameter context with selected environment 
variables", "[para
 TEST_CASE("Environment variable list must be defined if Comma-Separated 
inclusion strategy is set", "[parameterProviders]") {
   parameter_providers::EnvironmentVariableParameterProvider 
provider("EnvironmentVariableParameterProvider");
   provider.initialize();
-  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::ParameterGroupName,
 "environment-variable-parameter-context");
-  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::EnvironmentVariableInclusionStrategy,
 "Comma-Separated");
+  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::ParameterGroupName.name,
 "environment-variable-parameter-context");
+  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::EnvironmentVariableInclusionStrategy.name,
 "Comma-Separated");
   REQUIRE_THROWS_WITH(provider.createParameterContexts(), "Parameter 
Operation: Environment Variable Inclusion Strategy is set to Comma-Separated, "
     "but no value is defined in Include Environment Variables property");
 }
@@ -77,9 +77,9 @@ TEST_CASE("Create parameter context with regex matching 
environment variables",
   utils::Environment::setEnvironmentVariable("MINIFI_NEW_DATA", 
"minifi_new_data_value");
   parameter_providers::EnvironmentVariableParameterProvider 
provider("EnvironmentVariableParameterProvider");
   provider.initialize();
-  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::ParameterGroupName,
 "environment-variable-parameter-context");
-  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::EnvironmentVariableInclusionStrategy,
 "Regular Expression");
-  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::IncludeEnvironmentVariables,
 "MINIFI_DATA_.*");
+  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::ParameterGroupName.name,
 "environment-variable-parameter-context");
+  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::EnvironmentVariableInclusionStrategy.name,
 "Regular Expression");
+  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::IncludeEnvironmentVariables.name,
 "MINIFI_DATA_.*");
   auto contexts = provider.createParameterContexts();
   REQUIRE(contexts.size() == 1);
   REQUIRE(contexts[0]->getName() == "environment-variable-parameter-context");
@@ -92,8 +92,8 @@ TEST_CASE("Create parameter context with regex matching 
environment variables",
 TEST_CASE("Regex must be defined if regex inclusion strategy is set", 
"[parameterProviders]") {
   parameter_providers::EnvironmentVariableParameterProvider 
provider("EnvironmentVariableParameterProvider");
   provider.initialize();
-  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::ParameterGroupName,
 "environment-variable-parameter-context");
-  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::EnvironmentVariableInclusionStrategy,
 "Regular Expression");
+  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::ParameterGroupName.name,
 "environment-variable-parameter-context");
+  
provider.setProperty(parameter_providers::EnvironmentVariableParameterProvider::EnvironmentVariableInclusionStrategy.name,
 "Regular Expression");
   REQUIRE_THROWS_WITH(provider.createParameterContexts(), "Parameter 
Operation: Environment Variable Inclusion Strategy is set to Regular 
Expression, "
     "but no regex is defined in Include Environment Variables property");
 }

Reply via email to