diff options
Diffstat (limited to 'java/broker-plugins')
3 files changed, 111 insertions, 76 deletions
diff --git a/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js b/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js index 699cbcfab8..5ff208d43f 100644 --- a/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js +++ b/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js @@ -26,6 +26,7 @@ define(["dojo/_base/xhr", "dojo/dom-construct", "dojo/dom-geometry", "dojo/window", + "dijit/TitlePane", "dijit/Dialog", "dijit/form/Form", "dijit/form/Button", @@ -163,6 +164,7 @@ define(["dojo/_base/xhr", var widgets = {}; var requiredFor ={}; + var groups = {}; for(var i in attributeWidgetFactories) { var attributeWidgetFactory = attributeWidgetFactories[i]; @@ -170,7 +172,37 @@ define(["dojo/_base/xhr", var name = attributeWidgetFactory.name ? attributeWidgetFactory.name : widget.name; widgets[name] = widget; widget.initialValue = widget.value; - layout.addChild(widget); + var dotPos = name.indexOf("."); + if (dotPos == -1) + { + layout.addChild(widget); + } + else + { + var groupName = name.substring(0, dotPos); + var groupFieldContainer = null; + if (groups.hasOwnProperty(groupName)) + { + groupFieldContainer = groups[groupName]; + } + else + { + groupFieldContainer = new dojox.layout.TableContainer({ + cols: 1, + "labelWidth": "290", + showLabels: true, + orientation: "horiz", + customClass: "formLabel" + }); + groups[groupName] = groupFieldContainer; + var groupTitle = attributeWidgetFactory.groupName ? attributeWidgetFactory.groupName : + groupName.charAt(0).toUpperCase() + groupName.slice(1); + var panel = new dijit.TitlePane({title: groupTitle, toggleable: false, content: groupFieldContainer.domNode}); + dialogContentArea.appendChild(dom.create("br")); + dialogContentArea.appendChild(panel.domNode); + } + groupFieldContainer.addChild(widget); + } if (attributeWidgetFactory.hasOwnProperty("requiredFor") && !data[name]) { requiredFor[attributeWidgetFactory.requiredFor] = widget; @@ -249,7 +281,7 @@ define(["dojo/_base/xhr", form.connectChildren(true); setAttributesDialog.startup(); setAttributesDialog.on("show", function(){ - var data = geometry.position(layout.domNode); + var data = geometry.position(dialogContentArea); var maxHeight = win.getBox().h * 0.6; if (data.h > maxHeight) { diff --git a/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js b/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js index 365133b9c7..66b888c0cf 100644 --- a/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js +++ b/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js @@ -125,15 +125,6 @@ define(["dojo/_base/xhr", name: "keyStorePath"}); } }, { - name: "keyStoreCertAlias", - createWidget: function(brokerData) { - return new dijit.form.ValidationTextBox({ - required: false, - value: brokerData.keyStoreCertAlias, - label: "Keystore certificate alias:", - name: "keyStoreCertAlias"}); - } - }, { name: "keyStorePassword", requiredFor: "keyStorePath", createWidget: function(brokerData) { @@ -146,6 +137,15 @@ define(["dojo/_base/xhr", }); } }, { + name: "keyStoreCertAlias", + createWidget: function(brokerData) { + return new dijit.form.ValidationTextBox({ + required: false, + value: brokerData.keyStoreCertAlias, + label: "Keystore certificate alias:", + name: "keyStoreCertAlias"}); + } + }, { name: "trustStorePath", createWidget: function(brokerData) { @@ -189,7 +189,32 @@ define(["dojo/_base/xhr", }); } }, { + name: "statisticsReportingPeriod", + createWidget: function(brokerData) { + return new dijit.form.ValidationTextBox({ + trim: "true", + regexp: "[0-9]+", + invalidMessage: "Invalid value", + required: false, + value: brokerData.statisticsReportingPeriod, + placeholder: "Time in ms", + label: "Statistics reporting period (ms):", + name: "statisticsReportingPeriod" + }); + } + }, { + name: "statisticsReportingResetEnabled", + createWidget: function(brokerData) + { + return new dijit.form.CheckBox({ + required: false, checked: brokerData.statisticsReportingResetEnabled, value: "true", + label: "Statistics reporting period enabled:", + name: "statisticsReportingResetEnabled" + }); + } + }, { name: "queue.alertThresholdQueueDepthMessages", + groupName: "Global Queue Defaults", createWidget: function(brokerData) { return new dijit.form.ValidationTextBox({ trim: "true", @@ -197,8 +222,8 @@ define(["dojo/_base/xhr", invalidMessage: "Invalid value", required: false, value: brokerData["queue.alertThresholdQueueDepthMessages"], - placeholder: "Count of messages", - label: "Queue depth messages alert threshold:", + placeholder: "Number of messages", + label: "Depth alert threshold (messages):", name: "queue.alertThresholdQueueDepthMessages" }); } @@ -212,7 +237,7 @@ define(["dojo/_base/xhr", required: false, value: brokerData["queue.alertThresholdQueueDepthBytes"], placeholder: "Number of bytes", - label: "Queue depth bytes alert threshold:", + label: "Depth alert threshold (bytes):", name: "queue.alertThresholdQueueDepthBytes" }); } @@ -226,7 +251,7 @@ define(["dojo/_base/xhr", required: false, value: brokerData["queue.alertThresholdMessageAge"], placeholder: "Time in ms", - label: "Queue message age alert threshold:", + label: "Message age alert threshold (ms):", name: "queue.alertThresholdMessageAge" }); } @@ -240,7 +265,7 @@ define(["dojo/_base/xhr", required: false, value: brokerData["queue.alertThresholdMessageSize"], placeholder: "Size in bytes", - label: "Queue message size alert threshold:", + label: "Message size alert threshold (bytes):", name: "queue.alertThresholdMessageSize" }); } @@ -254,7 +279,7 @@ define(["dojo/_base/xhr", required: false, value: brokerData["queue.alertRepeatGap"], placeholder: "Time in ms", - label: "Queue alert repeat gap:", + label: "Alert repeat gap (ms):", name: "queue.alertRepeatGap" }); } @@ -267,8 +292,8 @@ define(["dojo/_base/xhr", invalidMessage: "Invalid value", required: false, value: brokerData["queue.maximumDeliveryAttempts"], - placeholder: "Count of messages", - label: "Queue maximum delivery retries:", + placeholder: "Number of messages", + label: "Maximum delivery retries (messages):", name: "queue.maximumDeliveryAttempts" }); } @@ -293,7 +318,7 @@ define(["dojo/_base/xhr", required: false, value: brokerData["queue.flowControlSizeBytes"], placeholder: "Size in bytes", - label: "Queue flow capacity:", + label: "Flow control threshold (bytes):", name: "queue.flowControlSizeBytes", }); } @@ -307,12 +332,13 @@ define(["dojo/_base/xhr", required: false, value: brokerData["queue.flowResumeSizeBytes"], placeholder: "Size in bytes", - label: "Queue flow resume capacity:", + label: "Flow resume threshold (bytes):", name: "queue.flowResumeSizeBytes", }); } }, { name: "connection.sessionCountLimit", + groupName: "Global Connection Defaults", createWidget: function(brokerData) { return new dijit.form.NumberSpinner({ @@ -321,7 +347,7 @@ define(["dojo/_base/xhr", value: brokerData["connection.sessionCountLimit"], smallDelta: 1, constraints: {min:1,max:65535,places:0, pattern: "#####"}, - label: "Connection session limit:", + label: "Maximum number of sessions:", name: "connection.sessionCountLimit" }); } @@ -335,36 +361,13 @@ define(["dojo/_base/xhr", required: false, value: brokerData["connection.heartBeatDelay"], placeholder: "Time in ms", - label: "Heart beat delay:", + label: "Heart beat delay (ms):", name: "connection.heartBeatDelay" }); } }, { - name: "statisticsReportingPeriod", - createWidget: function(brokerData) { - return new dijit.form.ValidationTextBox({ - trim: "true", - regexp: "[0-9]+", - invalidMessage: "Invalid value", - required: false, - value: brokerData.statisticsReportingPeriod, - placeholder: "Time in ms", - label: "Statistics reporting period:", - name: "statisticsReportingPeriod" - }); - } - }, { - name: "statisticsReportingResetEnabled", - createWidget: function(brokerData) - { - return new dijit.form.CheckBox({ - required: false, checked: brokerData.statisticsReportingResetEnabled, value: "true", - label: "Statistics reporting period enabled:", - name: "statisticsReportingResetEnabled" - }); - } - }, { name: "virtualhost.housekeepingCheckPeriod", + groupName: "Global Virtual Host defaults", createWidget: function(brokerData) { return new dijit.form.ValidationTextBox({ trim: "true", @@ -373,7 +376,7 @@ define(["dojo/_base/xhr", required: false, value: brokerData["virtualhost.housekeepingCheckPeriod"], placeholder: "Time in ms", - label: "House keeping check period:", + label: "House keeping check period (ms):", name: "virtualhost.housekeepingCheckPeriod" }); } @@ -387,7 +390,7 @@ define(["dojo/_base/xhr", required: false, value: brokerData["virtualhost.storeTransactionIdleTimeoutClose"], placeholder: "Time in ms", - label: "Idle store transaction close timeout:", + label: "Idle store transaction close timeout (ms):", name: "virtualhost.storeTransactionIdleTimeoutClose" }); } @@ -401,7 +404,7 @@ define(["dojo/_base/xhr", required: false, value: brokerData["virtualhost.storeTransactionIdleTimeoutWarn"], placeholder: "Time in ms", - label: "Idle store transaction warn timeout:", + label: "Idle store transaction warn timeout (ms):", name: "virtualhost.storeTransactionIdleTimeoutWarn" }); } @@ -415,7 +418,7 @@ define(["dojo/_base/xhr", required: false, value: brokerData["virtualhost.storeTransactionOpenTimeoutClose"], placeholder: "Time in ms", - label: "Open store transaction close timeout:", + label: "Open store transaction close timeout (ms):", name: "virtualhost.storeTransactionOpenTimeoutClose" }); } @@ -429,7 +432,7 @@ define(["dojo/_base/xhr", required: false, value: brokerData["virtualhost.storeTransactionOpenTimeoutWarn"], placeholder: "Time in ms", - label: "Open store transaction warn timeout:", + label: "Open store transaction warn timeout (ms):", name: "virtualhost.storeTransactionOpenTimeoutWarn" }); } @@ -530,7 +533,6 @@ define(["dojo/_base/xhr", util.flattenStatistics( that.brokerData); - that.showReadOnlyAttributes(); that.updateHeader(); var gridProperties = { @@ -655,6 +657,7 @@ define(["dojo/_base/xhr", BrokerUpdater.prototype.updateHeader = function() { + showReadOnlyAttributes(); var brokerData = this.brokerData; for(var i in this.attributes) { @@ -715,7 +718,7 @@ define(["dojo/_base/xhr", dojo.byId("brokerAttribute.operatingSystem").innerHTML = brokerData.operatingSystem; dojo.byId("brokerAttribute.platform").innerHTML = brokerData.platform; dojo.byId("brokerAttribute.productVersion").innerHTML = brokerData.productVersion; - dojo.byId("brokerAttribute.managementVersion").innerHTML = brokerData.managementVersion; + dojo.byId("brokerAttribute.modelVersion").innerHTML = brokerData.managementVersion; dojo.byId("brokerAttribute.storeType").innerHTML = brokerData.storeType; dojo.byId("brokerAttribute.storeVersion").innerHTML = brokerData.storeVersion; dojo.byId("brokerAttribute.storePath").innerHTML = brokerData.storePath; diff --git a/java/broker-plugins/management-http/src/main/java/resources/showBroker.html b/java/broker-plugins/management-http/src/main/java/resources/showBroker.html index 0cac138cb1..887ca4e736 100644 --- a/java/broker-plugins/management-http/src/main/java/resources/showBroker.html +++ b/java/broker-plugins/management-http/src/main/java/resources/showBroker.html @@ -37,9 +37,9 @@ <div class="formLabel-labelCell" style="float:left; width: 250px;">Broker version:</div> <div id="brokerAttribute.productVersion" style="float:left;"></div> </div> - <div id="brokerAttribute.managementVersion.container" style="clear:both"> - <div class="formLabel-labelCell" style="float:left; width: 250px;">Broker management version:</div> - <div id="brokerAttribute.managementVersion" style="float:left;"></div> + <div id="brokerAttribute.modelVersion.container" style="clear:both"> + <div class="formLabel-labelCell" style="float:left; width: 250px;">Broker model version:</div> + <div id="brokerAttribute.modelVersion" style="float:left;"></div> </div> <div id="brokerAttribute.storeType.container" style="clear:both"> <div class="formLabel-labelCell" style="float:left; width: 250px;">Broker store type:</div> @@ -72,7 +72,7 @@ <div id="brokerAttribute.keyStorePath.container" style="display: none; clear:both"> <div class="formLabel-labelCell" style="float:left; width: 250px;">Path to keystore:</div> <div id="brokerAttribute.keyStorePath" style="float:left;"></div><br/> - <div class="formLabel-labelCell" style="float:left; width: 250px;">Keystore alias:</div> + <div class="formLabel-labelCell" style="float:left; width: 250px;">Keystore certificate alias:</div> <div id="brokerAttribute.keyStoreCertAlias" style="float:left;"></div> </div> <div id="brokerAttribute.trustStorePath.container" style="display: none; clear:both"> @@ -95,75 +95,75 @@ <br/> <div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Global Queue Defaults', open: true"> <div id="brokerAttribute.queue.alertThresholdQueueDepthMessages.container" style="clear:both"> - <div class="formLabel-labelCell" style="float:left; width: 250px;">Queue depth messages alert threshold:</div> + <div class="formLabel-labelCell" style="float:left; width: 240px;">Depth messages alert threshold:</div> <div id="brokerAttribute.queue.alertThresholdQueueDepthMessages" style="float:left;"></div> </div> <div id="brokerAttribute.queue.alertThresholdQueueDepthBytes.container" style="clear:both"> - <div class="formLabel-labelCell" style="float:left; width: 250px;">Queue depth bytes alert threshold:</div> + <div class="formLabel-labelCell" style="float:left; width: 240px;">Depth bytes alert threshold:</div> <div id="brokerAttribute.queue.alertThresholdQueueDepthBytes" style="float:left;"></div> bytes </div> <div id="brokerAttribute.queue.alertThresholdMessageAge.container" style="clear:both"> - <div class="formLabel-labelCell" style="float:left; width: 250px;">Queue message age alert threshold:</div> + <div class="formLabel-labelCell" style="float:left; width: 240px;">Message age alert threshold:</div> <div id="brokerAttribute.queue.alertThresholdMessageAge" style="float:left;"></div> ms </div> <div id="brokerAttribute.queue.alertThresholdMessageSize.container" style="clear:both"> - <div class="formLabel-labelCell" style="float:left; width: 250px;">Queue message size alert threshold:</div> + <div class="formLabel-labelCell" style="float:left; width: 240px;">Message size alert threshold:</div> <div id="brokerAttribute.queue.alertThresholdMessageSize" style="float:left;"></div> bytes </div> <div id="brokerAttribute.queue.alertRepeatGap.container" style="clear:both"> - <div class="formLabel-labelCell" style="float:left; width: 250px;">Queue alert repeat gap:</div> + <div class="formLabel-labelCell" style="float:left; width: 240px;">Alert repeat gap:</div> <div id="brokerAttribute.queue.alertRepeatGap" style="float:left;"></div> ms </div> <div id="brokerAttribute.queue.maximumDeliveryAttempts.container" style="clear:both"> - <div class="formLabel-labelCell" style="float:left; width: 250px;">Queue maximum delivery retries:</div> + <div class="formLabel-labelCell" style="float:left; width: 250px;">Maximum delivery retries:</div> <div id="brokerAttribute.queue.maximumDeliveryAttempts" style="float:left;"></div> </div> <div id="brokerAttribute.queue.deadLetterQueueEnabled.container" style="clear:both"> - <div class="formLabel-labelCell" style="float:left; width: 250px;">Dead letter queue enabled:</div> + <div class="formLabel-labelCell" style="float:left; width: 240px;">Dead letter queue enabled:</div> <div id="brokerAttribute.queue.deadLetterQueueEnabled" style="float:left;"></div> </div> <div id="brokerAttribute.queue.flowControlSizeBytes.container" style="clear:both"> - <div class="formLabel-labelCell" style="float:left; width: 250px;">Queue flow capacity:</div> + <div class="formLabel-labelCell" style="float:left; width: 240px;">Flow control threshold:</div> <div id="brokerAttribute.queue.flowControlSizeBytes" style="float:left;"></div> bytes </div> <div id="brokerAttribute.queue.flowResumeSizeBytes.container" style="clear:both"> - <div class="formLabel-labelCell" style="float:left; width: 250px;">Queue flow resume capacity:</div> + <div class="formLabel-labelCell" style="float:left; width: 240px;">Flow resume threshold:</div> <div id="brokerAttribute.queue.flowResumeSizeBytes" style="float:left;"></div> bytes </div> <div style="clear:both"></div> </div> <br/> - <div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Global connection defaults', open: true"> + <div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Global Connection Defaults', open: true"> <div id="brokerAttribute.connection.sessionCountLimit.container" style="clear:both"> - <div class="formLabel-labelCell" style="float:left; width: 250px;">Connection session limit:</div> + <div class="formLabel-labelCell" style="float:left; width: 240px;">Maximum number of sessions:</div> <div id="brokerAttribute.connection.sessionCountLimit" style="float:left;"></div> </div> <div id="brokerAttribute.connection.heartBeatDelay.container" style="clear:both"> - <div class="formLabel-labelCell" style="float:left; width: 250px;">Heart beat delay:</div> + <div class="formLabel-labelCell" style="float:left; width: 240px;">Heart beat delay:</div> <div id="brokerAttribute.connection.heartBeatDelay" style="float:left;"></div> ms </div> <div style="clear:both"></div> </div> <br/> - <div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Global virtual host defaults', open: true"> + <div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Global Virtual Host Defaults', open: true"> <div id="brokerAttribute.virtualhost.housekeepingCheckPeriod.container" style="clear:both"> - <div class="formLabel-labelCell" style="float:left; width: 250px;">House keeping check period:</div> + <div class="formLabel-labelCell" style="float:left; width: 240px;">House keeping check period:</div> <div id="brokerAttribute.virtualhost.housekeepingCheckPeriod" style="float:left;"></div>ms </div> <div id="brokerAttribute.virtualhost.storeTransactionIdleTimeoutClose.container" style="clear:both"> - <div class="formLabel-labelCell" style="float:left; width: 250px;">Idle store transaction close timeout:</div> + <div class="formLabel-labelCell" style="float:left; width: 240px;">Idle store transaction close timeout:</div> <div id="brokerAttribute.virtualhost.storeTransactionIdleTimeoutClose" style="float:left;"></div>ms </div> <div id="brokerAttribute.virtualhost.storeTransactionIdleTimeoutWarn.container" style="clear:both"> - <div class="formLabel-labelCell" style="float:left; width: 250px;">Idle store transaction warn timeout:</div> + <div class="formLabel-labelCell" style="float:left; width: 240px;">Idle store transaction warn timeout:</div> <div id="brokerAttribute.virtualhost.storeTransactionIdleTimeoutWarn" style="float:left;"></div>ms </div> <div id="brokerAttribute.virtualhost.storeTransactionOpenTimeoutClose.container" style="clear:both"> - <div class="formLabel-labelCell" style="float:left; width: 250px;">Open store transaction close timeout:</div> + <div class="formLabel-labelCell" style="float:left; width: 240px;">Open store transaction close timeout:</div> <div id="brokerAttribute.virtualhost.storeTransactionOpenTimeoutClose" style="float:left;"></div>ms </div> <div id="brokerAttribute.virtualhost.storeTransactionOpenTimeoutWarn.container" style="clear:both"> - <div class="formLabel-labelCell" style="float:left; width: 250px;">Open store transaction warn timeout:</div> + <div class="formLabel-labelCell" style="float:left; width: 240px;">Open store transaction warn timeout:</div> <div id="brokerAttribute.virtualhost.storeTransactionOpenTimeoutWarn" style="float:left;"></div>ms </div> <div style="clear:both"></div> |
