summaryrefslogtreecommitdiff
path: root/java/broker-plugins
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2013-04-03 17:30:40 +0000
committerAlex Rudyy <orudyy@apache.org>2013-04-03 17:30:40 +0000
commit16841b8fd2280a0bc4fb2bac184b0a41d0bd5e52 (patch)
tree35f11473d9690b62a543b1c68ae0d015e89adada /java/broker-plugins
parent4e69c05cc06a9c7429b4c95a6a614e9df1d026bb (diff)
downloadqpid-python-16841b8fd2280a0bc4fb2bac184b0a41d0bd5e52.tar.gz
QPID-4696: Group broker attributes on editing UI, improve attribute descriptions, add attributes units.
Remove obsolete GroupPrincipalAccessor. Fix flow control attribute validation. Fix constant name for default group provider attribute. Remove redundant comments. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1464115 13f79535-47bb-0310-9956-ffa450edef68
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>