You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Matt Burgess (Jira)" <ji...@apache.org> on 2020/04/08 17:42:00 UTC

[jira] [Updated] (NIFI-7342) Refactor NiFi "queryable table models" to remove dependencies on unnecessary components

     [ 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)