From efe1fd8a20027f98bc734747bfaa4c3376aaba5f Mon Sep 17 00:00:00 2001 From: Gabor Gyimesi Date: Wed, 15 Jan 2025 17:32:54 +0100 Subject: [PATCH] Review update --- libminifi/include/core/AbstractProcessor.h | 6 +----- libminifi/include/utils/StringUtils.h | 2 +- .../src/core/flow/StructuredConfiguration.cpp | 15 +++------------ libminifi/src/sitetosite/HTTPProtocol.cpp | 5 +---- libminifi/src/utils/StringUtils.cpp | 4 ++-- 5 files changed, 8 insertions(+), 24 deletions(-) diff --git a/libminifi/include/core/AbstractProcessor.h b/libminifi/include/core/AbstractProcessor.h index 81688b80e4..13faac6e17 100644 --- a/libminifi/include/core/AbstractProcessor.h +++ b/libminifi/include/core/AbstractProcessor.h @@ -48,11 +48,7 @@ class AbstractProcessor : public Processor { minifi::core::annotation::Input getInputRequirement() const noexcept final { return ProcessorT::InputRequirement; } bool isSingleThreaded() const noexcept final { return ProcessorT::IsSingleThreaded; } std::string getProcessorType() const final { - constexpr auto class_name = className(); - if (auto short_name = utils::string::partAfterLastOccurrenceOf(class_name, ':')) { - return *short_name; - } - return std::string{class_name}; + return utils::string::partAfterLastOccurrenceOf(className(), ':'); } }; } // namespace org::apache::nifi::minifi::core diff --git a/libminifi/include/utils/StringUtils.h b/libminifi/include/utils/StringUtils.h index 429529527a..556059076f 100644 --- a/libminifi/include/utils/StringUtils.h +++ b/libminifi/include/utils/StringUtils.h @@ -450,7 +450,7 @@ nonstd::expected parseNumber(std::string_view input) { return t; } -std::optional partAfterLastOccurrenceOf(std::string_view input, char delimiter); +std::string partAfterLastOccurrenceOf(std::string_view input, char delimiter); } // namespace string diff --git a/libminifi/src/core/flow/StructuredConfiguration.cpp b/libminifi/src/core/flow/StructuredConfiguration.cpp index 002128168c..eb1ceed33f 100644 --- a/libminifi/src/core/flow/StructuredConfiguration.cpp +++ b/libminifi/src/core/flow/StructuredConfiguration.cpp @@ -228,9 +228,7 @@ void StructuredConfiguration::parseParameterProvidersNode(const Node& parameter_ logger_->log_debug("Using type {} for parameter provider node", type); std::string fullType = type; - if (auto short_type = utils::string::partAfterLastOccurrenceOf(type, '.')) { - type = *short_type; - } + type = utils::string::partAfterLastOccurrenceOf(type, '.'); auto name = parameter_provider_node[schema_.name].getString().value(); auto id = getRequiredIdField(parameter_provider_node); @@ -324,12 +322,7 @@ void StructuredConfiguration::parseProcessorNode(const Node& processors_node, co logger_->log_debug("parseProcessorNode: class => [{}]", procCfg.javaClass); // Determine the processor name only from the Java class - if (auto short_processor_name = utils::string::partAfterLastOccurrenceOf(procCfg.javaClass, '.')) { - processor = createProcessor(*short_processor_name, procCfg.javaClass, uuid); - } else { - processor = createProcessor(procCfg.javaClass, uuid); - } - + processor = createProcessor(utils::string::partAfterLastOccurrenceOf(procCfg.javaClass, '.'), procCfg.javaClass, uuid); if (!processor) { logger_->log_error("Could not create a processor {} with id {}", procCfg.name, procCfg.id); throw std::invalid_argument("Could not create processor " + procCfg.name); @@ -637,9 +630,7 @@ void StructuredConfiguration::parseControllerServices(const Node& controller_ser logger_->log_debug("Using type {} for controller service node", type); std::string fullType = type; - if (auto short_type = utils::string::partAfterLastOccurrenceOf(type, '.')) { - type = *short_type; - } + type = utils::string::partAfterLastOccurrenceOf(type, '.'); auto name = service_node[schema_.name].getString().value(); auto id = getRequiredIdField(service_node); diff --git a/libminifi/src/sitetosite/HTTPProtocol.cpp b/libminifi/src/sitetosite/HTTPProtocol.cpp index 2b6fcf2714..e3c6f4c006 100644 --- a/libminifi/src/sitetosite/HTTPProtocol.cpp +++ b/libminifi/src/sitetosite/HTTPProtocol.cpp @@ -36,10 +36,7 @@ namespace org::apache::nifi::minifi::sitetosite { std::shared_ptr HttpSiteToSiteClient::id_generator_ = utils::IdGenerator::getIdGenerator(); std::optional HttpSiteToSiteClient::parseTransactionId(const std::string &uri) { - if (auto last_uri_part = utils::string::partAfterLastOccurrenceOf(uri, '/')) { - return utils::Identifier::parse(*last_uri_part); - } - return utils::Identifier::parse(uri); + return utils::Identifier::parse(utils::string::partAfterLastOccurrenceOf(uri, '/')); } std::shared_ptr HttpSiteToSiteClient::createTransaction(sitetosite::TransferDirection direction) { diff --git a/libminifi/src/utils/StringUtils.cpp b/libminifi/src/utils/StringUtils.cpp index a6d8b3cd0f..22baef08a7 100644 --- a/libminifi/src/utils/StringUtils.cpp +++ b/libminifi/src/utils/StringUtils.cpp @@ -602,10 +602,10 @@ std::string repeat(std::string_view str, size_t count) { return result; } -std::optional partAfterLastOccurrenceOf(std::string_view input, char delimiter) { +std::string partAfterLastOccurrenceOf(std::string_view input, char delimiter) { const size_t last_pos = input.find_last_of(delimiter); if (last_pos == std::string::npos) { - return std::nullopt; + return std::string{input}; } return std::string{input.substr(last_pos + 1)}; }