[
https://issues.apache.org/jira/browse/MINIFICPP-2256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ferenc Gerlits updated MINIFICPP-2256:
--------------------------------------
Description:
-1. {{LoggerConfiguration}} has a private constructor and a public
{{newInstance}} method, which returns a pointer. This means we can create new
instances, but only on the heap, which makes no sense. Remove {{newInstance}},
make the constructor public, and update tests to create {{LoggerConfiguration}}
objects on the stack.-
2. If possible, we should also make the ownership of {{LoggerConfiguration}}
clearer in the production use cases. Currently, we use it as a singleton, via
the {{getInstance}} method. It would be better to have a clear (non-static)
owner for it, and users got a reference or pointer to {{LoggerConfiguration}}
from the owner. Then we could remove {{getInstance}}, as well.
Note: (1) was completed by https://github.com/apache/nifi-minifi-cpp/pull/2102,
(2) is still to do.
was:
-1. {{LoggerConfiguration}} has a private constructor and a public
{{newInstance}} method, which returns a pointer. This means we can create new
instances, but only on the heap, which makes no sense. Remove {{newInstance}},
make the constructor public, and update tests to create {{LoggerConfiguration}}
objects on the stack.-
2. If possible, we should also make the ownership of {{LoggerConfiguration}}
clearer in the production use cases. Currently, we use it as a singleton, via
the {{getInstance}} method. It would be better to have a clear (non-static)
owner for it, and users got a reference or pointer to {{LoggerConfiguration}}
from the owner. Then we could remove {{getInstance}}, as well.
Note: (1)
> Un-singletonize LoggerConfiguration
> -----------------------------------
>
> Key: MINIFICPP-2256
> URL: https://issues.apache.org/jira/browse/MINIFICPP-2256
> Project: Apache NiFi MiNiFi C++
> Issue Type: Improvement
> Reporter: Ferenc Gerlits
> Priority: Minor
> Time Spent: 20m
> Remaining Estimate: 0h
>
> -1. {{LoggerConfiguration}} has a private constructor and a public
> {{newInstance}} method, which returns a pointer. This means we can create
> new instances, but only on the heap, which makes no sense. Remove
> {{newInstance}}, make the constructor public, and update tests to create
> {{LoggerConfiguration}} objects on the stack.-
> 2. If possible, we should also make the ownership of {{LoggerConfiguration}}
> clearer in the production use cases. Currently, we use it as a singleton,
> via the {{getInstance}} method. It would be better to have a clear
> (non-static) owner for it, and users got a reference or pointer to
> {{LoggerConfiguration}} from the owner. Then we could remove
> {{getInstance}}, as well.
> Note: (1) was completed by
> https://github.com/apache/nifi-minifi-cpp/pull/2102, (2) is still to do.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)