You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by lq...@apache.org on 2016/05/02 17:57:54 UTC
svn commit: r1741993 [8/29] - in /qpid/java/trunk:
bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb/
bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/
bdbstore/src/main/java/resources/js/qpid/management/virtualh...
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js?rev=1741993&r1=1741992&r2=1741993&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js Mon May 2 15:57:52 2016
@@ -52,1037 +52,935 @@ define(["dojo/parser",
"dijit/Menu",
"dijit/MenuItem",
"dojo/domReady!"],
- function (parser, query, json, connect, memory, properties, updater, util, UpdatableStore, EnhancedGrid, registry, entities, addAuthenticationProvider, addVirtualHostNodeAndVirtualHost, addPort, addStore, addGroupProvider, addAccessControlProvider, editBroker, addLogger, template)
- {
-
- var brokerAttributeNames = ["name",
- "operatingSystem",
- "platform",
- "productVersion",
- "modelVersion",
- "statisticsReportingPeriod",
- "statisticsReportingResetEnabled",
- "confidentialConfigurationEncryptionProvider",
- "connection.sessionCountLimit",
- "connection.heartBeatDelay"];
-
- function Broker(name, parent, controller)
- {
- this.name = name;
- this.controller = controller;
- this.management = controller.management;
- this.modelObj = {
- type: "broker",
- name: name
- };
- }
-
- Broker.prototype.getTitle = function ()
- {
- return "Broker";
- };
-
- Broker.prototype.open = function (contentPane)
- {
- var that = this;
- this.contentPane = contentPane;
- {
- contentPane.containerNode.innerHTML = template;
- parser.parse(contentPane.containerNode).then(function (instances)
- {
- that.brokerUpdater =
- new BrokerUpdater(contentPane.containerNode, that.modelObj, that.controller);
-
- var addProviderButton = query(
- ".addAuthenticationProvider",
- contentPane.containerNode)[0];
- connect.connect(registry.byNode(addProviderButton),
- "onClick",
- function (evt)
- {
- addAuthenticationProvider.show(
- that.management,
- that.modelObj);
- });
-
- var deleteProviderButton = query(
- ".deleteAuthenticationProvider",
- contentPane.containerNode)[0];
- connect.connect(registry.byNode(deleteProviderButton),
- "onClick",
- function (evt)
- {
- var warning = "";
- var data = that.brokerUpdater.authenticationProvidersGrid.grid.selection.getSelected();
- if (data.length && data.length
- > 0)
- {
- for (var i = 0;
- i < data.length;
- i++)
- {
- if (data[i].type.indexOf(
- "File") != -1)
- {
- warning =
- "NOTE: provider deletion will also remove the password file on disk.\n\n"
- break;
- }
- }
- }
-
- util.deleteSelectedObjects(that.brokerUpdater.authenticationProvidersGrid.grid,
- warning
- + "Are you sure you want to delete authentication provider",
- that.management,
- {
- type: "authenticationprovider",
- parent: that.modelObj
- },
- that.brokerUpdater);
- });
-
- var addVHNAndVHButton = query(
- ".addVirtualHostNodeAndVirtualHostButton",
- contentPane.containerNode)[0];
- connect.connect(registry.byNode(addVHNAndVHButton),
- "onClick",
- function (evt)
- {
- addVirtualHostNodeAndVirtualHost.show(
- that.controller.management);
- });
-
- var addPortButton = query(".addPort",
- contentPane.containerNode)[0];
- connect.connect(registry.byNode(addPortButton),
- "onClick",
- function (evt)
- {
- addPort.show(that.management,
- that.modelObj,
- "AMQP",
- that.brokerUpdater.brokerData.authenticationproviders,
- that.brokerUpdater.brokerData.keystores,
- that.brokerUpdater.brokerData.truststores);
- });
-
- var deletePort = query(".deletePort",
- contentPane.containerNode)[0];
- connect.connect(registry.byNode(deletePort),
- "onClick",
- function (evt)
- {
- util.deleteSelectedObjects(that.brokerUpdater.portsGrid.grid,
- "Are you sure you want to delete port",
- that.management,
- {
- type: "port",
- parent: that.modelObj
- },
- that.brokerUpdater);
-
- });
-
- var editButton = query(".editBroker",
- contentPane.containerNode)[0];
- connect.connect(registry.byNode(editButton),
- "onClick",
- function (evt)
- {
- editBroker.show(that.management,
- that.brokerUpdater.brokerData);
- });
-
- var addKeystoreButton = query(".addKeystore",
- contentPane.containerNode)[0];
- connect.connect(registry.byNode(addKeystoreButton),
- "onClick",
- function (evt)
- {
- addStore.setupTypeStore(that.management,
- "KeyStore",
- that.modelObj);
- addStore.show();
- });
-
- var deleteKeystore = query(".deleteKeystore",
- contentPane.containerNode)[0];
- connect.connect(registry.byNode(deleteKeystore),
- "onClick",
- function (evt)
- {
- util.deleteSelectedObjects(that.brokerUpdater.keyStoresGrid.grid,
- "Are you sure you want to delete key store",
- that.management,
- {
- type: "keystore",
- parent: that.modelObj
- },
- that.brokerUpdater);
- });
-
- var addTruststoreButton = query(".addTruststore",
- contentPane.containerNode)[0];
- connect.connect(registry.byNode(addTruststoreButton),
- "onClick",
- function (evt)
- {
- addStore.setupTypeStore(that.management,
- "TrustStore",
- that.modelObj);
- addStore.show();
- });
-
- var deleteTruststore = query(".deleteTruststore",
- contentPane.containerNode)[0];
- connect.connect(registry.byNode(deleteTruststore),
- "onClick",
- function (evt)
- {
- util.deleteSelectedObjects(that.brokerUpdater.trustStoresGrid.grid,
- "Are you sure you want to delete trust store",
- that.management,
- {
- type: "truststore",
- parent: that.modelObj
- },
- that.brokerUpdater);
- });
-
- var addGroupProviderButton = query(
- ".addGroupProvider",
- contentPane.containerNode)[0];
- connect.connect(registry.byNode(
- addGroupProviderButton),
- "onClick",
- function (evt)
- {
- addGroupProvider.show(that.controller.management,
- that.modelObj);
- });
-
- var deleteGroupProvider = query(
- ".deleteGroupProvider",
- contentPane.containerNode)[0];
- connect.connect(registry.byNode(deleteGroupProvider),
- "onClick",
- function (evt)
- {
- var warning = "";
- var data = that.brokerUpdater.groupProvidersGrid.grid.selection.getSelected();
- if (data.length && data.length
- > 0)
- {
- for (var i = 0;
- i < data.length;
- i++)
- {
- if (data[i].type.indexOf(
- "File") != -1)
- {
- warning =
- "NOTE: provider deletion will also remove the group file on disk.\n\n"
- break;
- }
- }
- }
-
- util.deleteSelectedObjects(that.brokerUpdater.groupProvidersGrid.grid,
- warning
- + "Are you sure you want to delete group provider",
- that.management,
- {
- type: "groupprovider",
- parent: that.modelObj
- },
- that.brokerUpdater);
- });
-
- var addAccessControlButton = query(
- ".addAccessControlProvider",
- contentPane.containerNode)[0];
- connect.connect(registry.byNode(
- addAccessControlButton),
- "onClick",
- function (evt)
- {
- addAccessControlProvider.show(
- that.management,
- that.modelObj);
- });
-
- var deleteAccessControlProviderButton = query(
- ".deleteAccessControlProvider",
- contentPane.containerNode)[0];
- connect.connect(registry.byNode(
- deleteAccessControlProviderButton),
- "onClick",
- function (evt)
- {
- util.deleteSelectedObjects(that.brokerUpdater.accessControlProvidersGrid.grid,
- "Are you sure you want to delete access control provider",
- that.management,
- {
- type: "accesscontrolprovider",
- parent: that.modelObj
- },
- that.brokerUpdater);
- });
-
- var addLoggerButtonNode = query(".addBrokerLogger",
- contentPane.containerNode)[0];
- var addLoggerButton = registry.byNode(
- addLoggerButtonNode);
- addLoggerButton.on("click", function (evt)
- {
- addLogger.show(that.management,
- that.modelObj,
- "BrokerLogger");
- });
-
- var deleteLoggerButtonNode = query(
- ".deleteBrokerLogger",
- contentPane.containerNode)[0];
- var deleteLoggerButton = registry.byNode(
- deleteLoggerButtonNode);
- deleteLoggerButton.on("click", function (evt)
- {
- util.deleteSelectedObjects(that.brokerUpdater.brokerLoggersGrid.grid,
- "Are you sure you want to delete broker logger",
- that.management,
- {
- type: "brokerlogger",
- parent: that.modelObj
- },
- that.brokerUpdater);
- });
-
- });
- }
- };
-
- Broker.prototype.close = function ()
- {
- updater.remove(this.brokerUpdater);
- };
-
- function BrokerUpdater(node, brokerObj, controller)
- {
- this.controller = controller;
- this.accessControlProvidersWarn = query(".broker-access-control-providers-warning", node)[0];
- this.management = controller.management;
- this.brokerObj = brokerObj;
- var that = this;
-
- this.management.load(brokerObj, {depth: 2})
- .then(function (data)
- {
- that.brokerData = data[0];
-
- util.flattenStatistics(that.brokerData);
-
- that.updateHeader();
-
- var gridProperties = {
- height: 400,
- selectionMode: "single",
- plugins: {
- pagination: {
- pageSizes: [10, 25, 50, 100],
- description: true,
- sizeSwitch: true,
- pageStepper: true,
- gotoButton: true,
- maxPageStep: 4,
- position: "bottom"
- }
- }
- };
-
- function isActiveVH(item)
- {
- return item && item.virtualhosts && item.virtualhosts[0].state == "ACTIVE";
- }
-
- that.vhostsGrid =
- new UpdatableStore(that.brokerData.virtualhostnodes, query(".broker-virtualhosts")[0], [{
- name: "Node Name",
- field: "name",
- width: "8%"
- },
- {
- name: "Node State",
- field: "state",
- width: "8%"
- },
- {
- name: "Node Type",
- field: "type",
- width: "8%"
- },
- {
- name: "Default",
- field: "defaultVirtualHostNode",
- width: "8%",
- formatter: function (item)
- {
- return "<input type='checkbox' disabled='disabled' " + (item
- ? "checked='checked'"
- : "") + " />";
- }
- },
- {
- name: "Host Name",
- field: "_item",
- width: "8%",
- formatter: function (item)
- {
- return item && item.virtualhosts ? item.virtualhosts[0].name : "N/A";
- }
- },
- {
- name: "Host State",
- field: "_item",
- width: "15%",
- formatter: function (item)
- {
- return item && item.virtualhosts ? item.virtualhosts[0].state : "N/A";
- }
- },
- {
- name: "Host Type",
- field: "_item",
- width: "15%",
- formatter: function (item)
- {
- return item && item.virtualhosts ? item.virtualhosts[0].type : "N/A";
- }
- },
- {
- name: "Connections",
- field: "_item",
- width: "8%",
- formatter: function (item)
- {
- return isActiveVH(item)
- ? item.virtualhosts[0].statistics.connectionCount
- : "N/A";
- }
- },
- {
- name: "Queues",
- field: "_item",
- width: "8%",
- formatter: function (item)
- {
- return isActiveVH(item)
- ? item.virtualhosts[0].statistics.queueCount
- : "N/A";
- }
- },
- {
- name: "Exchanges",
- field: "_item",
- width: "8%",
- formatter: function (item)
- {
- return isActiveVH(item)
- ? item.virtualhosts[0].statistics.exchangeCount
- : "N/A";
- }
- }], function (obj)
- {
- connect.connect(obj.grid, "onRowDblClick", obj.grid, function (evt)
- {
- var idx = evt.rowIndex, theItem = this.getItem(idx);
- if (theItem.virtualhosts)
- {
- that.showVirtualHost(theItem, brokerObj);
- }
- });
- }, gridProperties, EnhancedGrid, true);
-
- that.virtualHostNodeMenuButton =
- registry.byNode(query(".virtualHostNodeMenuButton", node)[0]);
- that.virtualHostMenuButton = registry.byNode(query(".virtualHostMenuButton", node)[0]);
-
- var hostMenuItems = that.virtualHostMenuButton.dropDown.getChildren();
- var viewVirtualHostItem = hostMenuItems[0];
- var startVirtualHostItem = hostMenuItems[1];
- var stopVirtualHostItem = hostMenuItems[2];
-
- var nodeMenuItems = that.virtualHostNodeMenuButton.dropDown.getChildren();
- var viewNodeItem = nodeMenuItems[0];
- var deleteNodeItem = nodeMenuItems[1];
- var startNodeItem = nodeMenuItems[2];
- var stopNodeItem = nodeMenuItems[3];
-
- var toggler = function (index)
- {
- that.toggleVirtualHostNodeNodeMenus(index);
- }
- connect.connect(that.vhostsGrid.grid.selection, 'onSelected', toggler);
- connect.connect(that.vhostsGrid.grid.selection, 'onDeselected', toggler);
-
- viewVirtualHostItem.on("click", function ()
- {
- var data = that.vhostsGrid.grid.selection.getSelected();
- if (data.length == 1)
- {
- that.showVirtualHost(data[0], brokerObj);
- that.vhostsGrid.grid.selection.clear();
- }
- });
-
- viewNodeItem.on("click", function (evt)
- {
- var data = that.vhostsGrid.grid.selection.getSelected();
- if (data.length == 1)
- {
- var item = data[0];
- that.controller.show("virtualhostnode", item.name, brokerObj, item.id);
- that.vhostsGrid.grid.selection.clear();
- }
- });
-
- deleteNodeItem.on("click", function (evt)
- {
- util.deleteSelectedObjects(that.vhostsGrid.grid,
- "Deletion of virtual host node will delete both configuration and message data.\n\n Are you sure you want to delete virtual host node",
- that.management,
- {
- type: "virtualhostnode",
- parent: that.modelObj
- },
- that.brokerUpdater);
- });
-
- startNodeItem.on("click", function (event)
- {
- var data = that.vhostsGrid.grid.selection.getSelected();
- if (data.length == 1)
- {
- var item = data[0];
- that.management.update({
- type: "virtualhostnode",
- name: item.name,
- parent: that.modelObj
- }, {desiredState: "ACTIVE"}).then(function (data)
- {
- that.vhostsGrid.grid.selection.clear();
- });
- }
- });
-
- stopNodeItem.on("click", function (event)
- {
- var data = that.vhostsGrid.grid.selection.getSelected();
- if (data.length == 1)
- {
- var item = data[0];
- if (confirm("Stopping the node will also shutdown the virtual host. "
- + "Are you sure you want to stop virtual host node '"
- + entities.encode(String(item.name)) + "'?"))
- {
- that.management.update({
- type: "virtualhostnode",
- name: item.name,
- parent: that.modelObj
- }, {desiredState: "STOPPED"}).then(function (data)
- {
- that.vhostsGrid.grid.selection.clear();
- });
- }
- }
- });
-
- startVirtualHostItem.on("click", function (event)
- {
- var data = that.vhostsGrid.grid.selection.getSelected();
- if (data.length == 1 && data[0].virtualhosts)
- {
- var item = data[0];
- var host = item.virtualhosts[0];
- that.management.update({
- type: "virtualhost",
- name: item.name,
- parent: {
- type: "virtualhostnode",
- name: host.name,
- parent: that.modelObj
- }
- }, {desiredState: "ACTIVE"}).then(function (data)
- {
- that.vhostsGrid.grid.selection.clear();
- });
- }
- });
-
- stopVirtualHostItem.on("click", function (event)
- {
- var data = that.vhostsGrid.grid.selection.getSelected();
- if (data.length == 1 && data[0].virtualhosts)
- {
- var item = data[0];
- var host = item.virtualhosts[0];
- if (confirm("Are you sure you want to stop virtual host '"
- + entities.encode(String(host.name)) + "'?"))
- {
- that.management.update({
- type: "virtualhost",
- name: item.name,
- parent: {
- type: "virtualhostnode",
- name: host.name,
- parent: that.modelObj
- }
- }, {desiredState: "STOPPED"}).then(function (data)
- {
- that.vhostsGrid.grid.selection.clear();
- });
- }
- }
- });
- gridProperties.selectionMode = "extended";
- gridProperties.plugins.indirectSelection = true;
-
- that.portsGrid = new UpdatableStore(that.brokerData.ports, query(".broker-ports")[0], [{
- name: "Name",
- field: "name",
- width: "15%"
- },
- {
- name: "State",
- field: "state",
- width: "15%"
- },
- {
- name: "Auth Provider",
- field: "authenticationProvider",
- width: "15%"
- },
- {
- name: "Address",
- field: "bindingAddress",
- width: "15%"
- },
- {
- name: "Port",
- field: "port",
- width: "10%"
- },
- {
- name: "Transports",
- field: "transports",
- width: "15%"
- },
- {
- name: "Protocols",
- field: "protocols",
- width: "15%"
- }], function (obj)
- {
- connect.connect(obj.grid, "onRowDblClick", obj.grid, function (evt)
- {
- var idx = evt.rowIndex, theItem = this.getItem(idx);
- var name = obj.dataStore.getValue(theItem, "name");
- that.controller.show("port", name, brokerObj, theItem.id);
- });
- }, gridProperties, EnhancedGrid);
-
- gridProperties = {
- keepSelection: true,
- plugins: {
- indirectSelection: true
- }
- };
-
- that.authenticationProvidersGrid =
- new UpdatableStore(that.brokerData.authenticationproviders, query(
- ".broker-authentication-providers")[0], [{
- name: "Name",
- field: "name",
- width: "40%"
- },
- {
- name: "State",
- field: "state",
- width: "20%"
- },
- {
- name: "Type",
- field: "type",
- width: "20%"
- },
- {
- name: "User Management",
- field: "type",
- width: "20%",
- formatter: function (val)
- {
- var isProviderManagingUsers = false;
- try
- {
- isProviderManagingUsers =
- that.management.metadata.implementsManagedInterface(
- "AuthenticationProvider",
- val,
- "PasswordCredentialManagingAuthenticationProvider");
- }
- catch (e)
- {
- console.error(e);
- }
- return "<input type='radio' disabled='disabled' "
- + (isProviderManagingUsers ? "checked='checked'" : "") + " />";
- }
- }], function (obj)
- {
- connect.connect(obj.grid, "onRowDblClick", obj.grid, function (evt)
- {
- var idx = evt.rowIndex, theItem = this.getItem(idx);
- var name = obj.dataStore.getValue(theItem, "name");
- that.controller.show("authenticationprovider", name, brokerObj, theItem.id);
- });
- }, gridProperties, EnhancedGrid);
-
- that.keyStoresGrid =
- new UpdatableStore(that.brokerData.keystores, query(".broker-key-stores")[0], [{
- name: "Name",
- field: "name",
- width: "20%"
- },
- {
- name: "State",
- field: "state",
- width: "10%"
- },
- {
- name: "Type",
- field: "type",
- width: "10%"
- },
- {
- name: "Path",
- field: "path",
- width: "60%"
- }], function (obj)
- {
- connect.connect(obj.grid, "onRowDblClick", obj.grid, function (evt)
- {
- var idx = evt.rowIndex, theItem = this.getItem(idx);
- var name = obj.dataStore.getValue(theItem, "name");
- that.controller.show("keystore", name, brokerObj, theItem.id);
- });
- }, gridProperties, EnhancedGrid);
-
- that.trustStoresGrid =
- new UpdatableStore(that.brokerData.truststores, query(".broker-trust-stores")[0], [{
- name: "Name",
- field: "name",
- width: "20%"
- },
- {
- name: "State",
- field: "state",
- width: "10%"
- },
- {
- name: "Type",
- field: "type",
- width: "10%"
- },
- {
- name: "Path",
- field: "path",
- width: "50%"
- },
- {
- name: "Peers only",
- field: "peersOnly",
- width: "10%",
- formatter: function (val)
- {
- return "<input type='radio' disabled='disabled' " + (val
- ? "checked='checked'"
- : "") + " />";
- }
- }], function (obj)
- {
- connect.connect(obj.grid, "onRowDblClick", obj.grid, function (evt)
- {
- var idx = evt.rowIndex, theItem = this.getItem(idx);
- var name = obj.dataStore.getValue(theItem, "name");
- that.controller.show("truststore", name, brokerObj, theItem.id);
- });
- }, gridProperties, EnhancedGrid);
- that.groupProvidersGrid =
- new UpdatableStore(that.brokerData.groupproviders, query(".broker-group-providers")[0], [{
- name: "Name",
- field: "name",
- width: "40%"
- },
- {
- name: "State",
- field: "state",
- width: "30%"
- },
- {
- name: "Type",
- field: "type",
- width: "30%"
- }], function (obj)
- {
- connect.connect(obj.grid, "onRowDblClick", obj.grid, function (evt)
- {
- var idx = evt.rowIndex, theItem = this.getItem(idx);
- var name = obj.dataStore.getValue(theItem, "name");
- that.controller.show("groupprovider", name, brokerObj, theItem.id);
- });
- }, gridProperties, EnhancedGrid);
- var aclData = that.brokerData.accesscontrolproviders
- ? that.brokerData.accesscontrolproviders
- : [];
- that.accessControlProvidersGrid =
- new UpdatableStore(aclData, query(".broker-access-control-providers")[0], [{
- name: "Name",
- field: "name",
- width: "40%"
- },
- {
- name: "State",
- field: "state",
- width: "30%"
- },
- {
- name: "Type",
- field: "type",
- width: "30%"
- }], function (obj)
- {
- connect.connect(obj.grid, "onRowDblClick", obj.grid, function (evt)
- {
- var idx = evt.rowIndex, theItem = this.getItem(idx);
- var name = obj.dataStore.getValue(theItem, "name");
- that.controller.show("accesscontrolprovider", name, brokerObj, theItem.id);
- });
- }, gridProperties, EnhancedGrid);
- that.displayACLWarnMessage(aclData);
-
- var brokerLoggerData = that.brokerData.brokerloggers || [];
- that.brokerLoggersGrid =
- new UpdatableStore(brokerLoggerData, query(".broker-loggers")[0], [{
- name: "Name",
- field: "name",
- width: "40%"
- },
- {
- name: "State",
- field: "state",
- width: "15%"
- },
- {
- name: "Type",
- field: "type",
- width: "15%"
- },
- {
- name: "Exclude Virtual Host Logs",
- field: "virtualHostLogEventExcluded",
- width: "20%",
- formatter: function (val)
- {
- return util.buildCheckboxMarkup(val);
- }
- },
- {
- name: "Errors",
- field: "errorCount",
- width: "5%"
- },
- {
- name: "Warnings",
- field: "warnCount",
- width: "5%"
- }], function (obj)
- {
- connect.connect(obj.grid, "onRowDblClick", obj.grid, function (evt)
- {
- var idx = evt.rowIndex, theItem = this.getItem(idx);
- var name = obj.dataStore.getValue(theItem, "name");
- that.controller.show("brokerlogger", name, brokerObj, theItem.id);
- });
- }, gridProperties, EnhancedGrid);
- updater.add(that);
-
- });
- }
-
- BrokerUpdater.prototype.showVirtualHost = function (item, brokerObj)
- {
- var nodeName = item.name;
- var host = item.virtualhosts ? item.virtualhosts[0] : null;
- var nodeObject = {
- type: "virtualhostnode",
- name: nodeName,
- parent: brokerObj
- };
- this.controller.show("virtualhost", host ? host.name : nodeName, nodeObject, host ? host.id : null);
- }
-
- BrokerUpdater.prototype.updateHeader = function ()
- {
- var brokerData = this.brokerData;
- window.document.title = "Qpid: " + brokerData.name + " Management";
-
- for (var i in brokerAttributeNames)
- {
- var propertyName = brokerAttributeNames[i];
- var element = dojo.byId("brokerAttribute." + propertyName);
- if (element)
- {
- if (brokerData.hasOwnProperty(propertyName))
- {
- var container = dojo.byId("brokerAttribute." + propertyName + ".container");
- if (container)
- {
- container.style.display = "block";
- }
- element.innerHTML = entities.encode(String(brokerData [propertyName]));
- }
- else
- {
- element.innerHTML = "";
- }
- }
- }
- };
-
- BrokerUpdater.prototype.displayACLWarnMessage = function (aclProviderData)
- {
- var message = "";
- if (aclProviderData.length > 1)
- {
- var aclProviders = {};
- var theSameTypeFound = false;
- for (var d = 0; d < aclProviderData.length; d++)
- {
- var acl = aclProviderData[d];
- var aclType = acl.type;
- if (aclProviders[aclType])
- {
- aclProviders[aclType].push(acl.name);
- theSameTypeFound = true;
- }
- else
- {
- aclProviders[aclType] = [acl.name];
- }
- }
-
- if (theSameTypeFound)
- {
- message =
- "Only one instance of a given type will be used. Please remove an instance of type(s):";
- for (var aclType in aclProviders)
- {
- if (aclProviders[aclType].length > 1)
- {
- message += " " + aclType;
- }
- }
- }
- }
- this.accessControlProvidersWarn.innerHTML = message;
- }
-
- BrokerUpdater.prototype.update = function ()
- {
-
- var that = this;
-
- this.management.load(this.brokerObj, {depth: 2}).then(function (data)
- {
- that.brokerData = data[0];
- util.flattenStatistics(that.brokerData);
-
- that.updateHeader();
-
- if (that.vhostsGrid.update(that.brokerData.virtualhostnodes))
- {
- that.vhostsGrid.grid._refresh();
- that.toggleVirtualHostNodeNodeMenus();
- }
-
- that.portsGrid.update(that.brokerData.ports);
-
- that.authenticationProvidersGrid.update(that.brokerData.authenticationproviders);
-
- if (that.keyStoresGrid)
- {
- that.keyStoresGrid.update(that.brokerData.keystores);
- }
- if (that.trustStoresGrid)
- {
- that.trustStoresGrid.update(that.brokerData.truststores);
- }
- if (that.groupProvidersGrid)
- {
- that.groupProvidersGrid.update(that.brokerData.groupproviders);
- }
- if (that.accessControlProvidersGrid)
- {
- var data = that.brokerData.accesscontrolproviders
- ? that.brokerData.accesscontrolproviders
- : [];
- that.accessControlProvidersGrid.update(data);
- that.displayACLWarnMessage(data);
- }
- if (that.brokerLoggersGrid)
- {
- that.brokerLoggersGrid.update(that.brokerData.brokerloggers);
- }
- });
- };
-
- BrokerUpdater.prototype.toggleVirtualHostNodeNodeMenus = function (rowIndex)
- {
- var data = this.vhostsGrid.grid.selection.getSelected();
- var selected = data.length == 1;
- this.virtualHostNodeMenuButton.set("disabled", !selected);
- this.virtualHostMenuButton.set("disabled", !selected || !data[0].virtualhosts);
- if (selected)
- {
- var nodeMenuItems = this.virtualHostNodeMenuButton.dropDown.getChildren();
- var hostMenuItems = this.virtualHostMenuButton.dropDown.getChildren();
-
- var startNodeItem = nodeMenuItems[2];
- var stopNodeItem = nodeMenuItems[3];
-
- var viewVirtualHostItem = hostMenuItems[0];
- var startVirtualHostItem = hostMenuItems[1];
- var stopVirtualHostItem = hostMenuItems[2];
-
- var node = data[0];
- startNodeItem.set("disabled", node.state != "STOPPED");
- stopNodeItem.set("disabled", node.state != "ACTIVE");
-
- if (node.virtualhosts)
- {
- viewVirtualHostItem.set("disabled", false);
-
- var host = node.virtualhosts[0];
- startVirtualHostItem.set("disabled", host.state != "STOPPED");
- stopVirtualHostItem.set("disabled", host.state != "ACTIVE");
- }
- else
- {
- viewVirtualHostItem.set("disabled", true);
- startVirtualHostItem.set("disabled", true);
- stopVirtualHostItem.set("disabled", true);
- }
- }
- };
- return Broker;
- });
+ function (parser,
+ query,
+ json,
+ connect,
+ memory,
+ properties,
+ updater,
+ util,
+ UpdatableStore,
+ EnhancedGrid,
+ registry,
+ entities,
+ addAuthenticationProvider,
+ addVirtualHostNodeAndVirtualHost,
+ addPort,
+ addStore,
+ addGroupProvider,
+ addAccessControlProvider,
+ editBroker,
+ addLogger,
+ template)
+ {
+
+ var brokerAttributeNames = ["name",
+ "operatingSystem",
+ "platform",
+ "productVersion",
+ "modelVersion",
+ "statisticsReportingPeriod",
+ "statisticsReportingResetEnabled",
+ "confidentialConfigurationEncryptionProvider",
+ "connection.sessionCountLimit",
+ "connection.heartBeatDelay"];
+
+ function Broker(name, parent, controller)
+ {
+ this.name = name;
+ this.controller = controller;
+ this.management = controller.management;
+ this.modelObj = {
+ type: "broker",
+ name: name
+ };
+ }
+
+ Broker.prototype.getTitle = function ()
+ {
+ return "Broker";
+ };
+
+ Broker.prototype.open = function (contentPane)
+ {
+ var that = this;
+ this.contentPane = contentPane;
+ {
+ contentPane.containerNode.innerHTML = template;
+ parser.parse(contentPane.containerNode)
+ .then(function (instances)
+ {
+ that.brokerUpdater =
+ new BrokerUpdater(contentPane.containerNode, that.modelObj, that.controller);
+
+ var addProviderButton = query(".addAuthenticationProvider", contentPane.containerNode)[0];
+ connect.connect(registry.byNode(addProviderButton), "onClick", function (evt)
+ {
+ addAuthenticationProvider.show(that.management, that.modelObj);
+ });
+
+ var deleteProviderButton = query(".deleteAuthenticationProvider", contentPane.containerNode)[0];
+ connect.connect(registry.byNode(deleteProviderButton), "onClick", function (evt)
+ {
+ var warning = "";
+ var data = that.brokerUpdater.authenticationProvidersGrid.grid.selection.getSelected();
+ if (data.length && data.length > 0)
+ {
+ for (var i = 0; i < data.length; i++)
+ {
+ if (data[i].type.indexOf("File") != -1)
+ {
+ warning =
+ "NOTE: provider deletion will also remove the password file on disk.\n\n"
+ break;
+ }
+ }
+ }
+
+ util.deleteSelectedObjects(that.brokerUpdater.authenticationProvidersGrid.grid,
+ warning + "Are you sure you want to delete authentication provider",
+ that.management,
+ {
+ type: "authenticationprovider",
+ parent: that.modelObj
+ },
+ that.brokerUpdater);
+ });
+
+ var addVHNAndVHButton = query(".addVirtualHostNodeAndVirtualHostButton",
+ contentPane.containerNode)[0];
+ connect.connect(registry.byNode(addVHNAndVHButton), "onClick", function (evt)
+ {
+ addVirtualHostNodeAndVirtualHost.show(that.controller.management);
+ });
+
+ var addPortButton = query(".addPort", contentPane.containerNode)[0];
+ connect.connect(registry.byNode(addPortButton), "onClick", function (evt)
+ {
+ addPort.show(that.management,
+ that.modelObj,
+ "AMQP",
+ that.brokerUpdater.brokerData.authenticationproviders,
+ that.brokerUpdater.brokerData.keystores,
+ that.brokerUpdater.brokerData.truststores);
+ });
+
+ var deletePort = query(".deletePort", contentPane.containerNode)[0];
+ connect.connect(registry.byNode(deletePort), "onClick", function (evt)
+ {
+ util.deleteSelectedObjects(that.brokerUpdater.portsGrid.grid,
+ "Are you sure you want to delete port",
+ that.management,
+ {
+ type: "port",
+ parent: that.modelObj
+ },
+ that.brokerUpdater);
+
+ });
+
+ var editButton = query(".editBroker", contentPane.containerNode)[0];
+ connect.connect(registry.byNode(editButton), "onClick", function (evt)
+ {
+ editBroker.show(that.management, that.brokerUpdater.brokerData);
+ });
+
+ var addKeystoreButton = query(".addKeystore", contentPane.containerNode)[0];
+ connect.connect(registry.byNode(addKeystoreButton), "onClick", function (evt)
+ {
+ addStore.setupTypeStore(that.management, "KeyStore", that.modelObj);
+ addStore.show();
+ });
+
+ var deleteKeystore = query(".deleteKeystore", contentPane.containerNode)[0];
+ connect.connect(registry.byNode(deleteKeystore), "onClick", function (evt)
+ {
+ util.deleteSelectedObjects(that.brokerUpdater.keyStoresGrid.grid,
+ "Are you sure you want to delete key store",
+ that.management,
+ {
+ type: "keystore",
+ parent: that.modelObj
+ },
+ that.brokerUpdater);
+ });
+
+ var addTruststoreButton = query(".addTruststore", contentPane.containerNode)[0];
+ connect.connect(registry.byNode(addTruststoreButton), "onClick", function (evt)
+ {
+ addStore.setupTypeStore(that.management, "TrustStore", that.modelObj);
+ addStore.show();
+ });
+
+ var deleteTruststore = query(".deleteTruststore", contentPane.containerNode)[0];
+ connect.connect(registry.byNode(deleteTruststore), "onClick", function (evt)
+ {
+ util.deleteSelectedObjects(that.brokerUpdater.trustStoresGrid.grid,
+ "Are you sure you want to delete trust store",
+ that.management,
+ {
+ type: "truststore",
+ parent: that.modelObj
+ },
+ that.brokerUpdater);
+ });
+
+ var addGroupProviderButton = query(".addGroupProvider", contentPane.containerNode)[0];
+ connect.connect(registry.byNode(addGroupProviderButton), "onClick", function (evt)
+ {
+ addGroupProvider.show(that.controller.management, that.modelObj);
+ });
+
+ var deleteGroupProvider = query(".deleteGroupProvider", contentPane.containerNode)[0];
+ connect.connect(registry.byNode(deleteGroupProvider), "onClick", function (evt)
+ {
+ var warning = "";
+ var data = that.brokerUpdater.groupProvidersGrid.grid.selection.getSelected();
+ if (data.length && data.length > 0)
+ {
+ for (var i = 0; i < data.length; i++)
+ {
+ if (data[i].type.indexOf("File") != -1)
+ {
+ warning = "NOTE: provider deletion will also remove the group file on disk.\n\n"
+ break;
+ }
+ }
+ }
+
+ util.deleteSelectedObjects(that.brokerUpdater.groupProvidersGrid.grid,
+ warning + "Are you sure you want to delete group provider",
+ that.management,
+ {
+ type: "groupprovider",
+ parent: that.modelObj
+ },
+ that.brokerUpdater);
+ });
+
+ var addAccessControlButton = query(".addAccessControlProvider", contentPane.containerNode)[0];
+ connect.connect(registry.byNode(addAccessControlButton), "onClick", function (evt)
+ {
+ addAccessControlProvider.show(that.management, that.modelObj);
+ });
+
+ var deleteAccessControlProviderButton = query(".deleteAccessControlProvider",
+ contentPane.containerNode)[0];
+ connect.connect(registry.byNode(deleteAccessControlProviderButton), "onClick", function (evt)
+ {
+ util.deleteSelectedObjects(that.brokerUpdater.accessControlProvidersGrid.grid,
+ "Are you sure you want to delete access control provider",
+ that.management,
+ {
+ type: "accesscontrolprovider",
+ parent: that.modelObj
+ },
+ that.brokerUpdater);
+ });
+
+ var addLoggerButtonNode = query(".addBrokerLogger", contentPane.containerNode)[0];
+ var addLoggerButton = registry.byNode(addLoggerButtonNode);
+ addLoggerButton.on("click", function (evt)
+ {
+ addLogger.show(that.management, that.modelObj, "BrokerLogger");
+ });
+
+ var deleteLoggerButtonNode = query(".deleteBrokerLogger", contentPane.containerNode)[0];
+ var deleteLoggerButton = registry.byNode(deleteLoggerButtonNode);
+ deleteLoggerButton.on("click", function (evt)
+ {
+ util.deleteSelectedObjects(that.brokerUpdater.brokerLoggersGrid.grid,
+ "Are you sure you want to delete broker logger",
+ that.management,
+ {
+ type: "brokerlogger",
+ parent: that.modelObj
+ },
+ that.brokerUpdater);
+ });
+
+ });
+ }
+ };
+
+ Broker.prototype.close = function ()
+ {
+ updater.remove(this.brokerUpdater);
+ };
+
+ function BrokerUpdater(node, brokerObj, controller)
+ {
+ this.controller = controller;
+ this.accessControlProvidersWarn = query(".broker-access-control-providers-warning", node)[0];
+ this.management = controller.management;
+ this.brokerObj = brokerObj;
+ var that = this;
+
+ this.management.load(brokerObj, {depth: 2})
+ .then(function (data)
+ {
+ that.brokerData = data[0];
+
+ util.flattenStatistics(that.brokerData);
+
+ that.updateHeader();
+
+ var gridProperties = {
+ height: 400,
+ selectionMode: "single",
+ plugins: {
+ pagination: {
+ pageSizes: [10, 25, 50, 100],
+ description: true,
+ sizeSwitch: true,
+ pageStepper: true,
+ gotoButton: true,
+ maxPageStep: 4,
+ position: "bottom"
+ }
+ }
+ };
+
+ function isActiveVH(item)
+ {
+ return item && item.virtualhosts && item.virtualhosts[0].state == "ACTIVE";
+ }
+
+ that.vhostsGrid =
+ new UpdatableStore(that.brokerData.virtualhostnodes, query(".broker-virtualhosts")[0], [{
+ name: "Node Name",
+ field: "name",
+ width: "8%"
+ }, {
+ name: "Node State",
+ field: "state",
+ width: "8%"
+ }, {
+ name: "Node Type",
+ field: "type",
+ width: "8%"
+ }, {
+ name: "Default",
+ field: "defaultVirtualHostNode",
+ width: "8%",
+ formatter: function (item)
+ {
+ return "<input type='checkbox' disabled='disabled' " + (item ? "checked='checked'" : "")
+ + " />";
+ }
+ }, {
+ name: "Host Name",
+ field: "_item",
+ width: "8%",
+ formatter: function (item)
+ {
+ return item && item.virtualhosts ? item.virtualhosts[0].name : "N/A";
+ }
+ }, {
+ name: "Host State",
+ field: "_item",
+ width: "15%",
+ formatter: function (item)
+ {
+ return item && item.virtualhosts ? item.virtualhosts[0].state : "N/A";
+ }
+ }, {
+ name: "Host Type",
+ field: "_item",
+ width: "15%",
+ formatter: function (item)
+ {
+ return item && item.virtualhosts ? item.virtualhosts[0].type : "N/A";
+ }
+ }, {
+ name: "Connections",
+ field: "_item",
+ width: "8%",
+ formatter: function (item)
[... 587 lines stripped ...]
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org