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
