This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.11.x in repository https://gitbox.apache.org/repos/asf/nifi.git
commit a655be9857c7d8f9c25e47c23a87a98b1db7329b Author: Pierre Villard <[email protected]> AuthorDate: Thu Feb 27 14:59:03 2020 -0800 NIFI-7210 - added PG path in bulletins for S2S Bulletin RT Added group path to BULLETIN table for QueryNiFiReportingTask Signed-off-by: Matthew Burgess <[email protected]> This closes #4100 --- .../java/org/apache/nifi/reporting/Bulletin.java | 9 ++++++ .../org/apache/nifi/reporting/BulletinFactory.java | 15 ++++++++++ .../org/apache/nifi/events/BulletinFactory.java | 32 +++++++++++++++++++++- .../reporting/SiteToSiteBulletinReportingTask.java | 1 + .../additionalDetails.html | 1 + .../src/main/resources/schema-bulletins.avsc | 1 + .../TestSiteToSiteBulletinReportingTask.java | 5 ++-- .../sql/bulletins/BulletinEnumerator.java | 1 + .../reporting/sql/bulletins/BulletinTable.java | 2 ++ .../additionalDetails.html | 1 + 10 files changed, 64 insertions(+), 4 deletions(-) diff --git a/nifi-api/src/main/java/org/apache/nifi/reporting/Bulletin.java b/nifi-api/src/main/java/org/apache/nifi/reporting/Bulletin.java index 50684d6..3f160aa 100644 --- a/nifi-api/src/main/java/org/apache/nifi/reporting/Bulletin.java +++ b/nifi-api/src/main/java/org/apache/nifi/reporting/Bulletin.java @@ -33,6 +33,7 @@ public abstract class Bulletin implements Comparable<Bulletin> { private String groupId; private String groupName; + private String groupPath; private String sourceId; private String sourceName; private ComponentType sourceType; @@ -98,6 +99,14 @@ public abstract class Bulletin implements Comparable<Bulletin> { this.groupName = groupName; } + public String getGroupPath() { + return groupPath; + } + + public void setGroupPath(String groupPath) { + this.groupPath = groupPath; + } + public String getSourceId() { return sourceId; } diff --git a/nifi-mock/src/main/java/org/apache/nifi/reporting/BulletinFactory.java b/nifi-mock/src/main/java/org/apache/nifi/reporting/BulletinFactory.java index 0208a2e..ca1ef6c 100644 --- a/nifi-mock/src/main/java/org/apache/nifi/reporting/BulletinFactory.java +++ b/nifi-mock/src/main/java/org/apache/nifi/reporting/BulletinFactory.java @@ -53,4 +53,19 @@ public class BulletinFactory { bulletin.setMessage(message); return bulletin; } + + public static Bulletin createBulletin(final String groupId, final String groupName, final String sourceId, final ComponentType sourceType, + final String sourceName, final String category, final String severity, final String message, final String groupPath) { + final Bulletin bulletin = new MockBulletin(currentId.getAndIncrement()); + bulletin.setGroupId(groupId); + bulletin.setGroupName(groupName); + bulletin.setGroupPath(groupPath); + bulletin.setSourceId(sourceId); + bulletin.setSourceType(sourceType); + bulletin.setSourceName(sourceName); + bulletin.setCategory(category); + bulletin.setLevel(severity); + bulletin.setMessage(message); + return bulletin; + } } diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/BulletinFactory.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/BulletinFactory.java index 76728ba..1d9f8cf 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/BulletinFactory.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/BulletinFactory.java @@ -49,7 +49,22 @@ public final class BulletinFactory { final ProcessGroup group = connectable.getProcessGroup(); final String groupId = connectable.getProcessGroupIdentifier(); final String groupName = group == null ? null : group.getName(); - return BulletinFactory.createBulletin(groupId, groupName, connectable.getIdentifier(), type, connectable.getName(), category, severity, message); + final String groupPath = buildGroupPath(group); + return BulletinFactory.createBulletin(groupId, groupName, connectable.getIdentifier(), type, connectable.getName(), category, severity, message, groupPath); + } + + private static String buildGroupPath(ProcessGroup group) { + if(group == null) { + return null; + } else { + String path = group.getName(); + ProcessGroup parent = group.getParent(); + while(parent != null) { + path = parent.getName() + " / " + path; + parent = parent.getParent(); + } + return path; + } } public static Bulletin createBulletin(final String groupId, final String sourceId, final ComponentType sourceType, final String sourceName, @@ -79,6 +94,21 @@ public final class BulletinFactory { return bulletin; } + public static Bulletin createBulletin(final String groupId, final String groupName, final String sourceId, final ComponentType sourceType, + final String sourceName, final String category, final String severity, final String message, final String groupPath) { + final Bulletin bulletin = new ComponentBulletin(currentId.getAndIncrement()); + bulletin.setGroupId(groupId); + bulletin.setGroupName(groupName); + bulletin.setGroupPath(groupPath); + bulletin.setSourceId(sourceId); + bulletin.setSourceType(sourceType); + bulletin.setSourceName(sourceName); + bulletin.setCategory(category); + bulletin.setLevel(severity); + bulletin.setMessage(message); + return bulletin; + } + public static Bulletin createBulletin(final String category, final String severity, final String message) { final Bulletin bulletin = new SystemBulletin(currentId.getAndIncrement()); bulletin.setCategory(category); diff --git a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteBulletinReportingTask.java b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteBulletinReportingTask.java index 1e68687..8fe220c 100644 --- a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteBulletinReportingTask.java +++ b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteBulletinReportingTask.java @@ -186,6 +186,7 @@ public class SiteToSiteBulletinReportingTask extends AbstractSiteToSiteReporting addField(builder, "bulletinCategory", bulletin.getCategory(), allowNullValues); addField(builder, "bulletinGroupId", bulletin.getGroupId(), allowNullValues); addField(builder, "bulletinGroupName", bulletin.getGroupName(), allowNullValues); + addField(builder, "bulletinGroupPath", bulletin.getGroupPath(), allowNullValues); addField(builder, "bulletinLevel", bulletin.getLevel(), allowNullValues); addField(builder, "bulletinMessage", bulletin.getMessage(), allowNullValues); addField(builder, "bulletinNodeAddress", bulletin.getNodeAddress(), allowNullValues); diff --git a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/resources/docs/org.apache.nifi.reporting.SiteToSiteBulletinReportingTask/additionalDetails.html b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/resources/docs/org.apache.nifi.reporting.SiteToSiteBulletinReportingTask/additionalDetails.html index c76c138..13ced0b 100644 --- a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/resources/docs/org.apache.nifi.reporting.SiteToSiteBulletinReportingTask/additionalDetails.html +++ b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/resources/docs/org.apache.nifi.reporting.SiteToSiteBulletinReportingTask/additionalDetails.html @@ -48,6 +48,7 @@ { "name" : "bulletinCategory", "type" : ["string", "null"] }, { "name" : "bulletinGroupId", "type" : ["string", "null"] }, { "name" : "bulletinGroupName", "type" : ["string", "null"] }, + { "name" : "bulletinGroupPath", "type" : ["string", "null"] }, { "name" : "bulletinLevel", "type" : ["string", "null"] }, { "name" : "bulletinMessage", "type" : ["string", "null"] }, { "name" : "bulletinNodeAddress", "type" : ["string", "null"] }, diff --git a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/resources/schema-bulletins.avsc b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/resources/schema-bulletins.avsc index 01b0f33..f681169 100644 --- a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/resources/schema-bulletins.avsc +++ b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/resources/schema-bulletins.avsc @@ -9,6 +9,7 @@ { "name" : "bulletinCategory", "type" : ["string", "null"] }, { "name" : "bulletinGroupId", "type" : ["string", "null"] }, { "name" : "bulletinGroupName", "type" : ["string", "null"] }, + { "name" : "bulletinGroupPath", "type" : ["string", "null"] }, { "name" : "bulletinLevel", "type" : ["string", "null"] }, { "name" : "bulletinMessage", "type" : ["string", "null"] }, { "name" : "bulletinNodeAddress", "type" : ["string", "null"] }, diff --git a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteBulletinReportingTask.java b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteBulletinReportingTask.java index 9140cde..00cb4b9 100644 --- a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteBulletinReportingTask.java +++ b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteBulletinReportingTask.java @@ -19,7 +19,6 @@ package org.apache.nifi.reporting; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.when; @@ -82,7 +81,7 @@ public class TestSiteToSiteBulletinReportingTask { public void testSerializedForm() throws IOException, InitializationException { // creating the list of bulletins final List<Bulletin> bulletins = new ArrayList<Bulletin>(); - bulletins.add(BulletinFactory.createBulletin("group-id", "group-name", "source-id", "source-name", "category", "severity", "message")); + bulletins.add(BulletinFactory.createBulletin("group-id", "group-name", "source-id", ComponentType.PROCESSOR, "source-name", "category", "severity", "message", "group-path")); // mock the access to the list of bulletins final ReportingContext context = Mockito.mock(ReportingContext.class); @@ -125,7 +124,7 @@ public class TestSiteToSiteBulletinReportingTask { JsonObject bulletinJson = jsonReader.readArray().getJsonObject(0); assertEquals("message", bulletinJson.getString("bulletinMessage")); assertEquals("group-name", bulletinJson.getString("bulletinGroupName")); - assertNull(bulletinJson.get("bulletinSourceType")); + assertEquals("group-path", bulletinJson.getString("bulletinGroupPath")); } @Test diff --git a/nifi-nar-bundles/nifi-sql-reporting-bundle/nifi-sql-reporting-tasks/src/main/java/org/apache/nifi/reporting/sql/bulletins/BulletinEnumerator.java b/nifi-nar-bundles/nifi-sql-reporting-bundle/nifi-sql-reporting-tasks/src/main/java/org/apache/nifi/reporting/sql/bulletins/BulletinEnumerator.java index ac190bc..608f697 100644 --- a/nifi-nar-bundles/nifi-sql-reporting-bundle/nifi-sql-reporting-tasks/src/main/java/org/apache/nifi/reporting/sql/bulletins/BulletinEnumerator.java +++ b/nifi-nar-bundles/nifi-sql-reporting-bundle/nifi-sql-reporting-tasks/src/main/java/org/apache/nifi/reporting/sql/bulletins/BulletinEnumerator.java @@ -97,6 +97,7 @@ public class BulletinEnumerator implements Enumerator<Object> { bulletin.getCategory(), bulletin.getGroupId(), bulletin.getGroupName(), + bulletin.getGroupPath(), bulletin.getLevel(), bulletin.getMessage(), bulletin.getNodeAddress(), diff --git a/nifi-nar-bundles/nifi-sql-reporting-bundle/nifi-sql-reporting-tasks/src/main/java/org/apache/nifi/reporting/sql/bulletins/BulletinTable.java b/nifi-nar-bundles/nifi-sql-reporting-bundle/nifi-sql-reporting-tasks/src/main/java/org/apache/nifi/reporting/sql/bulletins/BulletinTable.java index 4fddb0a..3fc5ff6 100644 --- a/nifi-nar-bundles/nifi-sql-reporting-bundle/nifi-sql-reporting-tasks/src/main/java/org/apache/nifi/reporting/sql/bulletins/BulletinTable.java +++ b/nifi-nar-bundles/nifi-sql-reporting-bundle/nifi-sql-reporting-tasks/src/main/java/org/apache/nifi/reporting/sql/bulletins/BulletinTable.java @@ -157,6 +157,7 @@ public class BulletinTable extends AbstractTable implements QueryableTable, Tran "bulletinCategory", "bulletinGroupId", "bulletinGroupName", + "bulletinGroupPath", "bulletinLevel", "bulletinMessage", "bulletinNodeAddress", @@ -178,6 +179,7 @@ public class BulletinTable extends AbstractTable implements QueryableTable, Tran typeFactory.createJavaType(String.class), typeFactory.createJavaType(String.class), typeFactory.createJavaType(String.class), + typeFactory.createJavaType(String.class), typeFactory.createJavaType(Date.class) ); diff --git a/nifi-nar-bundles/nifi-sql-reporting-bundle/nifi-sql-reporting-tasks/src/main/resources/docs/org.apache.nifi.reporting.sql.QueryNiFiReportingTask/additionalDetails.html b/nifi-nar-bundles/nifi-sql-reporting-bundle/nifi-sql-reporting-tasks/src/main/resources/docs/org.apache.nifi.reporting.sql.QueryNiFiReportingTask/additionalDetails.html index 7b55eef..a56324d 100644 --- a/nifi-nar-bundles/nifi-sql-reporting-bundle/nifi-sql-reporting-tasks/src/main/resources/docs/org.apache.nifi.reporting.sql.QueryNiFiReportingTask/additionalDetails.html +++ b/nifi-nar-bundles/nifi-sql-reporting-bundle/nifi-sql-reporting-tasks/src/main/resources/docs/org.apache.nifi.reporting.sql.QueryNiFiReportingTask/additionalDetails.html @@ -102,6 +102,7 @@ <tr><td>bulletinCategory</td><td>String</td></tr> <tr><td>bulletinGroupId</td><td>String</td></tr> <tr><td>bulletinGroupName</td><td>String</td></tr> + <tr><td>bulletinGroupPath</td><td>String</td></tr> <tr><td>bulletinLevel</td><td>String</td></tr> <tr><td>bulletinMessage</td><td>String</td></tr> <tr><td>bulletinNodeAddress</td><td>String</td></tr>
