From 16841b8fd2280a0bc4fb2bac184b0a41d0bd5e52 Mon Sep 17 00:00:00 2001 From: Alex Rudyy Date: Wed, 3 Apr 2013 17:30:40 +0000 Subject: 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 --- .../src/main/java/resources/js/qpid/common/util.js | 36 ++++++- .../java/resources/js/qpid/management/Broker.js | 107 +++++++++++---------- .../src/main/java/resources/showBroker.html | 44 ++++----- .../adapter/AuthenticationProviderAdapter.java | 3 +- .../qpid/server/model/adapter/BrokerAdapter.java | 28 +++--- .../server/model/adapter/GroupProviderAdapter.java | 2 - .../qpid/server/model/adapter/PortAdapter.java | 5 - .../qpid/server/security/SubjectCreator.java | 31 ++++-- .../security/group/GroupPrincipalAccessor.java | 52 ---------- .../qpid/server/security/SubjectCreatorTest.java | 43 +++++++-- .../security/group/GroupPrincipalAccessorTest.java | 80 --------------- 11 files changed, 187 insertions(+), 244 deletions(-) delete mode 100644 java/broker/src/main/java/org/apache/qpid/server/security/group/GroupPrincipalAccessor.java delete mode 100644 java/broker/src/test/java/org/apache/qpid/server/security/group/GroupPrincipalAccessorTest.java (limited to 'java') 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 @@ -124,15 +124,6 @@ define(["dojo/_base/xhr", label: "Path to keystore:", 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", @@ -145,6 +136,15 @@ define(["dojo/_base/xhr", placeholder: brokerData["keyStorePassword"] ? brokerData["keyStorePassword"] : "" }); } + }, { + 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) @@ -188,8 +188,33 @@ define(["dojo/_base/xhr", placeholder: brokerData["peerStorePassword"] ? brokerData["peerStorePassword"] : "" }); } + }, { + 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 @@
Broker version:
-
-
Broker management version:
-
+
+
Broker model version:
+
Broker store type:
@@ -72,7 +72,7 @@