You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by al...@apache.org on 2016/12/16 21:27:16 UTC

nifi-minifi git commit: MINIFI-170 - Changing FlowStatus report to be JSON based

Repository: nifi-minifi
Updated Branches:
  refs/heads/master 35dfa690c -> 4cf2cea3e


MINIFI-170 - Changing FlowStatus report to be JSON based

This closes #65.

Signed-off-by: Aldrin Piri <al...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/nifi-minifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi/commit/4cf2cea3
Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi/tree/4cf2cea3
Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi/diff/4cf2cea3

Branch: refs/heads/master
Commit: 4cf2cea3e201b136fdf7fd83c453b4401d20cb99
Parents: 35dfa69
Author: Andrew Psaltis <ps...@gmail.com>
Authored: Tue Dec 13 12:15:40 2016 -0500
Committer: Aldrin Piri <al...@apache.org>
Committed: Fri Dec 16 16:23:41 2016 -0500

----------------------------------------------------------------------
 minifi-commons/minifi-utils/pom.xml             |  7 +++++-
 .../minifi/commons/status/FlowStatusReport.java | 26 +++++++++++++++++++-
 .../src/main/markdown/System_Admin_Guide.md     |  3 +--
 3 files changed, 32 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/4cf2cea3/minifi-commons/minifi-utils/pom.xml
----------------------------------------------------------------------
diff --git a/minifi-commons/minifi-utils/pom.xml b/minifi-commons/minifi-utils/pom.xml
index a266a3e..b846a7e 100644
--- a/minifi-commons/minifi-utils/pom.xml
+++ b/minifi-commons/minifi-utils/pom.xml
@@ -23,6 +23,11 @@
 
     <artifactId>minifi-utils</artifactId>
     <packaging>jar</packaging>
-
+    <dependencies>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+        </dependency>
+    </dependencies>
 
 </project>

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/4cf2cea3/minifi-commons/minifi-utils/src/main/java/org/apache/nifi/minifi/commons/status/FlowStatusReport.java
----------------------------------------------------------------------
diff --git a/minifi-commons/minifi-utils/src/main/java/org/apache/nifi/minifi/commons/status/FlowStatusReport.java b/minifi-commons/minifi-utils/src/main/java/org/apache/nifi/minifi/commons/status/FlowStatusReport.java
index d2b6851..fa123fb 100644
--- a/minifi-commons/minifi-utils/src/main/java/org/apache/nifi/minifi/commons/status/FlowStatusReport.java
+++ b/minifi-commons/minifi-utils/src/main/java/org/apache/nifi/minifi/commons/status/FlowStatusReport.java
@@ -17,6 +17,8 @@
 
 package org.apache.nifi.minifi.commons.status;
 
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.nifi.minifi.commons.status.connection.ConnectionStatusBean;
 import org.apache.nifi.minifi.commons.status.controllerservice.ControllerServiceStatus;
 import org.apache.nifi.minifi.commons.status.instance.InstanceStatus;
@@ -25,6 +27,8 @@ import org.apache.nifi.minifi.commons.status.reportingTask.ReportingTaskStatus;
 import org.apache.nifi.minifi.commons.status.rpg.RemoteProcessGroupStatusBean;
 import org.apache.nifi.minifi.commons.status.system.SystemDiagnosticsStatus;
 
+import java.io.IOException;
+import java.io.StringWriter;
 import java.util.List;
 
 public class FlowStatusReport implements java.io.Serializable {
@@ -36,6 +40,7 @@ public class FlowStatusReport implements java.io.Serializable {
     private SystemDiagnosticsStatus systemDiagnosticsStatus;
     private List<ReportingTaskStatus> reportingTaskStatusList;
     private List<String> errorsGeneratingReport;
+    private static final ObjectMapper objectMapper = new ObjectMapper();
 
     public FlowStatusReport() {
     }
@@ -138,7 +143,24 @@ public class FlowStatusReport implements java.io.Serializable {
 
     @Override
     public String toString() {
-        return "FlowStatusReport{" +
+
+        StringWriter jsonString = new StringWriter();
+        try(JsonGenerator generator = objectMapper.getFactory().createGenerator(jsonString)){
+            generator.writeStartObject();
+            generator.writeObjectField("controllerServiceStatusList", controllerServiceStatusList);
+            generator.writeObjectField("processorStatusList", processorStatusList);
+            generator.writeObjectField("connectionStatusList", connectionStatusList);
+            generator.writeObjectField("remoteProcessGroupStatusList", remoteProcessGroupStatusList);
+            generator.writeObjectField("instanceStatus", instanceStatus);
+            generator.writeObjectField("systemDiagnosticsStatus", systemDiagnosticsStatus);
+            generator.writeObjectField("reportingTaskStatusList", reportingTaskStatusList);
+            generator.writeObjectField("errorsGeneratingReport", errorsGeneratingReport);
+            generator.writeEndObject();
+            generator.close();
+        } catch (IOException e) {
+            //this should not occur since we are using a StringWriter, however, in the event it does. Generate
+            //the old style report
+            return "FlowStatusReport{" +
                 "controllerServiceStatusList=" + controllerServiceStatusList +
                 ", processorStatusList=" + processorStatusList +
                 ", connectionStatusList=" + connectionStatusList +
@@ -148,5 +170,7 @@ public class FlowStatusReport implements java.io.Serializable {
                 ", reportingTaskStatusList=" + reportingTaskStatusList +
                 ", errorsGeneratingReport=" + errorsGeneratingReport +
                 '}';
+        }
+        return jsonString.toString();
     }
 }

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/4cf2cea3/minifi-docs/src/main/markdown/System_Admin_Guide.md
----------------------------------------------------------------------
diff --git a/minifi-docs/src/main/markdown/System_Admin_Guide.md b/minifi-docs/src/main/markdown/System_Admin_Guide.md
index a4e0f31..efc23b4 100644
--- a/minifi-docs/src/main/markdown/System_Admin_Guide.md
+++ b/minifi-docs/src/main/markdown/System_Admin_Guide.md
@@ -314,8 +314,7 @@ MiNiFi home: /Users/user/projects/nifi-minifi/minifi-assembly/target/minifi-0.0.
 
 Bootstrap Config File: /Users/user/projects/nifi-minifi/minifi-assembly/target/minifi-0.0.1-SNAPSHOT-bin/minifi-0.0.1-SNAPSHOT/conf/bootstrap.conf
 
-FlowStatusReport{controllerServiceStatusList=null, processorStatusList=[{name='TailFile', processorHealth={runStatus='Running', hasBulletins=false, validationErrorList=[]}, processorStats=null,
-bulletinList=null}], connectionStatusList=null, remoteProcessGroupStatusList=null, instanceStatus=null, systemDiagnosticsStatus=null, reportingTaskStatusList=null, errorsGeneratingReport=[]}
+{"controllerServiceStatusList":null,"processorStatusList":[{"name":"Connection Diagnostics","processorHealth":{"runStatus":"Running","hasBulletins":false,"validationErrorList":[]},"processorStats":null,"bulletinList":null},{"name":"UpdateAttribute","processorHealth":{"runStatus":"Running","hasBulletins":false,"validationErrorList":[]},"processorStats":null,"bulletinList":null},{"name":"Processor Diagnostics","processorHealth":{"runStatus":"Running","hasBulletins":false,"validationErrorList":[]},"processorStats":null,"bulletinList":null},{"name":"System Diagnostics","processorHealth":{"runStatus":"Running","hasBulletins":false,"validationErrorList":[]},"processorStats":null,"bulletinList":null},{"name":"GenerateFlowFile","processorHealth":{"runStatus":"Running","hasBulletins":false,"validationErrorList":[]},"processorStats":null,"bulletinList":null}],"connectionStatusList":null,"remoteProcessGroupStatusList":null,"instanceStatus":null,"systemDiagnosticsStatus":null,"reportingTaskStat
 usList":null,"errorsGeneratingReport":[]}
 ```
 
 # Periodic Status Reporters