You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Marton Szasz (Jira)" <ji...@apache.org> on 2022/10/05 14:44:00 UTC

[jira] [Updated] (MINIFICPP-1953) Refactor Processor class to centrally convert static metadata to dynamic, instead of using macros

     [ https://issues.apache.org/jira/browse/MINIFICPP-1953?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marton Szasz updated MINIFICPP-1953:
------------------------------------
    Description: 
Processor currently has a lot of static metadata, but uses macros to make static data available through overridden virtual functions. Instead, we should split the Processor class into an interface (called Processor) and an abstract CRTP implementation (called AbstractProcessor, BasicProcessor, ProcessorBase, or something similar), which overrides the virtual functions with the static data available.

rationale:
 - [DRY|https://en.wikipedia.org/wiki/Don%27t_repeat_yourself]
 - [macros bad|https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-macros]

  was:Processor currently has a lot of static metadata, but uses macros to make static data available through overridden virtual functions. Instead, we should split the Processor class into an interface (called Processor) and an abstract CRTP implementation (called AbstractProcessor, BasicProcessor, ProcessorBase, or something similar), which overrides the virtual functions with the static data available.


> Refactor Processor class to centrally convert static metadata to dynamic, instead of using macros
> -------------------------------------------------------------------------------------------------
>
>                 Key: MINIFICPP-1953
>                 URL: https://issues.apache.org/jira/browse/MINIFICPP-1953
>             Project: Apache NiFi MiNiFi C++
>          Issue Type: Improvement
>            Reporter: Marton Szasz
>            Priority: Major
>
> Processor currently has a lot of static metadata, but uses macros to make static data available through overridden virtual functions. Instead, we should split the Processor class into an interface (called Processor) and an abstract CRTP implementation (called AbstractProcessor, BasicProcessor, ProcessorBase, or something similar), which overrides the virtual functions with the static data available.
> rationale:
>  - [DRY|https://en.wikipedia.org/wiki/Don%27t_repeat_yourself]
>  - [macros bad|https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-macros]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)