[
https://issues.apache.org/jira/browse/NIFI-7342?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Matt Burgess updated NIFI-7342:
-------------------------------
Summary: Refactor NiFi "queryable table models" to remove dependencies on
unnecessary components (was: Refactor NiFi "queryable table models" to remove
dependencies on internal components)
> Refactor NiFi "queryable table models" to remove dependencies on unnecessary
> components
> ---------------------------------------------------------------------------------------
>
> Key: NIFI-7342
> URL: https://issues.apache.org/jira/browse/NIFI-7342
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Extensions
> Reporter: Matt Burgess
> Priority: Major
>
> Via the nifi-sql-reporting-bundle, NiFi status information is modeled as SQL
> tables and can be queried by components such as QueryNiFiReportingTask.
> Currently the table models are dependent on a ReportingContext instance to
> provide current information such as the root process group status object for
> example.
> The ReportingContext is just a conduit in order to get to some of the actual
> dependencies, and as such, the table models should not need a
> ReportingContext per se; rather their constructors should take the actual
> objects they depend on, or Suppliers to provide them at the proper time. In
> the current situation this just means when a Reporting Task has a
> ReportingContext available, it should use the methods to extract references
> to the actual dependencies and pass those along when the table models are
> created (see MetricsSqlQueryService).
> The table model objects could be separated out into an "API" or "Utils" JAR,
> where their only object dependencies would still be required to be in
> nifi-api, but no wrapper objects/contexts need be supplied. This leads to
> better decoupling, as the ReportingContext is not really a dependency of the
> table models, only a supplier of the actual dependencies.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)