This is an automated email from the ASF dual-hosted git repository. martinzink pushed a commit to branch beke_2 in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
commit d0b9ceea7b01e87e57527635dde2f9b88f0c1045 Author: Martin Zink <[email protected]> AuthorDate: Wed Jun 24 15:39:53 2026 +0200 remove minifiSystemControllerServiceType --- .github/references/ubuntu_22_04_clang_arm_manifest.json | 16 ++++++++-------- .../cpp-extension-lib/libtest/CProcessorTestUtils.h | 2 +- libminifi/include/utils/CControllerService.h | 2 +- libminifi/src/minifi-api.cpp | 12 +++++++----- .../include/minifi-cpp/core/ControllerServiceType.h | 7 +------ 5 files changed, 18 insertions(+), 21 deletions(-) diff --git a/.github/references/ubuntu_22_04_clang_arm_manifest.json b/.github/references/ubuntu_22_04_clang_arm_manifest.json index 8cabb5440..498d0d58e 100644 --- a/.github/references/ubuntu_22_04_clang_arm_manifest.json +++ b/.github/references/ubuntu_22_04_clang_arm_manifest.json @@ -11083,13 +11083,13 @@ "type": "org.apache.nifi.minifi.api_testing.DogController", "providedApiImplementations": [ { - "artifact": "minifi-system", - "group": "org.apache.nifi.minifi", + "artifact": "minifi-stable-api-testing", + "group": "org.apache.nifi.minifi.api_testing", "type": "org.apache.nifi.minifi.api_testing.CanFlyControllerApi" }, { - "artifact": "minifi-system", - "group": "org.apache.nifi.minifi", + "artifact": "minifi-stable-api-testing", + "group": "org.apache.nifi.minifi.api_testing", "type": "org.apache.nifi.minifi.api_testing.NumberOfLegsControllerApi" } ] @@ -11101,13 +11101,13 @@ "type": "org.apache.nifi.minifi.api_testing.DuckController", "providedApiImplementations": [ { - "artifact": "minifi-system", - "group": "org.apache.nifi.minifi", + "artifact": "minifi-stable-api-testing", + "group": "org.apache.nifi.minifi.api_testing", "type": "org.apache.nifi.minifi.api_testing.CanFlyControllerApi" }, { - "artifact": "minifi-system", - "group": "org.apache.nifi.minifi", + "artifact": "minifi-stable-api-testing", + "group": "org.apache.nifi.minifi.api_testing", "type": "org.apache.nifi.minifi.api_testing.NumberOfLegsControllerApi" } ] diff --git a/extension-framework/cpp-extension-lib/libtest/CProcessorTestUtils.h b/extension-framework/cpp-extension-lib/libtest/CProcessorTestUtils.h index a8ed3953e..d37e748b0 100644 --- a/extension-framework/cpp-extension-lib/libtest/CProcessorTestUtils.h +++ b/extension-framework/cpp-extension-lib/libtest/CProcessorTestUtils.h @@ -45,7 +45,7 @@ std::shared_ptr<minifi::core::controller::ControllerService> make_custom_c_contr Args&&... args) { // NOLINT(cppcoreguidelines-missing-std-forward) std::unique_ptr<minifi::core::controller::ControllerServiceApi> controller_service_impl; minifi::api::core::useControllerServiceClassDefinition<T>([&](const minifi_controller_service_class_definition& definition) { - minifi::utils::useCControllerServiceClassDescription(definition, [&](const auto&, auto c_description) { + minifi::utils::useCControllerServiceClassDescription("test_bundle", definition, [&](const auto&, auto c_description) { controller_service_impl = std::make_unique<minifi::utils::CControllerService>(std::move(c_description), metadata, new T(metadata, std::forward<Args>(args)...)); diff --git a/libminifi/include/utils/CControllerService.h b/libminifi/include/utils/CControllerService.h index 91c813a44..d1dccc9c0 100644 --- a/libminifi/include/utils/CControllerService.h +++ b/libminifi/include/utils/CControllerService.h @@ -111,7 +111,7 @@ class CControllerService final : public core::controller::ControllerServiceApi, minifi::core::ControllerServiceMetadata metadata_; }; -void useCControllerServiceClassDescription(const minifi_controller_service_class_definition& class_description, +void useCControllerServiceClassDescription(std::string_view bundle_name, const minifi_controller_service_class_definition& class_description, const std::function<void(const ClassDescription&, CControllerServiceClassDescription)>& fn); } // namespace org::apache::nifi::minifi::utils diff --git a/libminifi/src/minifi-api.cpp b/libminifi/src/minifi-api.cpp index ed464b2a9..be955a510 100644 --- a/libminifi/src/minifi-api.cpp +++ b/libminifi/src/minifi-api.cpp @@ -23,7 +23,6 @@ #include "core/ProcessorMetrics.h" #include "core/extension/ExtensionManager.h" #include "minifi-c/minifi-api.h" -#include "minifi-cpp/Exception.h" #include "minifi-cpp/controllers/ProxyConfigurationServiceInterface.h" #include "minifi-cpp/controllers/SSLContextServiceInterface.h" #include "minifi-cpp/core/Annotation.h" @@ -226,7 +225,7 @@ void useCProcessorClassDescription(const minifi_processor_class_definition& clas output_attribute.description = toString(class_description.output_attributes_ptr[attribute_idx].description); for (size_t rel_idx = 0; rel_idx < class_description.output_attributes_ptr[attribute_idx].relationships_count; ++rel_idx) { auto output_attribute_rel_name = toStringView(class_description.output_attributes_ptr[attribute_idx].relationships_ptr[rel_idx]); - auto rel_it = std::find(relationships.begin(), relationships.end(), minifi::core::Relationship{std::string{output_attribute_rel_name}, ""}); + auto rel_it = std::ranges::find(relationships, minifi::core::Relationship{std::string{output_attribute_rel_name}, ""}); gsl_Assert(rel_it != relationships.end()); output_attribute.relationships.push_back(*rel_it); } @@ -266,7 +265,7 @@ void useCProcessorClassDescription(const minifi_processor_class_definition& clas fn(description, c_class_description); } -void useCControllerServiceClassDescription(const minifi_controller_service_class_definition& class_description, +void useCControllerServiceClassDescription(const std::string_view bundle_name, const minifi_controller_service_class_definition& class_description, const std::function<void(const ClassDescription&, CControllerServiceClassDescription)>& fn) { std::vector<minifi::core::Property> properties; properties.reserve(class_description.properties_count); @@ -281,7 +280,10 @@ void useCControllerServiceClassDescription(const minifi_controller_service_class implements_apis.reserve(class_description.provided_interfaces_count); for (size_t i = 0; i < class_description.provided_interfaces_count; ++i) { auto api_segments = string::split(toStringView(class_description.provided_interfaces_ptr[i]), "::"); - implements_apis.push_back(core::ControllerServiceType::minifiSystemControllerServiceType(string::join(".", api_segments))); + std::string type_name = string::join(".", api_segments); + api_segments.pop_back(); + std::string group_name = string::join(".", api_segments); + implements_apis.emplace_back(std::string{bundle_name}, std::move(group_name), std::move(type_name)); } ClassDescription description{ @@ -354,7 +356,7 @@ minifi_status minifi_register_controller_service(minifi_extension* extension, co .version = extension_info->version }; auto& bundle_components = minifi::ClassDescriptionRegistry::getMutableClassDescriptions()[bundle]; - minifi::utils::useCControllerServiceClassDescription(*controller_service, [&] (const auto& description, const auto& c_class_description) { + minifi::utils::useCControllerServiceClassDescription(bundle.name, *controller_service, [&] (const auto& description, const auto& c_class_description) { minifi::core::ClassLoader::getDefaultClassLoader().getClassLoader(extension_info->name).registerClass( description.short_name_, std::make_unique<CControllerServiceFactory>(extension_info->name, toString(controller_service->full_name), c_class_description)); diff --git a/minifi-api/include/minifi-cpp/core/ControllerServiceType.h b/minifi-api/include/minifi-cpp/core/ControllerServiceType.h index f45a8e3fb..c29fb4ee0 100644 --- a/minifi-api/include/minifi-cpp/core/ControllerServiceType.h +++ b/minifi-api/include/minifi-cpp/core/ControllerServiceType.h @@ -27,16 +27,11 @@ struct ControllerServiceType { std::string group; std::string type; - ControllerServiceType(const ControllerServiceTypeDefinition& definition) // NOLINT(runtime/explicit) + explicit ControllerServiceType(const ControllerServiceTypeDefinition& definition) : artifact(definition.artifact), group(definition.group), type(definition.type) {} - static ControllerServiceType minifiSystemControllerServiceType(std::string type) { - return ControllerServiceType("minifi-system", "org.apache.nifi.minifi", std::move(type)); - } - - private: ControllerServiceType(std::string artifact, std::string group, std::string type) : artifact(std::move(artifact)), group(std::move(group)),
