Repository: nifi
Updated Branches:
  refs/heads/NIFI-1563 19e8d7db9 -> b5cb5da68


http://git-wip-us.apache.org/repos/asf/nifi/blob/b5cb5da6/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
index 62c35b2..12f7784 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
@@ -165,8 +165,6 @@ public final class DtoFactory {
         }
     };
 
-    final static int MAX_BULLETINS_PER_COMPONENT = 5;
-
     private ControllerServiceLookup controllerServiceLookup;
 
     /**
@@ -725,6 +723,11 @@ public final class DtoFactory {
         final RemoteProcessGroupStatusSnapshotDTO snapshot = new 
RemoteProcessGroupStatusSnapshotDTO();
         dto.setAggregateStatus(snapshot);
 
+        snapshot.setId(remoteProcessGroupStatus.getId());
+        snapshot.setGroupId(remoteProcessGroupStatus.getGroupId());
+        snapshot.setTargetUri(remoteProcessGroupStatus.getTargetUri());
+        
snapshot.setTransmissionStatus(remoteProcessGroupStatus.getTransmissionStatus().toString());
+
         
snapshot.setActiveThreadCount(remoteProcessGroupStatus.getActiveThreadCount());
         snapshot.setFlowFilesSent(remoteProcessGroupStatus.getSentCount());
         snapshot.setBytesSent(remoteProcessGroupStatus.getSentContentSize());
@@ -744,7 +747,12 @@ public final class DtoFactory {
         final ProcessGroupStatusSnapshotDTO snapshot = new 
ProcessGroupStatusSnapshotDTO();
         processGroupStatusDto.setAggregateStatus(snapshot);
 
+        snapshot.setId(processGroupStatus.getId());
+        snapshot.setName(processGroupStatus.getName());
+
         snapshot.setStatsLastRefreshed(new 
Date(processGroupStatus.getCreationTimestamp()));
+        snapshot.setFlowFilesQueued(processGroupStatus.getQueuedCount());
+        snapshot.setBytesQueued(processGroupStatus.getQueuedContentSize());
         snapshot.setBytesRead(processGroupStatus.getBytesRead());
         snapshot.setBytesWritten(processGroupStatus.getBytesWritten());
         snapshot.setFlowFilesIn(processGroupStatus.getInputCount());
@@ -842,6 +850,12 @@ public final class DtoFactory {
         final ConnectionStatusSnapshotDTO snapshot = new 
ConnectionStatusSnapshotDTO();
         connectionStatusDto.setAggregateSnapshot(snapshot);
 
+        snapshot.setId(connectionStatus.getId());
+        snapshot.setGroupId(connectionStatus.getGroupId());
+        snapshot.setName(connectionStatus.getName());
+        snapshot.setSourceName(connectionStatus.getSourceName());
+        snapshot.setDestinationName(connectionStatus.getDestinationName());
+
         snapshot.setFlowFilesQueued(connectionStatus.getQueuedCount());
         snapshot.setBytesQueued(connectionStatus.getQueuedBytes());
 
@@ -864,6 +878,10 @@ public final class DtoFactory {
         final ProcessorStatusSnapshotDTO snapshot = new 
ProcessorStatusSnapshotDTO();
         dto.setAggregateStatus(snapshot);
 
+        snapshot.setId(procStatus.getId());
+        snapshot.setGroupId(procStatus.getGroupId());
+        snapshot.setName(procStatus.getName());
+
         snapshot.setFlowFilesOut(procStatus.getOutputCount());
         snapshot.setBytesOut(procStatus.getOutputBytes());
 
@@ -903,6 +921,11 @@ public final class DtoFactory {
         final PortStatusSnapshotDTO snapshot = new PortStatusSnapshotDTO();
         dto.setAggregateStatus(snapshot);
 
+        snapshot.setId(portStatus.getId());
+        snapshot.setGroupId(portStatus.getGroupId());
+        snapshot.setName(portStatus.getName());
+        snapshot.setRunStatus(portStatus.getRunStatus().toString());
+
         snapshot.setActiveThreadCount(portStatus.getActiveThreadCount());
         snapshot.setFlowFilesOut(portStatus.getOutputCount());
         snapshot.setBytesOut(portStatus.getOutputBytes());

http://git-wip-us.apache.org/repos/asf/nifi/blob/b5cb5da6/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-connection-summary-dialog.jsp
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-connection-summary-dialog.jsp
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-connection-summary-dialog.jsp
index d374459..6091c92 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-connection-summary-dialog.jsp
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-connection-summary-dialog.jsp
@@ -28,6 +28,7 @@
                 <div id="cluster-connection-details">
                     <div id="cluster-connection-name"></div>
                     <div id="cluster-connection-id"></div>
+                    <div id="cluster-connection-group-id" class="hidden"></div>
                 </div>
             </div>
         </div>

http://git-wip-us.apache.org/repos/asf/nifi/blob/b5cb5da6/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-input-port-summary-dialog.jsp
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-input-port-summary-dialog.jsp
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-input-port-summary-dialog.jsp
index 6241c3a..d87de98 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-input-port-summary-dialog.jsp
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-input-port-summary-dialog.jsp
@@ -28,6 +28,7 @@
                 <div id="cluster-input-port-details">
                     <div id="cluster-input-port-name"></div>
                     <div id="cluster-input-port-id"></div>
+                    <div id="cluster-input-port-group-id" class="hidden"></div>
                 </div>
             </div>
         </div>

http://git-wip-us.apache.org/repos/asf/nifi/blob/b5cb5da6/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-output-port-summary-dialog.jsp
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-output-port-summary-dialog.jsp
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-output-port-summary-dialog.jsp
index ef0d4a8..a6e3a1c 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-output-port-summary-dialog.jsp
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-output-port-summary-dialog.jsp
@@ -28,6 +28,7 @@
                 <div id="cluster-output-port-details">
                     <div id="cluster-output-port-name"></div>
                     <div id="cluster-output-port-id"></div>
+                    <div id="cluster-output-port-group-id" 
class="hidden"></div>
                 </div>
             </div>
         </div>

http://git-wip-us.apache.org/repos/asf/nifi/blob/b5cb5da6/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-processor-summary-dialog.jsp
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-processor-summary-dialog.jsp
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-processor-summary-dialog.jsp
index a25ac31..7444bf5 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-processor-summary-dialog.jsp
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-processor-summary-dialog.jsp
@@ -28,6 +28,7 @@
                 <div id="cluster-processor-details">
                     <div id="cluster-processor-name"></div>
                     <div id="cluster-processor-id"></div>
+                    <div id="cluster-processor-group-id" class="hidden"></div>
                 </div>
             </div>
         </div>

http://git-wip-us.apache.org/repos/asf/nifi/blob/b5cb5da6/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-remote-process-group-summary-dialog.jsp
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-remote-process-group-summary-dialog.jsp
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-remote-process-group-summary-dialog.jsp
index 3cd6438..e27fe2c 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-remote-process-group-summary-dialog.jsp
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/summary/cluster-remote-process-group-summary-dialog.jsp
@@ -28,6 +28,7 @@
                 <div id="cluster-remote-process-group-details">
                     <div id="cluster-remote-process-group-name"></div>
                     <div id="cluster-remote-process-group-id"></div>
+                    <div id="cluster-remote-process-group-group-id" 
class="hidden"></div>
                 </div>
             </div>
         </div>

http://git-wip-us.apache.org/repos/asf/nifi/blob/b5cb5da6/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js
index e11aa56..1935a71 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js
@@ -844,12 +844,13 @@ nf.Canvas = (function () {
                 // report the updated stats
                 if 
(nf.Common.isDefinedAndNotNull(response.processGroupStatus)) {
                     var processGroupStatus = response.processGroupStatus;
+                    var aggregateStatus = processGroupStatus.aggregateStatus;
 
                     // update all the stats
-                    nf.Graph.setStatus(processGroupStatus);
+                    nf.Graph.setStatus(aggregateStatus);
 
                     // update the timestamp
-                    
$('#stats-last-refreshed').text(processGroupStatus.statsLastRefreshed);
+                    
$('#stats-last-refreshed').text(aggregateStatus.statsLastRefreshed);
                 }
                 deferred.resolve();
             }).fail(function (xhr, status, error) {

http://git-wip-us.apache.org/repos/asf/nifi/blob/b5cb5da6/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-graph.js
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-graph.js
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-graph.js
index 99f978e..2589394 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-graph.js
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-graph.js
@@ -32,12 +32,12 @@ nf.Graph = (function () {
     };
 
     var combinePortStatus = function (status) {
-        if (nf.Common.isDefinedAndNotNull(status.inputPortStatus) && 
nf.Common.isDefinedAndNotNull(status.outputPortStatus)) {
-            return status.inputPortStatus.concat(status.outputPortStatus);
-        } else if (nf.Common.isDefinedAndNotNull(status.inputPortStatus)) {
-            return status.inputPortStatus;
-        } else if (nf.Common.isDefinedAndNotNull(status.outputPortStatus)) {
-            return status.outputPortStatus;
+        if (nf.Common.isDefinedAndNotNull(status.inputPortStatusSnapshots) && 
nf.Common.isDefinedAndNotNull(status.outputPortStatusSnapshots)) {
+            return 
status.inputPortStatusSnapshots.concat(status.outputPortStatusSnapshots);
+        } else if 
(nf.Common.isDefinedAndNotNull(status.inputPortStatusSnapshots)) {
+            return status.inputPortStatusSnapshots;
+        } else if 
(nf.Common.isDefinedAndNotNull(status.outputPortStatusSnapshots)) {
+            return status.outputPortStatusSnapshots;
         } else {
             return [];
         }
@@ -158,18 +158,18 @@ nf.Graph = (function () {
          * of the existing components on the graph and will not cause them to 
be repainted. 
          * This operation must be very inexpensive due to the frequency it is 
called.
          * 
-         * @argument {object} processGroupStatus    The status of the process 
group
+         * @argument {object} aggregateStatus    The status of the process 
group aggregated accross the cluster
          */
-        setStatus: function (processGroupStatus) {
+        setStatus: function (aggregateStatus) {
             // merge the port status together
-            var portStatus = combinePortStatus(processGroupStatus);
+            var portStatus = combinePortStatus(aggregateStatus);
 
             // set the component status
             nf.Port.setStatus(portStatus);
-            
nf.RemoteProcessGroup.setStatus(processGroupStatus.remoteProcessGroupStatus);
-            nf.ProcessGroup.setStatus(processGroupStatus.processGroupStatus);
-            nf.Processor.setStatus(processGroupStatus.processorStatus);
-            nf.Connection.setStatus(processGroupStatus.connectionStatus);
+            
nf.RemoteProcessGroup.setStatus(aggregateStatus.remoteProcessGroupStatusSnapshots);
+            
nf.ProcessGroup.setStatus(aggregateStatus.processGroupStatusSnapshots);
+            nf.Processor.setStatus(aggregateStatus.processorStatusSnapshots);
+            nf.Connection.setStatus(aggregateStatus.connectionStatusSnapshots);
         },
         
         /**

http://git-wip-us.apache.org/repos/asf/nifi/blob/b5cb5da6/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-cluster-search.js
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-cluster-search.js
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-cluster-search.js
index 2254943..bf1429f 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-cluster-search.js
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-cluster-search.js
@@ -68,11 +68,11 @@ nf.ClusterSearch = (function () {
                                         var node = searchResults[0];
 
                                         // update the urls to point to this 
specific node of the cluster
-                                        nf.SummaryTable.url = 
'../nifi-api/cluster/nodes/' + encodeURIComponent(node.id) + '/status';
+                                        
nf.SummaryTable.setClusterNodeId(node.id);
                                         nf.SummaryTable.systemDiagnosticsUrl = 
'../nifi-api/cluster/nodes/' + encodeURIComponent(node.id) + 
'/system-diagnostics';
 
                                         // load the summary for the selected 
node
-                                        
nf.SummaryTable.loadProcessorSummaryTable();
+                                        nf.SummaryTable.loadSummaryTable();
 
                                         // update the header
                                         
$('#summary-header-text').text(node.address + ' Summary');
@@ -168,9 +168,9 @@ nf.ClusterSearch = (function () {
             // handle the view cluster click event
             $('#view-cluster-link').click(function () {
                 // reset the urls and refresh the table
-                nf.SummaryTable.url = config.urls.status;
+                nf.SummaryTable.setClusterNodeId(null);
                 nf.SummaryTable.systemDiagnosticsUrl = 
config.urls.systemDiagnostics;
-                nf.SummaryTable.loadProcessorSummaryTable();
+                nf.SummaryTable.loadSummaryTable();
 
                 // update the header
                 $('#summary-header-text').text('NiFi Summary');

http://git-wip-us.apache.org/repos/asf/nifi/blob/b5cb5da6/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-summary-table.js
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-summary-table.js
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-summary-table.js
index 057559a..4828f7e 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-summary-table.js
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-summary-table.js
@@ -29,12 +29,6 @@ nf.SummaryTable = (function () {
         urls: {
             status: '../nifi-api/controller/process-groups/root/status',
             processGroups: '../nifi-api/controller/process-groups/',
-            clusterProcessor: '../nifi-api/cluster/processors/',
-            clusterConnection: '../nifi-api/cluster/connections/',
-            clusterProcessGroup: '../nifi-api/cluster/process-groups/',
-            clusterInputPort: '../nifi-api/cluster/input-ports/',
-            clusterOutputPort: '../nifi-api/cluster/output-ports/',
-            clusterRemoteProcessGroup: 
'../nifi-api/cluster/remote-process-groups/',
             systemDiagnostics: '../nifi-api/system-diagnostics',
             controllerConfig: '../nifi-api/controller/config',
             d3Script: 'js/d3/d3.min.js',
@@ -432,7 +426,7 @@ nf.SummaryTable = (function () {
                     nf.StatusHistory.showProcessorChart(item.groupId, item.id);
                 } else if (target.hasClass('show-cluster-processor-summary')) {
                     // load the cluster processor summary
-                    loadClusterProcessorSummary(item.id);
+                    loadClusterProcessorSummary(item.groupId, item.id);
 
                     // hide the summary loading indicator
                     $('#summary-loading-container').hide();
@@ -520,7 +514,7 @@ nf.SummaryTable = (function () {
         
         // cluster processor refresh
         nf.Common.addHoverEffect('#cluster-processor-refresh-button', 
'button-refresh', 'button-refresh-hover').click(function () {
-            loadClusterProcessorSummary($('#cluster-processor-id').text());
+            loadClusterProcessorSummary($('#cluster-group-id').text(), 
$('#cluster-processor-id').text());
         });
 
         // initialize the cluster processor column model
@@ -1133,7 +1127,7 @@ nf.SummaryTable = (function () {
                     goTo(item.groupId, item.id);
                 } else if (target.hasClass('show-cluster-input-port-summary')) 
{
                     // load the cluster processor summary
-                    loadClusterInputPortSummary(item.id);
+                    loadClusterInputPortSummary(item.groupId, item.id);
 
                     // hide the summary loading indicator
                     $('#summary-loading-container').hide();
@@ -1217,7 +1211,7 @@ nf.SummaryTable = (function () {
         
         // cluster input port refresh
         nf.Common.addHoverEffect('#cluster-input-port-refresh-button', 
'button-refresh', 'button-refresh-hover').click(function () {
-            loadClusterInputPortSummary($('#cluster-input-port-id').text());
+            
loadClusterInputPortSummary($('#cluster-input-port-group-id').text(), 
$('#cluster-input-port-id').text());
         });
 
         // initialize the cluster input port column model
@@ -1355,7 +1349,7 @@ nf.SummaryTable = (function () {
                     goTo(item.groupId, item.id);
                 } else if 
(target.hasClass('show-cluster-output-port-summary')) {
                     // load the cluster processor summary
-                    loadClusterOutputPortSummary(item.id);
+                    loadClusterOutputPortSummary(item.groupId, item.id);
 
                     // hide the summary loading indicator
                     $('#summary-loading-container').hide();
@@ -1439,7 +1433,7 @@ nf.SummaryTable = (function () {
         
         // cluster output port refresh
         nf.Common.addHoverEffect('#cluster-output-port-refresh-button', 
'button-refresh', 'button-refresh-hover').click(function () {
-            loadClusterOutputPortSummary($('#cluster-output-port-id').text());
+            
loadClusterOutputPortSummary($('#cluster-output-port-group-id').text(), 
$('#cluster-output-port-id').text());
         });
 
         // initialize the cluster output port column model
@@ -1613,7 +1607,7 @@ nf.SummaryTable = (function () {
                     nf.StatusHistory.showRemoteProcessGroupChart(item.groupId, 
item.id);
                 } else if 
(target.hasClass('show-cluster-remote-process-group-summary')) {
                     // load the cluster processor summary
-                    loadClusterRemoteProcessGroupSummary(item.id);
+                    loadClusterRemoteProcessGroupSummary(item.groupId, 
item.id);
 
                     // hide the summary loading indicator
                     $('#summary-loading-container').hide();
@@ -1697,7 +1691,7 @@ nf.SummaryTable = (function () {
         
         // cluster remote process group refresh
         
nf.Common.addHoverEffect('#cluster-remote-process-group-refresh-button', 
'button-refresh', 'button-refresh-hover').click(function () {
-            
loadClusterRemoteProcessGroupSummary($('#cluster-remote-process-group-id').text());
+            
loadClusterRemoteProcessGroupSummary($('#cluster-remote-process-group-group-id').text(),
 $('#cluster-remote-process-group-id').text());
         });
 
         // initialize the cluster remote process group column model
@@ -2082,39 +2076,39 @@ nf.SummaryTable = (function () {
      * @argument {array} inputPortItems                 The input port data
      * @argument {array} outputPortItems                The input port data
      * @argument {array} remoteProcessGroupItems        The remote process 
group data
-     * @argument {object} processGroupStatus            The process group 
status
+     * @argument {object} aggregateStatus            The process group status
      */
-    var populateProcessGroupStatus = function (processorItems, 
connectionItems, processGroupItems, inputPortItems, outputPortItems, 
remoteProcessGroupItems, processGroupStatus) {
+    var populateProcessGroupStatus = function (processorItems, 
connectionItems, processGroupItems, inputPortItems, outputPortItems, 
remoteProcessGroupItems, aggregateStatus) {
         // add the processors to the summary grid
-        $.each(processGroupStatus.processorStatus, function (i, procStatus) {
+        $.each(aggregateStatus.processorStatusSnapshots, function (i, 
procStatus) {
             processorItems.push(procStatus);
         });
 
         // add the processors to the summary grid
-        $.each(processGroupStatus.connectionStatus, function (i, connStatus) {
+        $.each(aggregateStatus.connectionStatusSnapshots, function (i, 
connStatus) {
             connectionItems.push(connStatus);
         });
 
         // add the input ports to the summary grid
-        $.each(processGroupStatus.inputPortStatus, function (i, portStatus) {
+        $.each(aggregateStatus.inputPortStatusSnapshots, function (i, 
portStatus) {
             inputPortItems.push(portStatus);
         });
 
         // add the input ports to the summary grid
-        $.each(processGroupStatus.outputPortStatus, function (i, portStatus) {
+        $.each(aggregateStatus.outputPortStatusSnapshots, function (i, 
portStatus) {
             outputPortItems.push(portStatus);
         });
 
         // add the input ports to the summary grid
-        $.each(processGroupStatus.remoteProcessGroupStatus, function (i, 
rpgStatus) {
+        $.each(aggregateStatus.remoteProcessGroupStatusSnapshots, function (i, 
rpgStatus) {
             remoteProcessGroupItems.push(rpgStatus);
         });
         
         // add the process group status as well
-        processGroupItems.push(processGroupStatus);
+        processGroupItems.push(aggregateStatus);
 
         // add any child group's status
-        $.each(processGroupStatus.processGroupStatus, function (i, 
childProcessGroup) {
+        $.each(aggregateStatus.processGroupStatusSnapshots, function (i, 
childProcessGroup) {
             populateProcessGroupStatus(processorItems, connectionItems, 
processGroupItems, inputPortItems, outputPortItems, remoteProcessGroupItems, 
childProcessGroup);
         });
     };
@@ -2145,16 +2139,17 @@ nf.SummaryTable = (function () {
 
     /**
      * Loads  the cluster processor details dialog for the specified processor.
-     * 
-     * @argument {string} rowId     The row id
+     *
+     * @argument {string} groupId         The group id
+     * @argument {string} processorId     The processor id
      */
-    var loadClusterProcessorSummary = function (rowId) {
+    var loadClusterProcessorSummary = function (groupId, processorId) {
         // get the summary
         $.ajax({
             type: 'GET',
-            url: config.urls.clusterProcessor + encodeURIComponent(rowId) + 
'/status',
+            url: config.urls.processGroups + encodeURIComponent(groupId) + 
'/processors/' + encodeURIComponent(processorId) + '/status',
             data: {
-                verbose: true
+                nodewise: true
             },
             dataType: 'json'
         }).done(function (response) {
@@ -2190,6 +2185,7 @@ nf.SummaryTable = (function () {
                 // populate the processor details
                 
$('#cluster-processor-name').text(clusterProcessorStatus.processorName).ellipsis();
                 
$('#cluster-processor-id').text(clusterProcessorStatus.processorId);
+                
$('#cluster-processor-group-id').text(clusterProcessorStatus.groupId);
 
                 // update the stats last refreshed timestamp
                 
$('#cluster-processor-summary-last-refreshed').text(clusterProcessorStatus.statsLastRefreshed);
@@ -2199,16 +2195,17 @@ nf.SummaryTable = (function () {
 
     /**
      * Loads the cluster connection details dialog for the specified processor.
-     * 
-     * @argument {string} rowId     The row id
+     *
+     * @argument {string} groupId   The group id
+     * @argument {string} connectionId     The connection id
      */
-    var loadClusterConnectionSummary = function (rowId) {
+    var loadClusterConnectionSummary = function (connectionId) {
         // get the summary
         $.ajax({
             type: 'GET',
-            url: config.urls.clusterConnection + encodeURIComponent(rowId) + 
'/status',
+            url: config.urls.processGroups + encodeURIComponent(groupId) + 
'/connections/' + encodeURIComponent(connectionId) + '/status',
             data: {
-                verbose: true
+                nodewise: true
             },
             dataType: 'json'
         }).done(function (response) {
@@ -2241,6 +2238,7 @@ nf.SummaryTable = (function () {
                 // populate the processor details
                 
$('#cluster-connection-name').text(clusterConnectionStatus.connectionName).ellipsis();
                 
$('#cluster-connection-id').text(clusterConnectionStatus.connectionId);
+                
$('#cluster-connection-group-id').text(clusterConnectionStatus.groupId);
 
                 // update the stats last refreshed timestamp
                 
$('#cluster-connection-summary-last-refreshed').text(clusterConnectionStatus.statsLastRefreshed);
@@ -2251,15 +2249,15 @@ nf.SummaryTable = (function () {
     /**
      * Loads the cluster input port details dialog for the specified processor.
      * 
-     * @argument {string} rowId     The row id
+     * @argument {string} processGroupId     The process group id
      */
-    var loadClusterProcessGroupSummary = function (rowId) {
+    var loadClusterProcessGroupSummary = function (processGroupId) {
         // get the summary
         $.ajax({
             type: 'GET',
-            url: config.urls.clusterProcessGroup + encodeURIComponent(rowId) + 
'/status',
+            url: config.urls.processGroups + 
encodeURIComponent(processGroupId) + '/status',
             data: {
-                verbose: true
+                nodewise: true
             },
             dataType: 'json'
         }).done(function (response) {
@@ -2307,16 +2305,17 @@ nf.SummaryTable = (function () {
 
     /**
      * Loads the cluster input port details dialog for the specified processor.
-     * 
-     * @argument {string} rowId     The row id
+     *
+     * @argument {string} groupId         The group id
+     * @argument {string} inputPortId     The input port id
      */
-    var loadClusterInputPortSummary = function (rowId) {
+    var loadClusterInputPortSummary = function (groupId, inputPortId) {
         // get the summary
         $.ajax({
             type: 'GET',
-            url: config.urls.clusterInputPort + encodeURIComponent(rowId) + 
'/status',
+            url: config.urls.processGroups + encodeURIComponent(groupId) + 
'/input-ports/' + encodeURIComponent(inputPortId) + '/status',
             data: {
-                verbose: true
+                nodewise: true
             },
             dataType: 'json'
         }).done(function (response) {
@@ -2347,6 +2346,7 @@ nf.SummaryTable = (function () {
                 // populate the input port details
                 
$('#cluster-input-port-name').text(clusterInputPortStatus.portName).ellipsis();
                 
$('#cluster-input-port-id').text(clusterInputPortStatus.portId);
+                
$('#cluster-input-port-group-id').text(clusterInputPortStatus.groupId);
 
                 // update the stats last refreshed timestamp
                 
$('#cluster-input-port-summary-last-refreshed').text(clusterInputPortStatus.statsLastRefreshed);
@@ -2356,16 +2356,17 @@ nf.SummaryTable = (function () {
 
     /**
      * Loads the cluster output port details dialog for the specified 
processor.
-     * 
-     * @argument {string} rowId     The row id
+     *
+     * @argument {string} groupId          The group id
+     * @argument {string} outputPortId     The row id
      */
-    var loadClusterOutputPortSummary = function (rowId) {
+    var loadClusterOutputPortSummary = function (groupId, outputPortId) {
         // get the summary
         $.ajax({
             type: 'GET',
-            url: config.urls.clusterOutputPort + encodeURIComponent(rowId) + 
'/status',
+            url: config.urls.processGroups + encodeURIComponent(groupId) + 
'/output-ports/' + encodeURIComponent(outputPortId) + '/status',
             data: {
-                verbose: true
+                nodewise: true
             },
             dataType: 'json'
         }).done(function (response) {
@@ -2396,6 +2397,7 @@ nf.SummaryTable = (function () {
                 // populate the output port details
                 
$('#cluster-output-port-name').text(clusterOutputPortStatus.portName).ellipsis();
                 
$('#cluster-output-port-id').text(clusterOutputPortStatus.portId);
+                
$('#cluster-output-port-group-id').text(clusterOutputPortStatus.groupId);
 
                 // update the stats last refreshed timestamp
                 
$('#cluster-output-port-summary-last-refreshed').text(clusterOutputPortStatus.statsLastRefreshed);
@@ -2405,16 +2407,17 @@ nf.SummaryTable = (function () {
 
     /**
      * Loads the cluster remote process group details dialog for the specified 
processor.
-     * 
-     * @argument {string} rowId     The row id
+     *
+     * @argument {string} groupId   The group id
+     * @argument {string} remoteProcessGroupId     The remote process group id
      */
-    var loadClusterRemoteProcessGroupSummary = function (rowId) {
+    var loadClusterRemoteProcessGroupSummary = function (groupId, 
remoteProcessGroupId) {
         // get the summary
         $.ajax({
             type: 'GET',
-            url: config.urls.clusterRemoteProcessGroup + 
encodeURIComponent(rowId) + '/status',
+            url: config.urls.processGroups + encodeURIComponent(groupId) + 
'/remote-process-groups/' + encodeURIComponent(remoteProcessGroupId) + 
'/status',
             data: {
-                verbose: true
+                nodewise: true
             },
             dataType: 'json'
         }).done(function (response) {
@@ -2448,6 +2451,7 @@ nf.SummaryTable = (function () {
                 // populate the remote process group details
                 
$('#cluster-remote-process-group-name').text(clusterRemoteProcessGroupStatus.remoteProcessGroupName).ellipsis();
                 
$('#cluster-remote-process-group-id').text(clusterRemoteProcessGroupStatus.remoteProcessGroupId);
+                
$('#cluster-remote-process-group-group-id').text(clusterRemoteProcessGroupStatus.groupId);
 
                 // update the stats last refreshed timestamp
                 
$('#cluster-remote-process-group-summary-last-refreshed').text(clusterRemoteProcessGroupStatus.statsLastRefreshed);
@@ -2455,6 +2459,8 @@ nf.SummaryTable = (function () {
         }).fail(nf.Common.handleAjaxError);
     };
 
+    var clusterNodeId = null;
+
     return {
         
         /**
@@ -2463,18 +2469,12 @@ nf.SummaryTable = (function () {
         systemDiagnosticsUrl: null,
         
         /**
-         * URL for loading the summary.
-         */
-        url: null,
-        
-        /**
          * Initializes the status table.
          * 
          * @argument {boolean} isClustered Whether or not this NiFi is 
clustered.
          */
         init: function (isClustered) {
             // initialize the summary urls
-            nf.SummaryTable.url = config.urls.status;
             nf.SummaryTable.systemDiagnosticsUrl = 
config.urls.systemDiagnostics;
 
             return $.Deferred(function (deferred) {
@@ -2490,7 +2490,16 @@ nf.SummaryTable = (function () {
                 });
             }).promise();
         },
-        
+
+        /**
+         * Sets the cluster node id which will only show status from this node 
on subsequent reloads.
+         *
+         * @param nodeId
+         */
+        setClusterNodeId: function (nodeId) {
+            clusterNodeId = nodeId;
+        },
+
         /**
          * Update the size of the grid based on its container's current size.
          */
@@ -2527,20 +2536,34 @@ nf.SummaryTable = (function () {
         },
         
         /**
-         * Load the processor status table.
+         * Load the summary table.
          */
-        loadProcessorSummaryTable: function () {
+        loadSummaryTable: function () {
+            var statusUri = config.urls.status;
+
+            // add the parameter if appropriate
+            var parameters = {};
+            if (!nf.Common.isNull(clusterNodeId)) {
+                parameters['clusterNodeId'] = clusterNodeId;
+            }
+
+            // update the status uri if appropriate
+            if (!$.isEmptyObject(parameters)) {
+                statusUri += '?' + $.param(parameters);
+            }
+
             return $.ajax({
                 type: 'GET',
-                url: nf.SummaryTable.url,
+                url: statusUri,
                 data: {
                     recursive: true
                 },
                 dataType: 'json'
             }).done(function (response) {
                 var processGroupStatus = response.processGroupStatus;
+                var aggregateStatus = processGroupStatus.aggregateStatus;
 
-                if (nf.Common.isDefinedAndNotNull(processGroupStatus)) {
+                if (nf.Common.isDefinedAndNotNull(aggregateStatus)) {
                     // remove any tooltips from the processor table
                     var processorsGridElement = $('#processor-summary-table');
                     nf.Common.cleanUpTooltips(processorsGridElement, 
'img.has-bulletins');
@@ -2593,7 +2616,7 @@ nf.SummaryTable = (function () {
                     var remoteProcessGroupItems = [];
 
                     // populate the tables
-                    populateProcessGroupStatus(processorItems, 
connectionItems, processGroupItems, inputPortItems, outputPortItems, 
remoteProcessGroupItems, processGroupStatus);
+                    populateProcessGroupStatus(processorItems, 
connectionItems, processGroupItems, inputPortItems, outputPortItems, 
remoteProcessGroupItems, aggregateStatus);
 
                     // update the processors
                     processorsData.setItems(processorItems);
@@ -2626,7 +2649,7 @@ nf.SummaryTable = (function () {
                     remoteProcessGroupsGrid.invalidate();
 
                     // update the stats last refreshed timestamp
-                    
$('#summary-last-refreshed').text(processGroupStatus.statsLastRefreshed);
+                    
$('#summary-last-refreshed').text(aggregateStatus.statsLastRefreshed);
 
                     // update the total number of processors
                     if ($('#processor-summary-table').is(':visible')) {

http://git-wip-us.apache.org/repos/asf/nifi/blob/b5cb5da6/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-summary.js
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-summary.js
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-summary.js
index 4f06662..c16a670 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-summary.js
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/summary/nf-summary.js
@@ -70,7 +70,7 @@ nf.Summary = (function () {
     var initializeSummaryPage = function () {
         // define mouse over event for the refresh buttons
         nf.Common.addHoverEffect('#refresh-button', 'button-refresh', 
'button-refresh-hover').click(function () {
-            nf.SummaryTable.loadProcessorSummaryTable();
+            nf.SummaryTable.loadSummaryTable();
         });
 
         // return a deferred for page initialization
@@ -133,7 +133,7 @@ nf.Summary = (function () {
             // intialize the summary table
             initializeSummaryTable().done(function () {
                 // load the table
-                nf.SummaryTable.loadProcessorSummaryTable().done(function () {
+                nf.SummaryTable.loadSummaryTable().done(function () {
                     // once the table is initialized, finish initializing the 
page
                     initializeSummaryPage().done(function () {
                         // configure the initial grid height

Reply via email to