summaryrefslogtreecommitdiff
path: root/java/broker-plugins
diff options
context:
space:
mode:
Diffstat (limited to 'java/broker-plugins')
-rw-r--r--java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js36
-rw-r--r--java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js107
-rw-r--r--java/broker-plugins/management-http/src/main/java/resources/showBroker.html44
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>