This is an automated email from the ASF dual-hosted git repository.
robbie pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git
The following commit(s) were added to refs/heads/main by this push:
new c5bfb32ed2 ARTEMIS-5319: remove unused old console bits left by
2bee1dbbfbfc2aea6c56b8235f409c2ea0027678
c5bfb32ed2 is described below
commit c5bfb32ed2b71c0510d9df373c8e6a7f75ea89f4
Author: Robbie Gemmell <[email protected]>
AuthorDate: Wed Mar 12 12:17:02 2025 +0000
ARTEMIS-5319: remove unused old console bits left by
2bee1dbbfbfc2aea6c56b8235f409c2ea0027678
---
.../src/main/resources/META-INF/detectors | 9 -
.../main/webapp/plugin/js/components/addresses.js | 260 ---------------
.../webapp/plugin/js/components/connections.js | 281 ----------------
.../main/webapp/plugin/js/components/consumers.js | 354 --------------------
.../main/webapp/plugin/js/components/producers.js | 249 --------------
.../src/main/webapp/plugin/js/components/queues.js | 361 ---------------------
.../main/webapp/plugin/js/components/sessions.js | 297 -----------------
.../src/main/webapp/plugin/js/services/toolbar.js | 128 --------
8 files changed, 1939 deletions(-)
diff --git
a/artemis-hawtio/artemis-console/src/main/resources/META-INF/detectors
b/artemis-hawtio/artemis-console/src/main/resources/META-INF/detectors
deleted file mode 100644
index 8cecfccad6..0000000000
--- a/artemis-hawtio/artemis-console/src/main/resources/META-INF/detectors
+++ /dev/null
@@ -1,9 +0,0 @@
-!org.jolokia.detector.GeronimoDetector
-!org.jolokia.detector.JBossDetector
-!org.jolokia.detector.ActiveMQDetector
-!org.jolokia.detector.TomcatDetector
-!org.jolokia.detector.JettyDetector
-!org.jolokia.detector.GlassfishDetector
-!org.jolokia.detector.WeblogicDetector
-!org.jolokia.detector.WebsphereDetector
-!org.jolokia.detector.LightstreamerDetector
\ No newline at end of file
diff --git
a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/components/addresses.js
b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/components/addresses.js
deleted file mode 100644
index b1707921ae..0000000000
---
a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/components/addresses.js
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-var Artemis;
-(function (Artemis) {
- //Artemis.log.debug("loading addresses");
- Artemis._module.component('artemisAddresses', {
- template:
- `<h1>Browse Addresses
- <button type="button" class="btn btn-link jvm-title-popover"
- uib-popover-template="'addresses-instructions.html'"
popover-placement="bottom-left"
- popover-title="Instructions"
popover-trigger="'outsideClick'">
- <span class="pficon pficon-help"></span>
- </button>
- </h1>
- <div ng-include="'plugin/artemistoolbar.html'"></div>
- <pf-table-view config="$ctrl.tableConfig"
- dt-options="$ctrl.dtOptions"
- columns="$ctrl.tableColumns"
- action-buttons="$ctrl.tableActionButtons"
- items="$ctrl.addresses">
- </pf-table-view>
- <div ng-include="'plugin/artemispagination.html'"></div>
- <script type="text/ng-template"
id="addresses-anchor-column-template">
- <a href="#" ng-click="$ctrl.handleColAction(key,
item)">{{value}}</a>
- </script>
- <script type="text/ng-template" id="addresses-instructions.html">
- <div>
- <p>
- This page allows you to browse all address on the broker.
These can be narrowed down
- by specifying a filter and also sorted using the sort
function in the toolbar. To execute a query
- click on the <span class="fa fa-search"></span> button.
- </p>
- <p>
- You can also navigate directly to the JMX attributes and
operations tabs by using the <code>attributes</code>
- and <code>operations</code> button under the
<code>Actions</code> column.You can navigate to the
- addresses queues by clicking on the <code>Queue
Count</code> field.
- </p>
- <p>
- Note that each page is loaded in from the broker when
navigating to a new page or when a query is executed.
- </p>
- </div>
- </script>
- `,
- controller: AddressesController
- })
- .name;
-
-
- function AddressesController($scope, workspace, jolokia, localStorage,
artemisMessage, $location, $timeout, $filter, pagination, artemisAddress) {
- var ctrl = this;
- ctrl.pagination = pagination;
- ctrl.pagination.reset();
- var mbean = Artemis.getBrokerMBean(workspace, jolokia);
- ctrl.allAddresses = [];
- ctrl.addresses = [];
- ctrl.workspace = workspace;
- ctrl.refreshed = false;
- ctrl.dtOptions = {
- // turn of ordering as we do it ourselves
- ordering: false,
- columns: [
- {name: "ID", visible: true},
- {name: "Name", visible: true},
- {name: "Internal", visible: false},
- {name: "Routing Types", visible: true},
- {name: "Queue Count", visible: true}
- ]
- };
-
- Artemis.log.debug('sessionStorage: addressColumnDefs =',
localStorage.getItem('addressColumnDefs'));
- if (localStorage.getItem('addressColumnDefs')) {
- loadedDefs = JSON.parse(localStorage.getItem('addressColumnDefs'));
- //sanity check to make sure columns havent been added
- if(loadedDefs.length === ctrl.dtOptions.columns.length) {
- ctrl.dtOptions.columns = loadedDefs;
- }
-
- }
-
- ctrl.updateColumns = function () {
- var attributes = [];
- ctrl.dtOptions.columns.forEach(function (column) {
- attributes.push({name: column.name, visible: column.visible});
- });
- Artemis.log.debug("saving columns " + JSON.stringify(attributes));
- localStorage.setItem('addressColumnDefs',
JSON.stringify(attributes));
- }
-
- ctrl.filter = {
- fieldOptions: [
- {id: 'id', name: 'ID'},
- {id: 'name', name: 'Name'},
- {id: 'internal', name: 'Internal'},
- {id: 'routingTypes', name: 'Routing Types'},
- {id: 'queueCount', name: 'Queue Count'}
- ],
- operationOptions: [
- {id: 'EQUALS', name: 'Equals'},
- {id: 'NOT_EQUALS', name: 'Not Equals'},
- {id: 'CONTAINS', name: 'Contains'},
- {id: 'NOT_CONTAINS', name: 'Does Not Contain'},
- {id: 'GREATER_THAN', name: 'Greater Than'},
- {id: 'LESS_THAN', name: 'Less Than'}
- ],
- sortOptions: [
- {id: 'asc', name: 'ascending'},
- {id: 'desc', name: 'descending'}
- ],
- values: {
- field: "",
- operation: "",
- value: "",
- sortOrder: "asc",
- sortField: "id"
- },
- text: {
- fieldText: "Filter Field..",
- operationText: "Operation..",
- sortOrderText: "ascending",
- sortByText: "ID"
- }
- };
-
- ctrl.tableActionButtons = [
- {
- name: 'attributes',
- title: 'Navigate to attributes',
- actionFn: navigateToAddressAtts
- },
- {
- name: 'operations',
- title: 'navigate to operations',
- actionFn: navigateToAddressOps
- }
- ];
- ctrl.tableConfig = {
- selectionMatchProp: 'id',
- showCheckboxes: false
- };
- ctrl.tableColumns = [
- { header: 'ID', itemField: 'id' },
- { header: 'Name', itemField: 'name' },
- { header: 'Internal', itemField: 'internal' },
- { header: 'Routing Types', itemField: 'routingTypes' },
- { header: 'Queue Count', itemField: 'queueCount' , htmlTemplate:
'addresses-anchor-column-template', colActionFn: (item) =>
selectQueues(item.idx) }
- ];
-
- ctrl.refresh = function () {
- ctrl.refreshed = true;
- ctrl.pagination.load();
- };
- ctrl.reset = function () {
- ctrl.filter.values.field = "";
- ctrl.filter.values.operation = "";
- ctrl.filter.values.value = "";
- ctrl.filter.sortOrder = "asc";
- ctrl.filter.sortField = "id";
- ctrl.refreshed = true;
- artemisAddress.address = null;
- ctrl.pagination.load();
- };
-
- if (artemisAddress.address) {
- Artemis.log.debug("navigating to address = " +
artemisAddress.address.address);
- ctrl.filter.values.field = ctrl.filter.fieldOptions[1].id;
- ctrl.filter.values.operation = ctrl.filter.operationOptions[0].id;
- ctrl.filter.values.value = artemisAddress.address.address;
- artemisAddress.address = null;
- }
-
- selectQueues = function (idx) {
- var address = ctrl.addresses[idx].name;
- Artemis.log.debug("navigating to queues:" + address)
- artemisAddress.address = { address: address };
- $location.path("artemis/artemisQueues");
- };
-
- function navigateToAddressAtts(action, item) {
- $location.path("artemis/attributes").search({"tab": "artemis",
"nid": getAddressNid(item.name, $location)});
- };
- function navigateToAddressOps(action, item) {
- $location.path("artemis/operations").search({"tab": "artemis",
"nid": getAddressNid(item.name, $location)});
- };
- function getAddressNid(address, $location) {
- var rootNID = getRootNid($location);
- var targetNID = rootNID + "addresses-" + address;
- Artemis.log.debug("targetNID=" + targetNID);
- return targetNID;
- }
- function getRootNid($location) {
- var currentNid = $location.search()['nid'];
- Artemis.log.debug("current nid=" + currentNid);
- var firstDash = currentNid.indexOf('-');
- var secondDash = currentNid.indexOf('-', firstDash + 1);
- var thirdDash = currentNid.indexOf('-', secondDash + 1);
- if (thirdDash < 0) {
- return currentNid + "-";
- }
- var rootNID = currentNid.substring(0, thirdDash + 1);
- return rootNID;
- }
- ctrl.loadOperation = function () {
- if (mbean) {
- var method = 'listAddresses(java.lang.String, int, int)';
- var addressFilter = {
- field: ctrl.filter.values.field,
- operation: ctrl.filter.values.operation,
- value: ctrl.filter.values.value,
- sortOrder: ctrl.filter.values.sortOrder,
- sortField: ctrl.filter.values.sortField
- };
-
- if (ctrl.refreshed == true) {
- ctrl.pagination.reset();
- ctrl.refreshed = false;
- }
- jolokia.request({ type: 'exec', mbean: mbean, operation:
method, arguments: [JSON.stringify(addressFilter), ctrl.pagination.pageNumber,
ctrl.pagination.pageSize] }, Core.onSuccess(populateTable, { error: onError }));
- }
- };
-
- ctrl.pagination.setOperation(ctrl.loadOperation);
-
- function onError(response) {
- Core.notification("error", "could not invoke list sessions" +
response.error);
- $scope.workspace.selectParentNode();
- };
-
- function populateTable(response) {
- var data = JSON.parse(response.value);
- ctrl.addresses = [];
- angular.forEach(data["data"], function (value, idx) {
- value.idx = idx;
- ctrl.addresses.push(value);
- });
- ctrl.pagination.page(data["count"]);
- allAddresses = ctrl.addresses;
- ctrl.addresses = allAddresses;
- Core.$apply($scope);
- }
-
- ctrl.pagination.load();
- }
- AddressesController.$inject = ['$scope', 'workspace', 'jolokia',
'localStorage', 'artemisMessage', '$location', '$timeout', '$filter',
'pagination', 'artemisAddress'];
-
-
-})(Artemis || (Artemis = {}));
\ No newline at end of file
diff --git
a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/components/connections.js
b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/components/connections.js
deleted file mode 100644
index 63a5225f47..0000000000
---
a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/components/connections.js
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-var Artemis;
-(function (Artemis) {
- Artemis.log.debug("loading connections");
- Artemis._module.component('artemisConnections', {
- template:
- `
- <h1>Browse Connections
- <button type="button" class="btn btn-link jvm-title-popover"
-
uib-popover-template="'connections-instructions.html'"
popover-placement="bottom-left"
- popover-title="Instructions"
popover-trigger="'outsideClick'">
- <span class="pficon pficon-help"></span>
- </button>
- </h1>
- <div ng-include="'plugin/artemistoolbar.html'"></div>
- <pf-table-view config="$ctrl.tableConfig"
- dt-options="$ctrl.dtOptions"
- columns="$ctrl.tableColumns"
- action-buttons="$ctrl.tableActionButtons"
- items="$ctrl.connections">
- </pf-table-view>
- <div ng-include="'plugin/artemispagination.html'"></div>
- <div hawtio-confirm-dialog="$ctrl.closeDialog" title="Close
Connection?"
- ok-button-text="Close"
- cancel-button-text="Cancel"
- on-ok="$ctrl.closeConnection()">
- <div class="dialog-body">
- <p class="alert alert-warning">
- <span class="pficon pficon-warning-triangle-o"></span>
- You are about to close the selected connection:
{{$ctrl.connectionToDelete}}
- <p>Are you sure you want to continue.</p>
- </p>
- </div>
- </div>
- <script type="text/ng-template"
id="connections-anchor-column-template">
- <a href="#" ng-click="$ctrl.handleColAction(key,
item)">{{value}}</a>
- </script>
- <script type="text/ng-template" id="connections-instructions.html">
- <div>
- <p>
- This page allows you to browse all connections currently
connected to the broker, including client, cluster
- and bridge connections. These can be narrowed down by
specifying a filter and also sorted using the sort
- function in the toolbar. To execute a query click on the
<span class="fa fa-search"></span> button.
- </p>
- <p>
- Connections can be closed by using the <code>close</code>
button under the <code>Actions</code> column and you can
- navigate to the connections sessions open by clicking on
the <code>Session Count</code> field.
- </p>
- <p>
- Note that each page is loaded in from the broker when
navigating to a new page or when a query is executed.
- </p>
- </div>
- </script>
- `,
- controller: ConnectionsController
- })
- .name;
-
-
- function ConnectionsController($scope, workspace, jolokia, localStorage,
artemisMessage, $location, $timeout, $filter, pagination, artemisConnection,
artemisSession) {
- var ctrl = this;
- ctrl.pagination = pagination;
- ctrl.pagination.reset();
- var mbean = Artemis.getBrokerMBean(workspace, jolokia);
- ctrl.allConnections = [];
- ctrl.connections = [];
- ctrl.pageNumber = 1;
- ctrl.workspace = workspace;
- ctrl.refreshed = false;
- ctrl.connectionToDelete = '';
- ctrl.closeDialog = false;
- ctrl.dtOptions = {
- // turn of ordering as we do it ourselves
- ordering: false,
- columns: [
- {name: "ID", visible: true},
- {name: "Client ID", visible: true},
- {name: "Users", visible: true},
- {name: "Protocol", visible: true},
- {name: "Session Count", visible: true},
- {name: "Remote Address", visible: true},
- {name: "Local Address", visible: true},
- {name: "Session ID", visible: true},
- {name: "Creation Time", visible: true}
- ]
- };
-
- Artemis.log.debug('localStorage: connectionsColumnDefs =',
localStorage.getItem('connectionsColumnDefs'));
- if (localStorage.getItem('connectionsColumnDefs')) {
- loadedDefs =
JSON.parse(localStorage.getItem('connectionsColumnDefs'));
- //sanity check to make sure columns havent been added
- if(loadedDefs.length === ctrl.dtOptions.columns.length) {
- ctrl.dtOptions.columns = loadedDefs;
- }
- Artemis.log.debug('loaded' + ctrl.dtOptions.columns);
- }
-
- ctrl.updateColumns = function () {
- var attributes = [];
- ctrl.dtOptions.columns.forEach(function (column) {
- attributes.push({name: column.name, visible: column.visible});
- });
- Artemis.log.debug("saving columns " + JSON.stringify(attributes));
- localStorage.setItem('connectionsColumnDefs',
JSON.stringify(attributes));
- }
-
- ctrl.filter = {
- fieldOptions: [
- {id: 'connectionID', name: 'ID'},
- {id: 'clientID', name: 'Client ID'},
- {id: 'users', name: 'Users'},
- {id: 'protocol', name: 'Protocol'},
- {id: 'sessionCount', name: 'Session Count'},
- {id: 'remoteAddress', name: 'Remote Address'},
- {id: 'localAddress', name: 'Local Address'},
- {id: 'sessionID', name: 'Session ID'}
- ],
- operationOptions: [
- {id: 'EQUALS', name: 'Equals'},
- {id: 'NOT_EQUALS', name: 'Not Equals'},
- {id: 'CONTAINS', name: 'Contains'},
- {id: 'NOT_CONTAINS', name: 'Does Not Contain'},
- {id: 'GREATER_THAN', name: 'Greater Than'},
- {id: 'LESS_THAN', name: 'Less Than'}
- ],
- sortOptions: [
- {id: 'asc', name: 'ascending'},
- {id: 'desc', name: 'descending'}
- ],
- values: {
- field: "",
- operation: "",
- value: "",
- sortOrder: "asc",
- sortField: "connectionID"
- },
- text: {
- fieldText: "Filter Field..",
- operationText: "Operation..",
- sortOrderText: "ascending",
- sortByText: "ID"
- }
- };
-
- ctrl.tableActionButtons = [
- {
- name: 'Close',
- title: 'Close the Connection',
- actionFn: openCloseDialog
- }
- ];
-
- ctrl.tableConfig = {
- selectionMatchProp: 'connectionID',
- showCheckboxes: false
- };
- ctrl.tableColumns = [
- { header: 'ID', itemField: 'connectionID' },
- { header: 'Client ID', itemField: 'clientID' },
- { header: 'Users', itemField: 'users' },
- { header: 'protocol', itemField: 'protocol' },
- { header: 'Session Count', itemField: 'sessionCount',
htmlTemplate: 'connections-anchor-column-template', colActionFn: (item) =>
selectSessions(item.idx) },
-
- { header: 'Remote Address', itemField: 'remoteAddress' },
- { header: 'Local Address', itemField: 'localAddress' },
- { header: 'Creation Time', itemField: 'creationTime' }
- ];
-
- selectSessions = function (idx) {
- var connection = ctrl.connections[idx].connectionID;
- Artemis.log.debug("navigating to connection:" + connection)
- artemisConnection.connection = { connectionID: connection };
- $location.path("artemis/artemisSessions");
- };
-
- if (artemisSession.session) {
- Artemis.log.debug("navigating to session = " +
artemisSession.session.connectionID);
- ctrl.filter.values.field = ctrl.filter.fieldOptions[0].id;
- ctrl.filter.values.operation = ctrl.filter.operationOptions[0].id;
- ctrl.filter.values.value = artemisSession.session.connectionID;
- artemisSession.session = null;
- }
-
- ctrl.refresh = function () {
- ctrl.refreshed = true;
- ctrl.pagination.load();
- };
- ctrl.reset = function () {
- ctrl.filter.values.field = "";
- ctrl.filter.values.operation = "";
- ctrl.filter.values.value = "";
- ctrl.filter.sortOrder = "asc";
- ctrl.filter.sortField = "connectionID";
- ctrl.filter.text.fieldText = "Filter Field..";
- ctrl.filter.text.operationText = "Operation..";
- ctrl.filter.text.sortOrderText = "ascending";
- ctrl.filter.text.sortByText = "ID";
- ctrl.refreshed = true;
- artemisSession.session = null;
- ctrl.pagination.load();
- };
-
- ctrl.loadOperation = function () {
- if (mbean) {
- var method = 'listConnections(java.lang.String, int, int)';
- var connectionsFilter = {
- field: ctrl.filter.values.field,
- operation: ctrl.filter.values.operation,
- value: ctrl.filter.values.value,
- sortOrder: ctrl.filter.values.sortOrder,
- sortField: ctrl.filter.values.sortField
- };
-
- if (ctrl.refreshed == true) {
- ctrl.pagination.reset();
- ctrl.refreshed = false;
- }
- Artemis.log.info(JSON.stringify(connectionsFilter));
- jolokia.request({ type: 'exec', mbean: mbean, operation:
method, arguments: [JSON.stringify(connectionsFilter),
ctrl.pagination.pageNumber, ctrl.pagination.pageSize] },
Core.onSuccess(populateTable, { error: onError }));
- }
- };
-
- function openCloseDialog(action, item) {
- ctrl.connectionToDelete = item.connectionID;
- ctrl.closeDialog = true;
- }
-
- ctrl.closeConnection = function () {
- Artemis.log.debug("closing connection: " + ctrl.connectionToDelete);
- if (mbean) {
- jolokia.request({ type: 'exec',
- mbean: mbean,
- operation: 'closeConnectionWithID(java.lang.String)',
- arguments: [ctrl.connectionToDelete] },
- Core.onSuccess(ctrl.pagination.load(), { error: function
(response) {
- Core.defaultJolokiaErrorHandler("Could not close
connection: " + response);
- }}));
- }
- };
-
- pagination.setOperation(ctrl.loadOperation);
-
- function onError(response) {
- Core.notification("error", "could not invoke list connections" +
response.error);
- $scope.workspace.selectParentNode();
- };
-
- function populateTable(response) {
- var data = JSON.parse(response.value);
- ctrl.connections = [];
- angular.forEach(data["data"], function (value, idx) {
- value.idx = idx;
- ctrl.connections.push(value);
- });
- ctrl.pagination.page(data["count"]);
- allConnections = ctrl.connections;
- ctrl.connections = allConnections;
- Core.$apply($scope);
- }
-
- ctrl.pagination.load();
- }
- ConnectionsController.$inject = ['$scope', 'workspace', 'jolokia',
'localStorage', 'artemisMessage', '$location', '$timeout', '$filter',
'pagination', 'artemisConnection', 'artemisSession'];
-
-
-})(Artemis || (Artemis = {}));
\ No newline at end of file
diff --git
a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/components/consumers.js
b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/components/consumers.js
deleted file mode 100644
index ec9ab72caf..0000000000
---
a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/components/consumers.js
+++ /dev/null
@@ -1,354 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-var Artemis;
-(function (Artemis) {
- Artemis._module.component('artemisConsumers', {
- template:
- `<h1>Browse Consumers
- <button type="button" class="btn btn-link jvm-title-popover"
- uib-popover-template="'consumers-instructions.html'"
popover-placement="bottom-left"
- popover-title="Instructions"
popover-trigger="'outsideClick'">
- <span class="pficon pficon-help"></span>
- </button>
- </h1>
- <div ng-include="'plugin/artemistoolbar.html'"></div>
- <pf-table-view config="$ctrl.tableConfig"
- dt-options="$ctrl.dtOptions"
- columns="$ctrl.tableColumns"
- action-buttons="$ctrl.tableActionButtons"
- items="$ctrl.consumers">
- </pf-table-view>
- <div ng-include="'plugin/artemispagination.html'"></div>
- <div hawtio-confirm-dialog="$ctrl.closeDialog" title="Close
Consumer?"
- ok-button-text="Close"
- cancel-button-text="Cancel"
- on-ok="$ctrl.closeConsumer()">
- <div class="dialog-body">
- <p class="alert alert-warning">
- <span class="pficon
pficon-warning-triangle-o"></span>
- You are about to close the selected consumer:
{{$ctrl.consumerToDelete}}
- <p>Are you sure you want to continue.</p>
- </p>
- </div>
- </div>
- <script type="text/ng-template"
id="consumers-anchor-column-template">
- <a href="#" ng-click="$ctrl.handleColAction(key,
item)">{{value}}</a>
- </script>
- <script type="text/ng-template" id="consumers-instructions.html">
- <div>
- <p>
- This page allows you to browse all consumers currently
open on the broker. These can be narrowed down
- by specifying a filter and also sorted using the sort
function in the toolbar. To execute a query
- click on the <span class="fa fa-search"></span> button.
- </p>
- <p>
- Consumers can be closed by using the <code>close</code>
button under the <code>Actions</code> column and you can
- navigate to the consumers session, address and queue by
clicking on the appropriate field.
- </p>
- <p>
- Note that each page is loaded in from the broker when
navigating to a new page or when a query is executed.
- </p>
- </div>
- </script>
- `,
- controller: ConsumersController
- })
- .name;
-
-
- function ConsumersController($scope, workspace, jolokia, localStorage,
artemisMessage, $location, $timeout, $filter, pagination, artemisConsumer,
artemisQueue, artemisAddress, artemisSession) {
- var ctrl = this;
- ctrl.pagination = pagination;
- ctrl.pagination.reset();
- var mbean = Artemis.getBrokerMBean(workspace, jolokia);
- ctrl.allConsumers = [];
- ctrl.consumers = [];
- ctrl.pageNumber = 1;
- ctrl.workspace = workspace;
- ctrl.refreshed = false;
- ctrl.consumerToDeletesSession = '';
- ctrl.consumerToDelete = '';
- ctrl.closeDialog = false;
- ctrl.dtOptions = {
- // turn of ordering as we do it ourselves
- ordering: false,
- columns: [
- {name: "ID", visible: true},
- {name: "Session", visible: true},
- {name: "Client ID", visible: true},
- {name: "Validated User", visible: false},
- {name: "Protocol", visible: true},
- {name: "Queue", visible: true},
- {name: "Queue Type", visible: true},
- {name: "Filter", visible: true},
- {name: "Address", visible: true},
- {name: "Remote Address", visible: true},
- {name: "Local Address", visible: true},
- {name: "Creation Time", visible: true},
- {name: "Messages in Transit", visible: false},
- {name: "Messages in Transit Size", visible: false},
- {name: "Messages Delivered", visible: false},
- {name: "Messages Delivered Size", visible: false},
- {name: "Messages Acknowledged", visible: false},
- {name: "Messages Acknowledged awaiting Commit", visible: false},
- {name: "Last Delivered Time", visible: false},
- {name: "Last Acknowledged Time", visible: false},
- {name: "Status", visible: false}
- ]
- };
-
- Artemis.log.debug('localStorage: consumersColumnDefs =',
localStorage.getItem('consumersColumnDefs'));
- if (localStorage.getItem('consumersColumnDefs')) {
- loadedDefs = JSON.parse(localStorage.getItem('consumersColumnDefs'));
- //sanity check to make sure columns havent been added
- if(loadedDefs.length === ctrl.dtOptions.columns.length) {
- ctrl.dtOptions.columns = loadedDefs;
- }
- }
-
- ctrl.updateColumns = function () {
- var attributes = [];
- ctrl.dtOptions.columns.forEach(function (column) {
- attributes.push({name: column.name, visible: column.visible});
- });
- Artemis.log.debug("saving columns " + JSON.stringify(attributes));
- localStorage.setItem('consumersColumnDefs',
JSON.stringify(attributes));
- }
- ctrl.filter = {
- fieldOptions: [
- {id: 'id', name: 'ID'},
- {id: 'session', name: 'Session'},
- {id: 'clientID', name: 'Client ID'},
- {id: 'user', name: 'User'},
- {id: 'validatedUser', name: 'Validated User'},
- {id: 'address', name: 'Address'},
- {id: 'queue', name: 'Queue'},
- {id: 'protocol', name: 'Protocol'},
- {id: 'localAddress', name: 'Local Address'},
- {id: 'remoteAddress', name: 'Remote Address'},
- {id: 'messagesInTransit', name: 'Messages in Transit'},
- {id: 'messagesInTransitSize', name: 'Messages in Transit
Size'},
- {id: 'messagesDelivered', name: 'Messages Delivered'},
- {id: 'messagesDeliveredSize', name: 'Messages Delivered Size'},
- {id: 'messagesAcknowledged', name: 'Messages Acknowledged'},
- {id: 'messagesAcknowledgedAwaitingCommit', name: 'Messages
Acknowledged awaiting Commit'},
- {id: 'status', name: 'status'}
- ],
- operationOptions: [
- {id: 'EQUALS', name: 'Equals'},
- {id: 'NOT_EQUALS', name: 'Not Equals'},
- {id: 'CONTAINS', name: 'Contains'},
- {id: 'NOT_CONTAINS', name: 'Does Not Contain'},
- {id: 'GREATER_THAN', name: 'Greater Than'},
- {id: 'LESS_THAN', name: 'Less Than'}
- ],
- sortOptions: [
- {id: 'asc', name: 'ascending'},
- {id: 'desc', name: 'descending'}
- ],
- values: {
- field: "",
- operation: "",
- value: "",
- sortOrder: "asc",
- sortField: "id"
- },
- text: {
- fieldText: "Filter Field..",
- operationText: "Operation..",
- sortOrderText: "ascending",
- sortByText: "ID"
- }
- };
-
- ctrl.tableActionButtons = [
- {
- name: 'Close',
- title: 'Close the Consumer',
- actionFn: openCloseDialog
- }
- ];
- ctrl.tableConfig = {
- selectionMatchProp: 'id',
- showCheckboxes: false
- };
- ctrl.tableColumns = [
- { header: 'ID', itemField: 'id' },
- { header: 'Session', itemField: 'session' , htmlTemplate:
'consumers-anchor-column-template', colActionFn: (item) =>
selectSession(item.idx) },
- { header: 'Client ID', itemField: 'clientID' },
- { header: 'Validated User', itemField: 'validatedUser' },
- { header: 'Protocol', itemField: 'protocol' },
- { header: 'Queue', itemField: 'queueName', htmlTemplate:
'consumers-anchor-column-template', colActionFn: (item) =>
selectQueue(item.idx) },
- { header: 'Queue Type', itemField: 'queueType' },
- { header: 'Filter', itemField: 'filter' },
- { header: 'Address', itemField: 'addressName' , htmlTemplate:
'consumers-anchor-column-template', colActionFn: (item) =>
selectAddress(item.idx) },
- { header: 'Remote Address', itemField: 'remoteAddress' },
- { header: 'Local Address', itemField: 'localAddress' },
- { header: 'Creation Time', itemField: 'creationTime' },
- { header: 'Messages in Transit', itemField: 'messagesInTransit' },
- { header: 'Messages in Transit Size', itemField:
'messagesInTransitSize' },
- { header: 'Messages Delivered', itemField: 'messagesDelivered' },
- { header: 'Messages Delivered Size', itemField:
'messagesDeliveredSize' },
- { header: 'Messages Acknowledged', itemField:
'messagesAcknowledged' },
- { header: 'Messages Acknowledged awaiting Commit', itemField:
'messagesAcknowledgedAwaitingCommit' },
- { header: 'Last Delivered Time', itemField: 'lastDeliveredTime',
templateFn: function(value) { return formatTimestamp(value);} },
- { header: 'Last Acknowledged Time', itemField:
'lastAcknowledgedTime' , templateFn: function(value) { return
formatTimestamp(value);} },
- { header: 'Status', itemField: 'status' }
- ];
-
- ctrl.refresh = function () {
- ctrl.refreshed = true;
- ctrl.pagination.load();
- };
- ctrl.reset = function () {
- ctrl.filter.values.field = "";
- ctrl.filter.values.operation = "";
- ctrl.filter.values.value = "";
- ctrl.filter.sortOrder = "asc";
- ctrl.filter.sortField = "id";
- ctrl.filter.text.fieldText = "Filter Field..";
- ctrl.filter.text.operationText = "Operation..";
- ctrl.filter.text.sortOrderText = "ascending";
- ctrl.filter.text.sortByText = "ID";
- ctrl.refreshed = true;
- artemisConsumer.consumer = null;
- ctrl.pagination.load();
- };
-
- if (artemisConsumer.consumer) {
- Artemis.log.debug("navigating to consumer = " +
artemisConsumer.consumer.sessionID);
- ctrl.filter.values.field = ctrl.filter.fieldOptions[1].id;
- ctrl.filter.values.operation = ctrl.filter.operationOptions[0].id;
- ctrl.filter.values.value = artemisConsumer.consumer.sessionID;
- artemisConsumer.consumer = null;
- }
-
- if (artemisQueue.queue) {
- Artemis.log.info("navigating to consumer = " +
artemisQueue.queue.queue);
- ctrl.filter.values.field = ctrl.filter.fieldOptions[5].id;
- ctrl.filter.values.operation = ctrl.filter.operationOptions[0].id;
- ctrl.filter.values.value = artemisQueue.queue.queue;
- artemisQueue.queue = null;
- }
-
- selectQueue = function (idx) {
- var queue = ctrl.consumers[idx].queue;
- Artemis.log.debug("navigating to queue:" + queue)
- artemisQueue.queue = { queue: queue };
- $location.path("artemis/artemisQueues");
- };
-
- selectAddress = function (idx) {
- var address = ctrl.consumers[idx].address;
- Artemis.log.debug("navigating to address:" + address)
- artemisAddress.address = { address: address };
- $location.path("artemis/artemisAddresses");
- };
-
- selectSession = function (idx) {
- var session = ctrl.consumers[idx].session;
- Artemis.log.debug("navigating to session:" + session)
- artemisSession.session = { session: session };
- $location.path("artemis/artemisSessions");
- };
-
- function openCloseDialog(action, item) {
- ctrl.consumerToDelete = item.id;
- ctrl.consumerToDeletesSession = item.session;
- ctrl.closeDialog = true;
- }
-
- ctrl.closeConsumer = function () {
- Artemis.log.debug("closing session: " + ctrl.consumerToDelete);
- if (mbean) {
- jolokia.request({ type: 'exec',
- mbean: mbean,
- operation:
'closeConsumerWithID(java.lang.String,java.lang.String)',
- arguments: [ctrl.consumerToDeletesSession,
ctrl.consumerToDelete] },
- Core.onSuccess(ctrl.pagination.load(), { error: function
(response) {
- Core.defaultJolokiaErrorHandler("Could not close
session: " + response);
- }}));
- }
- };
- ctrl.loadOperation = function () {
- if (mbean) {
- var method = 'listConsumers(java.lang.String, int, int)';
- var sessionsFilter = {
- field: ctrl.filter.values.field,
- operation: ctrl.filter.values.operation,
- value: ctrl.filter.values.value,
- sortOrder: ctrl.filter.values.sortOrder,
- sortField: ctrl.filter.values.sortField
- };
-
- if (ctrl.refreshed == true) {
- ctrl.pagination.reset();
- ctrl.refreshed = false;
- }
-
- Artemis.log.info(JSON.stringify(sessionsFilter));
- jolokia.request({ type: 'exec', mbean: mbean, operation:
method, arguments: [JSON.stringify(sessionsFilter), ctrl.pagination.pageNumber,
ctrl.pagination.pageSize] }, Core.onSuccess(populateTable, { error: onError }));
- }
- };
-
- function formatTimestamp(timestamp) {
- Artemis.log.info("in timestamp " + timestamp + " " + (typeof
timestamp !== "number"));
- if (isNaN(timestamp) || typeof timestamp !== "number") {
- Artemis.log.info("returning timestamp " + timestamp + " " +
(typeof timestamp !== "number"));
- return timestamp;
- }
- if (timestamp === 0) {
- return "N/A";
- }
- var d = new Date(timestamp);
- // "yyyy-MM-dd HH:mm:ss"
- //add 1 to month as getmonth returns the position not the actual
month
- return d.getFullYear() + "-" + pad2(d.getMonth() + 1) + "-" +
pad2(d.getDate()) + " " + pad2(d.getHours()) + ":" + pad2(d.getMinutes()) + ":"
+ pad2(d.getSeconds());
- }
- function pad2(value) {
- return (value < 10 ? '0' : '') + value;
- }
-
-
- ctrl.pagination.setOperation(ctrl.loadOperation);
-
- function onError(response) {
- Core.notification("error", "could not invoke list sessions" +
response.error);
- $scope.workspace.selectParentNode();
- };
-
- function populateTable(response) {
- var data = JSON.parse(response.value);
- ctrl.consumers = [];
- angular.forEach(data["data"], function (value, idx) {
- value.idx = idx;
- value.addressName = value.address;
- value.queueName = value.queue;
- ctrl.consumers.push(value);
- });
- ctrl.pagination.page(data["count"]);
- allConsumers = ctrl.consumers;
- ctrl.consumers = allConsumers;
- Core.$apply($scope);
- }
-
- ctrl.pagination.load();
- }
- ConsumersController.$inject = ['$scope', 'workspace', 'jolokia',
'localStorage', 'artemisMessage', '$location', '$timeout', '$filter',
'pagination', 'artemisConsumer', 'artemisQueue', 'artemisAddress',
'artemisSession'];
-
-
-})(Artemis || (Artemis = {}));
\ No newline at end of file
diff --git
a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/components/producers.js
b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/components/producers.js
deleted file mode 100644
index 66d10afa4f..0000000000
---
a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/components/producers.js
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-var Artemis;
-(function (Artemis) {
- Artemis.log.debug("loading producers");
- Artemis._module.component('artemisProducers', {
- template:
- `<h1>Browse Producers
- <button type="button" class="btn btn-link jvm-title-popover"
- uib-popover-template="'producers-instructions.html'"
popover-placement="bottom-left"
- popover-title="Instructions"
popover-trigger="'outsideClick'">
- <span class="pficon pficon-help"></span>
- </button>
- </h1>
- <div ng-include="'plugin/artemistoolbar.html'"></div>
- <pf-table-view config="$ctrl.tableConfig"
- dt-options="$ctrl.dtOptions"
- columns="$ctrl.tableColumns"
- items="$ctrl.producers">
- </pf-table-view>
- <div ng-include="'plugin/artemispagination.html'"></div>
- <script type="text/ng-template"
id="producers-anchor-column-template">
- <a href="#" ng-click="$ctrl.handleColAction(key,
item)">{{value}}</a>
- </script>
- <script type="text/ng-template" id="producers-instructions.html">
- <div>
- <p>
- This page allows you to browse all producers currently
open on the broker. These can be narrowed down
- by specifying a filter and also sorted using the sort
function in the toolbar. To execute a query
- click on the <span class="fa fa-search"></span> button.
- </p>
- <p>
- You can navigate to the producers session by clicking on
the <code>Session</code> field.
- </p>
- <p>
- Note that each page is loaded in from the broker when
navigating to a new page or when a query is executed.
- </p>
- </div>
- </script>
- `,
- controller: ProducersController
- })
- .name;
-
-
- function ProducersController($scope, workspace, jolokia, localStorage,
artemisMessage, $location, $timeout, $filter, pagination, artemisProducer,
artemisAddress, artemisSession) {
- var ctrl = this;
- ctrl.pagination = pagination;
- ctrl.pagination.reset();
- var mbean = Artemis.getBrokerMBean(workspace, jolokia);
- ctrl.allProducers = [];
- ctrl.producers = [];
- ctrl.pageNumber = 1;
- ctrl.workspace = workspace;
- ctrl.refreshed = false;
- ctrl.dtOptions = {
- // turn of ordering as we do it ourselves
- ordering: false,
- columns: [
- {name: "ID", visible: true},
- {name: "Name", visible: true},
- {name: "Session", visible: true},
- {name: "Client ID", visible: true},
- {name: "Protocol", visible: true},
- {name: "User", visible: true},
- {name: "Validated User", visible: false},
- {name: "Address", visible: true},
- {name: "Remote Address", visible: true},
- {name: "Local Address", visible: true},
- {name: "Messages Sent", visible: false},
- {name: "Messages Sent Size", visible: false},
- {name: "Last Produced Message ID", visible: false}
- ]
- };
-
- Artemis.log.debug('localStorage: producersColumnDefs =',
localStorage.getItem('producersColumnDefs'));
- if (localStorage.getItem('producersColumnDefs')) {
- loadedDefs =
JSON.parse(localStorage.getItem('producersColumnDefs'));
- //sanity check to make sure columns havent been added
- if(loadedDefs.length === ctrl.dtOptions.columns.length) {
- ctrl.dtOptions.columns = loadedDefs;
- }
- }
-
- ctrl.updateColumns = function () {
- var attributes = [];
- ctrl.dtOptions.columns.forEach(function (column) {
- attributes.push({name: column.name, visible: column.visible});
- });
- Artemis.log.debug("saving columns " + JSON.stringify(attributes));
- localStorage.setItem('producersColumnDefs',
JSON.stringify(attributes));
- }
- ctrl.filter = {
- fieldOptions: [
- {id: 'id', name: 'ID'},
- {id: 'name', name: 'Name'},
- {id: 'session', name: 'Session'},
- {id: 'clientID', name: 'Client ID'},
- {id: 'user', name: 'User'},
- {id: 'validatedUser', name: 'Validated User'},
- {id: 'address', name: 'Address'},
- {id: 'protocol', name: 'Protocol'},
- {id: 'localAddress', name: 'Local Address'},
- {id: 'remoteAddress', name: 'Remote Address'}
- ],
- operationOptions: [
- {id: 'EQUALS', name: 'Equals'},
- {id: 'NOT_EQUALS', name: 'Not Equals'},
- {id: 'CONTAINS', name: 'Contains'}
- ],
- sortOptions: [
- {id: 'asc', name: 'ascending'},
- {id: 'desc', name: 'descending'}
- ],
- values: {
- field: "",
- operation: "",
- value: "",
- sortOrder: "asc",
- sortField: "id"
- },
- text: {
- fieldText: "Filter Field..",
- operationText: "Operation..",
- sortOrderText: "ascending",
- sortByText: "ID"
- }
- };
- ctrl.tableConfig = {
- selectionMatchProp: 'id',
- showCheckboxes: false
- };
- ctrl.tableColumns = [
- { header: 'ID', itemField: 'id' },
- { header: 'Name', itemField: 'name' },
- { header: 'Session', itemField: 'session' , htmlTemplate:
'producers-anchor-column-template', colActionFn: (item) =>
selectSession(item.idx) },
- { header: 'Client ID', itemField: 'clientID' },
- { header: 'Protocol', itemField: 'protocol' },
- { header: 'User', itemField: 'user' },
- { header: 'Validated User', name: 'validatedUser'},
- { header: 'Address', itemField: 'addressName' , htmlTemplate:
'producers-anchor-column-template', colActionFn: (item) =>
selectAddress(item.idx) },
- { header: 'Remote Address', itemField: 'remoteAddress' },
- { header: 'Local Address', itemField: 'localAddress' },
- { header: 'Messages Sent', itemField: 'msgSent'},
- { header: 'Messages Sent Size', itemField: 'msgSizeSent'},
- { header: 'Last Produced Message ID', itemField:
'lastProducedMessageID'}
- ];
-
- ctrl.refresh = function () {
- ctrl.refreshed = true;
- ctrl.pagination.load();
- };
- ctrl.reset = function () {
- ctrl.filter.values.field = "";
- ctrl.filter.values.operation = "";
- ctrl.filter.values.value = "";
- ctrl.filter.sortOrder = "asc";
- ctrl.filter.sortField = "id";
- ctrl.filter.text.fieldText = "Filter Field..";
- ctrl.filter.text.operationText = "Operation..";
- ctrl.filter.text.sortOrderText = "ascending";
- ctrl.filter.text.sortByText = "ID";
- ctrl.refreshed = true;
- artemisProducer.producer = null;
- ctrl.pagination.load();
- };
-
- selectAddress = function (idx) {
- var address = ctrl.producers[idx].address;
- Artemis.log.debug("navigating to address:" + address)
- artemisAddress.address = { address: address };
- $location.path("artemis/artemisAddresses");
- };
-
- selectSession = function (idx) {
- var session = ctrl.producers[idx].session;
- Artemis.log.debug("navigating to session:" + session)
- artemisSession.session = { session: session };
- $location.path("artemis/artemisSessions");
- };
-
- if (artemisProducer.producer) {
- Artemis.log.debug("navigating to producer = " +
artemisProducer.producer.sessionID);
- ctrl.filter.values.field = ctrl.filter.fieldOptions[1].id;
- ctrl.filter.values.operation = ctrl.filter.operationOptions[0].id;
- ctrl.filter.values.value = artemisProducer.producer.sessionID;
- artemisProducer.producer = null;
- }
-
- ctrl.loadOperation = function () {
- if (mbean) {
- var method = 'listProducers(java.lang.String, int, int)';
- var producerFilter = {
- field: ctrl.filter.values.field,
- operation: ctrl.filter.values.operation,
- value: ctrl.filter.values.value,
- sortOrder: ctrl.filter.values.sortOrder,
- sortField: ctrl.filter.values.sortField
- };
-
- if (ctrl.refreshed == true) {
- ctrl.pagination.reset();
- ctrl.refreshed = false;
- }
- jolokia.request({ type: 'exec', mbean: mbean, operation:
method, arguments: [JSON.stringify(producerFilter), ctrl.pagination.pageNumber,
ctrl.pagination.pageSize] }, Core.onSuccess(populateTable, { error: onError }));
- }
- };
-
- ctrl.pagination.setOperation(ctrl.loadOperation);
-
- function onError(response) {
- Core.notification("error", "could not invoke list sessions" +
response.error);
- $scope.workspace.selectParentNode();
- };
-
- function populateTable(response) {
- var data = JSON.parse(response.value);
- ctrl.producers = [];
- angular.forEach(data["data"], function (value, idx) {
- value.idx = idx;
- value.addressName = value.address;
- ctrl.producers.push(value);
- });
- ctrl.pagination.page(data["count"]);
- allProducers = ctrl.producers;
- ctrl.producers = allProducers;
- Core.$apply($scope);
- }
-
- ctrl.pagination.load();
- }
- ProducersController.$inject = ['$scope', 'workspace', 'jolokia',
'localStorage', 'artemisMessage', '$location', '$timeout', '$filter',
'pagination', 'artemisProducer', 'artemisAddress', 'artemisSession'];
-
-
-})(Artemis || (Artemis = {}));
\ No newline at end of file
diff --git
a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/components/queues.js
b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/components/queues.js
deleted file mode 100644
index ce26f728b6..0000000000
---
a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/components/queues.js
+++ /dev/null
@@ -1,361 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-var Artemis;
-(function (Artemis) {
- //Artemis.log.debug("loading addresses");
- Artemis._module.component('artemisQueues', {
- template:
- `<h1>Browse Queues
- <button type="button" class="btn btn-link jvm-title-popover"
- uib-popover-template="'queues-instructions.html'"
popover-placement="bottom-left"
- popover-title="Instructions"
popover-trigger="'outsideClick'">
- <span class="pficon pficon-help"></span>
- </button>
- </h1>
- <div ng-include="'plugin/artemistoolbar.html'"></div>
- <pf-table-view config="$ctrl.tableConfig"
- dt-options="$ctrl.dtOptions"
- columns="$ctrl.tableColumns"
- action-buttons="$ctrl.tableActionButtons"
- items="$ctrl.queues">
- </pf-table-view>
- <div ng-include="'plugin/artemispagination.html'"></div>
- <script type="text/ng-template"
id="queues-anchor-column-template">
- <a href="#" ng-click="$ctrl.handleColAction(key,
item)">{{value}}</a>
- </script>
- <script type="text/ng-template" id="queues-instructions.html">
- <div>
- <p>
- This page allows you to browse all queues on the broker.
These can be narrowed down
- by specifying a filter and also sorted using the sort
function in the toolbar. To execute a query
- click on the <span class="fa fa-search"></span> button.
- </p>
- <p>
- You can also navigate directly to the JMX attributes and
operations tabs by using the <code>attributes</code>
- and <code>operations</code> button under the
<code>Actions</code> column.You can navigate to the
- queues address by clicking on the <code>Address</code>
field.
- </p>
- <p>
- Note that each page is loaded in from the broker when
navigating to a new page or when a query is executed.
- </p>
- </div>
- </script>
- `,
- controller: QueuesController
- })
- .name;
-
-
- function QueuesController($scope, workspace, jolokia, localStorage,
artemisMessage, $location, $timeout, $filter, pagination, artemisQueue,
artemisAddress) {
- var ctrl = this;
- ctrl.pagination = pagination;
- ctrl.pagination.reset();
- var mbean = Artemis.getBrokerMBean(workspace, jolokia);
- ctrl.allAddresses = [];
- ctrl.queues = [];
- ctrl.workspace = workspace;
- ctrl.refreshed = false;
- ctrl.dtOptions = {
- // turn of ordering as we do it ourselves
- ordering: false,
- columns: [
- {name: "ID", visible: true},
- {name: "name", visible: true},
- {name: "Address", visible: true},
- {name: "Routing Type", visible: true},
- {name: "Filter", visible: true},
- {name: "Durable", visible: true},
- {name: "Max Consumers", visible: true},
- {name: "Purge On No Consumers", visible: true},
- {name: "Consumer Count", visible: true},
- {name: "Message Count", visible: true},
- {name: "Paused", visible: false},
- {name: "Temporary", visible: false},
- {name: "Auto Created", visible: false},
- {name: "User", visible: false},
- {name: "Total Messages Added", visible: false},
- {name: "Total Messages Acked", visible: false},
- {name: "Delivering Count", visible: false},
- {name: "Messages Killed", visible: false},
- {name: "Direct Deliver", visible: false},
- {name: "Exclusive", visible: false},
- {name: "Last Value", visible: false},
- {name: "Last Value Key", visible: false},
- {name: "Scheduled Count", visible: false},
- {name: "Group Rebalance", visible: false},
- {name: "Group Rebalance Pause Dispatch", visible: false},
- {name: "Group Buckets", visible: false},
- {name: "Group First Key", visible: false},
- {name: "Queue Enabled", visible: false},
- {name: "Ring Size", visible: false},
- {name: "Consumers Before Dispatch", visible: false},
- {name: "Delay Before Dispatch", visible: false},
- {name: "Auto Delete", visible: false},
- {name: "Internal", visible: false}
- ]
- };
-
- Artemis.log.debug('localStorage: queuesColumnDefs =',
localStorage.getItem('queuesColumnDefs'));
- if (localStorage.getItem('queuesColumnDefs')) {
- Artemis.log.info("loading columns " +
localStorage.getItem('queuesColumnDefs'))
- loadedDefs =
JSON.parse(localStorage.getItem('queuesColumnDefs'));
- //sanity check to make sure columns havent been added
- if(loadedDefs.length === ctrl.dtOptions.columns.length) {
- ctrl.dtOptions.columns = loadedDefs;
- }
- }
-
- ctrl.updateColumns = function () {
- var attributes = [];
- ctrl.dtOptions.columns.forEach(function (column) {
- attributes.push({name: column.name, visible:
column.visible});
- });
- Artemis.log.debug("saving columns " +
JSON.stringify(attributes));
- localStorage.setItem('queuesColumnDefs',
JSON.stringify(attributes));
- }
- ctrl.filter = {
- fieldOptions: [
- {id: 'id', name: 'ID'},
- {id: 'name', name: 'Name'},
- {id: 'consumerCount', name: 'Consumer Count'},
- {id: 'address', name: 'Address'},
- {id: 'filter', name: 'Filter'},
- {id: 'maxConsumers', name: 'Max Consumers'},
- {id: 'routingType', name: 'Routing Type'},
- {id: 'purgeOnNoConsumers', name: 'Purge On No Consumers'},
- {id: 'user', name: 'User'},
- {id: 'messageCount', name: 'Message Count'},
- {id: 'deliveringCount', name: 'Delivering Count'},
- {id: 'paused', name: 'Paused'},
- {id: 'temporary', name: 'Temporary'},
- {id: 'autoCreated', name: 'Auto Created'},
- {id: 'autoDelete', name: 'Auto Delete'},
- {id: 'internalQueue', name: 'Internal'}
- ],
- operationOptions: [
- {id: 'EQUALS', name: 'Equals'},
- {id: 'NOT_EQUALS', name: 'Not Equals'},
- {id: 'CONTAINS', name: 'Contains'},
- {id: 'NOT_CONTAINS', name: 'Does Not Contain'},
- {id: 'GREATER_THAN', name: 'Greater Than'},
- {id: 'LESS_THAN', name: 'Less Than'}
- ],
- sortOptions: [
- {id: 'asc', name: 'ascending'},
- {id: 'desc', name: 'descending'}
- ],
- values: {
- field: "",
- operation: "",
- value: "",
- sortOrder: "asc",
- sortField: "id"
- },
- text: {
- fieldText: "Filter Field..",
- operationText: "Operation..",
- sortOrderText: "ascending",
- sortByText: "ID"
- }
- };
-
- ctrl.tableActionButtons = [
- {
- name: 'attributes',
- title: 'Navigate to attributes',
- actionFn: navigateToQueuesAtts
- },
- {
- name: 'operations',
- title: 'navigate to operations',
- actionFn: navigateToQueuesOps
- }
- ];
- ctrl.tableConfig = {
- selectionMatchProp: 'id',
- showCheckboxes: false
- };
- ctrl.tableColumns = [
- { header: 'ID', itemField: 'id' },
- { header: 'Name', itemField: 'name', htmlTemplate:
'queues-anchor-column-template', colActionFn: (item) => selectQueue(item.idx) },
- { header: 'Address', itemField: 'address', htmlTemplate:
'queues-anchor-column-template', colActionFn: (item) => selectAddress(item.idx)
},
- { header: 'Routing Type', itemField: 'routingType'},
- { header: 'Filter', itemField: 'filter' },
- { header: 'Durable', itemField: 'durable' },
- { header: 'Max Consumers', itemField: 'maxConsumers' },
- { header: 'Purge On No Consumers', itemField: 'purgeOnNoConsumers'
},
- { header: 'Consumer Count', itemField: 'consumerCount',
htmlTemplate: 'queues-anchor-column-template', colActionFn: (item) =>
selectConsumers(item.idx) },
- { header: 'Message Count', itemField: 'messageCount',
htmlTemplate: 'queues-anchor-column-template', colActionFn: (item) =>
browseQueue(item.idx) },
- { header: 'Paused', itemField: 'paused' },
- { header: 'Temporary', itemField: 'temporary' },
- { header: 'Auto Created', itemField: 'autoCreated' },
- { header: 'User', itemField: 'user' },
- { header: 'Total Messages Added', itemField: 'messagesAdded' },
- { header: 'Total Messages Acked', itemField: 'messagesAcked' },
- { header: 'Delivering Count', itemField: 'deliveringCount' },
- { header: 'Messages Killed', itemField: 'messagesKilled' },
- { header: 'Direct Deliver', itemField: 'directDeliver' },
- { header: 'exclusive', itemField: 'exclusive' },
- { header: 'Last Value', itemField: 'lastValue' },
- { header: 'Last Value Key', itemField: 'lastValueKey' },
- { header: 'Scheduled Count', itemField: 'scheduledCount' },
- { header: 'Group Rebalance', itemField: 'groupRebalance' },
- { header: 'Group Rebalance Pause Dispatch', itemField:
'groupRebalancePauseDispatch' },
- { header: 'Group Buckets', itemField: 'groupBuckets' },
- { header: 'Group First Key', itemField: 'groupFirstKey' },
- { header: 'Enabled', itemField: 'enabled'},
- { header: 'Ring Size', itemField: 'ringSize'},
- { header: 'Consumers Before Dispatch', itemField:
'consumersBeforeDispatch'},
- { header: 'Delay Before Dispatch', itemField:
'delayBeforeDispatch'},
- { header: 'Auto Delete', itemField: 'autoDelete'},
- { header: 'Internal', itemField: 'internalQueue'}
- ];
-
- ctrl.refresh = function () {
- ctrl.refreshed = true;
- ctrl.pagination.load();
- };
- ctrl.reset = function () {
- ctrl.filter.values.field = "";
- ctrl.filter.values.operation = "";
- ctrl.filter.values.value = "";
- ctrl.filter.sortOrder = "asc";
- ctrl.filter.sortField = "id";
- ctrl.filter.text.fieldText = "Filter Field..";
- ctrl.filter.text.operationText = "Operation..";
- ctrl.filter.text.sortOrderText = "ascending";
- ctrl.filter.text.sortByText = "ID";
- ctrl.refreshed = true;
- ctrl.pagination.load();
- };
-
- if (artemisQueue.queue) {
- Artemis.log.debug("navigating to queue = " +
artemisQueue.queue.queue);
- ctrl.filter.values.field = ctrl.filter.fieldOptions[1].id;
- ctrl.filter.values.operation = ctrl.filter.operationOptions[0].id;
- ctrl.filter.values.value = artemisQueue.queue.queue;
- artemisQueue.queue = null;
- }
-
- if (artemisAddress.address) {
- Artemis.log.debug("navigating to address = " +
artemisAddress.address.address);
- ctrl.filter.values.field = ctrl.filter.fieldOptions[3].id;
- ctrl.filter.values.operation = ctrl.filter.operationOptions[0].id;
- ctrl.filter.values.value = artemisAddress.address.address;
- artemisAddress.address = null;
- }
-
- function navigateToQueuesAtts(action, item) {
- qnid = getQueuesNid(item, $location);
- Artemis.log.info(qnid);
- $location.path("artemis/attributes").search({"tab": "artemis",
"nid": qnid });
- };
- function navigateToQueuesOps(action, item) {
- $location.path("artemis/operations").search({"tab": "artemis",
"nid": getQueuesNid(item, $location)});
- };
- selectAddress = function (idx) {
- var item = ctrl.queues[idx]
- Artemis.log.debug("navigating to address:" + item.address);
- artemisAddress.address = { address: item.address };
- $location.path("artemis/artemisAddresses").search({"tab":
"artemis", "nid": getAddressesNid(item, $location)});
- };
- selectQueue = function (idx) {
- var item = ctrl.queues[idx];
- var nid = getQueuesNid(item, $location);
- Artemis.log.debug("navigating to queue:" + nid);
- artemisQueue.queue = { queue: item.name };
- $location.path("artemis/artemisQueues").search({"tab": "artemis",
"nid": nid});
- };
- selectConsumers = function (idx) {
- var item = ctrl.queues[idx];
- var nid = getQueuesNid(item, $location);
- artemisQueue.queue = { queue: item.name };
- $location.path("artemis/artemisConsumers").search({"tab":
"artemis", "nid": nid});
- };
- browseQueue = function (idx) {
- var item = ctrl.queues[idx];
- var nid = getQueuesNid(item, $location);
- Artemis.log.debug("navigating to queue browser:" + nid);
- $location.path("artemis/artemisBrowseQueue").search({"tab":
"artemis", "nid": nid});
- };
- function getQueuesNid(item, $location) {
- var rootNID = getRootNid($location);
- var targetNID = rootNID + "addresses-" + item.address + "-queues-"
+ item.routingType.toLowerCase() + "-" + item.name;
- Artemis.log.debug("targetNID=" + targetNID);
- return targetNID;
- }
- function getAddressesNid(item, $location) {
- var rootNID = getRootNid($location);
- var targetNID = rootNID + "addresses-" + item.address;
- Artemis.log.debug("targetNID=" + targetNID);
- return targetNID;
- }
- function getRootNid($location) {
- var mBean = Artemis.getBrokerMBean(workspace, jolokia);
- var details = Core.parseMBean(mBean);
- var properties = details['attributes'];
- var brokerAddress = properties["broker"] || "unknown";
- var artemisJmxDomain = localStorage['artemisJmxDomain'] ||
"org.apache.activemq.artemis";
- //we have to remove the surrounding quotes
- return "root-" + artemisJmxDomain + "-" +
brokerAddress.replace(/^"|"$/g, '') + "-";
-
- }
- ctrl.loadOperation = function () {
- if (mbean) {
- var method = 'listQueues(java.lang.String, int, int)';
- var queuesFilter = {
- field: ctrl.filter.values.field,
- operation: ctrl.filter.values.operation,
- value: ctrl.filter.values.value,
- sortOrder: ctrl.filter.values.sortOrder,
- sortField: ctrl.filter.values.sortField
- };
-
- if (ctrl.refreshed == true) {
- ctrl.pagination.reset();
- ctrl.refreshed = false;
- }
- jolokia.request({ type: 'exec', mbean: mbean, operation:
method, arguments: [JSON.stringify(queuesFilter), ctrl.pagination.pageNumber,
ctrl.pagination.pageSize] }, Core.onSuccess(populateTable, { error: onError }));
- }
- };
-
- ctrl.pagination.setOperation(ctrl.loadOperation);
-
- function onError(response) {
- Core.notification("error", "could not invoke list queues" +
response.error);
- $scope.workspace.selectParentNode();
- };
-
- function populateTable(response) {
- var data = JSON.parse(response.value);
- ctrl.queues = [];
- angular.forEach(data["data"], function (value, idx) {
- value.idx = idx;
- ctrl.queues.push(value);
- });
- ctrl.pagination.page(data["count"]);
- allQueues = ctrl.queues;
- ctrl.queues = allQueues;
- Core.$apply($scope);
- }
-
- ctrl.pagination.load();
- }
- QueuesController.$inject = ['$scope', 'workspace', 'jolokia',
'localStorage', 'artemisMessage', '$location', '$timeout', '$filter',
'pagination', 'artemisQueue', 'artemisAddress'];
-
-
-})(Artemis || (Artemis = {}));
\ No newline at end of file
diff --git
a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/components/sessions.js
b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/components/sessions.js
deleted file mode 100644
index eb8cb3c94e..0000000000
---
a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/components/sessions.js
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-var Artemis;
-(function (Artemis) {
- Artemis.log.debug("loading sessions");
- Artemis._module.component('artemisSessions', {
- template:
- `<h1>Browse Sessions
- <button type="button" class="btn btn-link jvm-title-popover"
- uib-popover-template="'sessions-instructions.html'"
popover-placement="bottom-left"
- popover-title="Instructions"
popover-trigger="'outsideClick'">
- <span class="pficon pficon-help"></span>
- </button>
- </h1>
- <div ng-include="'plugin/artemistoolbar.html'"></div>
- <pf-table-view config="$ctrl.tableConfig"
- dt-options="$ctrl.dtOptions"
- columns="$ctrl.tableColumns"
- action-buttons="$ctrl.tableActionButtons"
- items="$ctrl.sessions">
- </pf-table-view>
- <div ng-include="'plugin/artemispagination.html'"></div>
- <div hawtio-confirm-dialog="$ctrl.closeDialog" title="Close
Session?"
- ok-button-text="Close"
- cancel-button-text="Cancel"
- on-ok="$ctrl.closeSession()">
- <div class="dialog-body">
- <p class="alert alert-warning">
- <span class="pficon pficon-warning-triangle-o"></span>
- You are about to close the selected session:
{{$ctrl.sessionToDelete}}
- <p>Are you sure you want to continue.</p>
- </p>
- </div>
- </div>
- <script type="text/ng-template"
id="sessions-anchor-column-template">
- <a href="#" ng-click="$ctrl.handleColAction(key,
item)">{{value}}</a>
- </script>
- <script type="text/ng-template" id="sessions-instructions.html">
- <div>
- <p>
- This page allows you to browse all session currently open
on the broker. These can be narrowed down
- by specifying a filter and also sorted using the sort
function in the toolbar. To execute a query
- click on the <span class="fa fa-search"></span> button.
- </p>
- <p>
- Sessions can be closed by using the <code>close</code>
button under the <code>Actions</code> column and you can
- navigate to the connection, consumers and producers by
clicking on the appropriate field.
- </p>
- <p>
- Note that each page is loaded in from the broker when
navigating to a new page or when a query is executed.
- </p>
- </div>
- </script>
- `,
- controller: SessionsController
- })
- .name;
-
-
- function SessionsController($scope, workspace, jolokia, localStorage,
artemisMessage, $location, $timeout, $filter, pagination, artemisConnection,
artemisSession, artemisConsumer, artemisProducer) {
- var ctrl = this;
- ctrl.pagination = pagination;
- ctrl.pagination.reset();
- var mbean = Artemis.getBrokerMBean(workspace, jolokia);
- ctrl.allSessions = [];
- ctrl.sessions = [];
- ctrl.pageNumber = 1;
- ctrl.workspace = workspace;
- ctrl.refreshed = false;
- ctrl.sessionToDeletesConnection = '';
- ctrl.sessionToDelete = '';
- ctrl.closeDialog = false;
- ctrl.dtOptions = {
- // turn of ordering as we do it ourselves
- ordering: false,
- columns: [
- {name: "ID", visible: true},
- {name: "Connection", visible: true},
- {name: "User", visible: true},
- {name: "Validated User", visible: false},
- {name: "Consumer Count", visible: true},
- {name: "Producer Count", visible: true},
- {name: "Creation Time", visible: true}
- ]
- };
-
- Artemis.log.debug('localStorage: sessionsColumnDefs =',
localStorage.getItem('sessionsColumnDefs'));
- if (localStorage.getItem('sessionsColumnDefs')) {
- loadedDefs =
JSON.parse(localStorage.getItem('sessionsColumnDefs'));
- //sanity check to make sure columns havent been added
- if(loadedDefs.length === ctrl.dtOptions.columns.length) {
- ctrl.dtOptions.columns = loadedDefs;
- }
- }
-
- ctrl.updateColumns = function () {
- var attributes = [];
- ctrl.dtOptions.columns.forEach(function (column) {
- attributes.push({name: column.name, visible:
column.visible});
- });
- Artemis.log.debug("saving columns " +
JSON.stringify(attributes));
- localStorage.setItem('sessionsColumnDefs',
JSON.stringify(attributes));
- }
- ctrl.filter = {
- fieldOptions: [
- {id: 'id', name: 'ID'},
- {id: 'connectionID', name: 'Connection ID'},
- {id: 'consumerCount', name: 'Consumer Count'},
- {id: 'user', name: 'User'},
- {id: 'validatedUser', name: 'Validated User'},
- {id: 'protocol', name: 'Protocol'},
- {id: 'clientID', name: 'Client ID'},
- {id: 'localAddress', name: 'Local Address'},
- {id: 'remoteAddress', name: 'Remote Address'}
- ],
- operationOptions: [
- {id: 'EQUALS', name: 'Equals'},
- {id: 'NOT_EQUALS', name: 'Not Equals'},
- {id: 'CONTAINS', name: 'Contains'},
- {id: 'NOT_CONTAINS', name: 'Does Not Contain'},
- {id: 'GREATER_THAN', name: 'Greater Than'},
- {id: 'LESS_THAN', name: 'Less Than'}
- ],
- sortOptions: [
- {id: 'asc', name: 'ascending'},
- {id: 'desc', name: 'descending'}
- ],
- values: {
- field: "",
- operation: "",
- value: "",
- sortOrder: "asc",
- sortField: "id"
- },
- text: {
- fieldText: "Filter Field..",
- operationText: "Operation..",
- sortOrderText: "ascending",
- sortByText: "ID"
- }
- };
- ctrl.tableActionButtons = [
- {
- name: 'Close',
- title: 'Close the Session',
- actionFn: openCloseDialog
- }
- ];
- ctrl.tableConfig = {
- selectionMatchProp: 'id',
- showCheckboxes: false
- };
- ctrl.tableColumns = [
- { header: 'ID', itemField: 'id' },
- { header: 'Connection', itemField: 'connectionID', htmlTemplate:
'sessions-anchor-column-template', colActionFn: (item) =>
selectConnection(item.idx) },
- { header: 'User', itemField: 'user' },
- { header: 'Validated User', itemField: 'validatedUser' },
- { header: 'Consumer Count', itemField: 'consumerCount',
htmlTemplate: 'sessions-anchor-column-template', colActionFn: (item) =>
selectConsumers(item.idx) },
- { header: 'Producer Count', itemField: 'producerCount',
htmlTemplate: 'sessions-anchor-column-template', colActionFn: (item) =>
selectProducers(item.idx) },
- { header: 'Creation Time', itemField: 'creationTime' }
- ];
-
- ctrl.refresh = function () {
- ctrl.refreshed = true;
- ctrl.pagination.load();
- };
- ctrl.reset = function () {
- ctrl.filter.values.field = "";
- ctrl.filter.values.operation = "";
- ctrl.filter.values.value = "";
- ctrl.filter.sortOrder = "asc";
- ctrl.filter.sortField = "id";
- ctrl.filter.text.fieldText = "Filter Field..";
- ctrl.filter.text.operationText = "Operation..";
- ctrl.filter.text.sortOrderText = "ascending";
- ctrl.filter.text.sortByText = "ID";
- ctrl.refreshed = true;
- artemisConnection.connection = null;
- artemisSession.session = null;
- artemisConsumer.consumer = null;
- ctrl.pagination.load();
- };
-
- selectConnection = function (idx) {
- var connection = ctrl.sessions[idx].connectionID;
- Artemis.log.debug("navigating to connection:" + connection)
- artemisSession.session = { connectionID: connection };
- $location.path("artemis/artemisConnections");
- };
-
- selectConsumers = function (idx) {
- var session = ctrl.sessions[idx].id;
- Artemis.log.debug("navigating to consumers:" + session)
- artemisConsumer.consumer = { sessionID: session };
- $location.path("artemis/artemisConsumers");
- };
-
- selectProducers = function (idx) {
- var session = ctrl.sessions[idx].id;
- Artemis.log.debug("navigating to producers:" + session)
- artemisProducer.producer = { sessionID: session };
- $location.path("artemis/artemisProducers");
- };
-
- if (artemisConnection.connection) {
- Artemis.log.debug("navigating to connection = " +
artemisConnection.connection.connectionID);
- ctrl.filter.values.field = ctrl.filter.fieldOptions[1].id;
- ctrl.filter.values.operation = ctrl.filter.operationOptions[0].id;
- ctrl.filter.values.value =
artemisConnection.connection.connectionID;
- artemisConnection.connection = null;
- }
-
- if (artemisSession.session) {
- Artemis.log.debug("navigating to session = " +
artemisSession.session.session);
- ctrl.filter.values.field = ctrl.filter.fieldOptions[0].id;
- ctrl.filter.values.operation = ctrl.filter.operationOptions[0].id;
- ctrl.filter.values.value = artemisSession.session.session;
- artemisSession.session = null;
- }
-
- function openCloseDialog(action, item) {
- ctrl.sessionToDelete = item.id;
- ctrl.sessionToDeletesConnection = item.connectionID;
- ctrl.closeDialog = true;
- }
-
- ctrl.closeSession = function () {
- Artemis.log.debug("closing session: " + ctrl.sessionToDelete);
- if (mbean) {
- jolokia.request({ type: 'exec',
- mbean: mbean,
- operation:
'closeSessionWithID(java.lang.String,java.lang.String)',
- arguments: [ctrl.sessionToDeletesConnection,
ctrl.sessionToDelete] },
- Core.onSuccess(ctrl.pagination.load(), { error: function
(response) {
- Core.defaultJolokiaErrorHandler("Could not close
session: " + response);
- }}));
- }
- };
- ctrl.loadOperation = function () {
- if (mbean) {
- var method = 'listSessions(java.lang.String, int, int)';
- var sessionsFilter = {
- field: ctrl.filter.values.field,
- operation: ctrl.filter.values.operation,
- value: ctrl.filter.values.value,
- sortOrder: ctrl.filter.values.sortOrder,
- sortField: ctrl.filter.values.sortField
- };
-
- if (ctrl.refreshed == true) {
- ctrl.pagination.reset();
- ctrl.refreshed = false;
- }
- jolokia.request({ type: 'exec', mbean: mbean, operation:
method, arguments: [JSON.stringify(sessionsFilter), ctrl.pagination.pageNumber,
ctrl.pagination.pageSize] }, Core.onSuccess(populateTable, { error: onError }));
- }
- };
-
- ctrl.pagination.setOperation(ctrl.loadOperation);
-
- function onError(response) {
- Core.notification("error", "could not invoke list sessions" +
response.error);
- $scope.workspace.selectParentNode();
- };
-
- function populateTable(response) {
- var data = JSON.parse(response.value);
- ctrl.sessions = [];
- angular.forEach(data["data"], function (value, idx) {
- value.idx = idx;
- ctrl.sessions.push(value);
- });
- ctrl.pagination.page(data["count"]);
- allSessions = ctrl.sessions;
- ctrl.sessions = allSessions;
- Core.$apply($scope);
- }
-
- ctrl.pagination.load();
- }
- SessionsController.$inject = ['$scope', 'workspace', 'jolokia',
'localStorage', 'artemisMessage', '$location', '$timeout', '$filter',
'pagination', 'artemisConnection', 'artemisSession', 'artemisConsumer',
'artemisProducer'];
-
-
-})(Artemis || (Artemis = {}));
\ No newline at end of file
diff --git
a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/services/toolbar.js
b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/services/toolbar.js
deleted file mode 100644
index 733862cfa5..0000000000
---
a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/services/toolbar.js
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-var Artemis;
-(function (Artemis) {
- Artemis._module.run(configureToolbar);
-
- function configureToolbar($templateCache) {
- $templateCache.put('plugin/artemistoolbar.html',
- `
- <div class="row toolbar-pf table-view-pf-toolbar"
id="toolbar1">
- <form class="toolbar-pf-actions">
- <div class="form-group toolbar-pf-filter">
- <div class="input-group">
- <div class="input-group-btn"
style="padding-left: 10px">
- <button id="filter.values.field"
type="button" class="btn btn-default dropdown-toggle" id="filter"
data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">{{$ctrl.filter.text.fieldText}} <span
class="caret"></span></button>
- <ul class="dropdown-menu">
- <li ng-repeat="option in
$ctrl.filter.fieldOptions"
- id="option.id"
ng-click="$ctrl.filter.values.field = option.id;$ctrl.filter.text.fieldText =
option.name">{{ option.name }}</ul>
- </ul>
- </div>
- <div class="input-group-btn">
- <button type="button" class="btn
btn-default dropdown-toggle" id="filter" data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false">{{$ctrl.filter.text.operationText}}<span
class="caret"></span></button>
- <ul class="dropdown-menu">
- <li ng-repeat="option in
$ctrl.filter.operationOptions"
- id="option.id"
ng-click="$ctrl.filter.values.operation =
option.id;$ctrl.filter.text.operationText = option.name">{{ option.name }}</ul>
- </ul>
- </div>
- <input type="text" class="form-control"
ng-model="$ctrl.filter.values.value" placeholder="Value" autocomplete="off"
id="filterInput">
- <div class="input-group-btn"
style="padding-left: 10px">
- <button type="button" class="btn
btn-default dropdown-toggle" id="filter" data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false">{{$ctrl.filter.text.sortOrderText}}<span
class="caret"></span></button>
- <ul class="dropdown-menu">
- <li ng-repeat="option in
$ctrl.filter.sortOptions"
- id="option.id"
ng-click="$ctrl.filter.values.sortOrder =
option.id;$ctrl.filter.text.sortOrderText = option.name">{{ option.name }}</ul>
- </ul>
- </div>
- <div class="input-group-btn">
- <button type="button" class="btn
btn-default dropdown-toggle" id="filter" data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false">{{$ctrl.filter.text.sortByText}}<span
class="caret"></span></button>
- <ul class="dropdown-menu">
- <li ng-repeat="option in
$ctrl.filter.fieldOptions"
- id="option.id"
ng-click="$ctrl.filter.values.sortField =
option.id;$ctrl.filter.text.sortByText = option.name">{{ option.name }}</ul>
- </ul>
- </div>
- <div class="input-group-btn">
- <button class="btn btn-link btn-find"
ng-click="$ctrl.refresh()" type="button">
- <span class="fa
fa-search"></span>
- </button>
- </div>
- <div class="input-group-btn">
- <button class="btn btn-default
primary-action ng-binding ng-scope"
- type="button"
- title=""
- ng-click="$ctrl.reset()">Reset
- </button>
- </div>
- <div class="input-group-btn"
style="padding-left: 10px">
- <button class="btn btn-default
primary-action ng-binding ng-scope"
- type="button"
- title=""
- ng-click="$ctrl.showColumns =
true">Columns
- </button>
- </div>
- </div>
- </div>
- <div hawtio-confirm-dialog="$ctrl.showColumns"
- title="Column Selector"
- cancel-button-text="Close"
- on-cancel="$ctrl.updateColumns()"
- show-ok-button="false">
- <div class="dialog-body ng-non-bindable" >
- <table class="table-view-container table
table-striped table-bordered table-hover dataTable no-footer">
- <tr ng-repeat="col in
$ctrl.dtOptions.columns">
- <td>{{ col.name }}</td>
- <td><input type="checkbox"
ng-model="col.visible" placeholder="Name" autocomplete="off" id="name"></td>
- </tr>
- </table>
- </div>
- </div>
- </form>
- </div>
- `
- )
- $templateCache.put('plugin/artemismessagetoolbar.html',
- `
- <div class="row toolbar-pf table-view-pf-toolbar"
id="toolbar1">
- <div class="col-sm-20">
- <form class="toolbar-pf-actions">
- <div class="form-group toolbar-pf-filter">
- <div class="input-group">
- <input type="text" class="form-control"
ng-model="$ctrl.filter.values.value" placeholder="Filter..." autocomplete="off"
id="filterInput">
- <div class="input-group-btn">
- <button class="btn btn-link btn-find"
ng-click="$ctrl.refresh()" type="button">
- <span class="fa
fa-search"></span>
- </button>
- </div>
- </div>
- </div>
- <div class="form-group">
- <button class="btn btn-default
primary-action ng-binding ng-scope"
- type="button"
- title=""
- ng-click="$ctrl.reset()">Reset
- </button>
- </div>
- </form>
- </div>
- </div>
- `
- )
- }
- configureToolbar.$inject = ['$templateCache'];
-
-
-
-})(Artemis || (Artemis = {}));
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact