diff options
| author | Robert Gemmell <robbie@apache.org> | 2013-04-23 15:08:27 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2013-04-23 15:08:27 +0000 |
| commit | c8332e433c389b5c8d45478c98ddc1b13c4d8bcc (patch) | |
| tree | 7989d49826b589d79d03b09dbe5038584f4ab569 /java/broker-plugins | |
| parent | 19826f421c43cbaa80c14064e98a932705d5b5ff (diff) | |
| download | qpid-python-c8332e433c389b5c8d45478c98ddc1b13c4d8bcc.tar.gz | |
QPID-4753: Add additional tests for updated AcessControlProvider config, inc creating and removing AccessControlProviders and verifying ACLs governing their creation/update/deletion. Add message to web ui to signal the user that only one access control provider of a given type will be used by the broker and they should remove others.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1471004 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker-plugins')
3 files changed, 42 insertions, 1 deletions
diff --git a/java/broker-plugins/management-http/src/main/java/resources/js/qpid/authorization/checkUser.js b/java/broker-plugins/management-http/src/main/java/resources/js/qpid/authorization/checkUser.js index 878cf9e3fe..3fc60854f6 100644 --- a/java/broker-plugins/management-http/src/main/java/resources/js/qpid/authorization/checkUser.js +++ b/java/broker-plugins/management-http/src/main/java/resources/js/qpid/authorization/checkUser.js @@ -28,7 +28,7 @@ var updateUI = function updateUI(data) if(data.user) { dom.byId("authenticatedUser").innerHTML = data.user; - dojo.style(dom.byId("login"), {display: 'block'}); + dom.byId("login").style.display = "block"; } }; 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 eeac5b5c0b..a27e43d1b1 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 @@ -492,6 +492,7 @@ define(["dojo/_base/xhr", this.controller = controller; this.query = "rest/broker"; this.attributes = attributes; + this.accessControlProvidersWarn = query(".broker-access-control-providers-warning", node)[0] var that = this; xhr.get({url: this.query, sync: properties.useSyncGet, handleAs: "json"}) @@ -647,6 +648,7 @@ define(["dojo/_base/xhr", that.controller.show("accesscontrolprovider", name, brokerObj); }); }, gridProperties, EnhancedGrid); + that.displayACLWarnMessage(aclData); }); xhr.get({url: "rest/logrecords", sync: properties.useSyncGet, handleAs: "json"}) @@ -715,6 +717,43 @@ define(["dojo/_base/xhr", } }; + 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() { @@ -749,6 +788,7 @@ define(["dojo/_base/xhr", { var data = that.brokerData.accesscontrolproviders ? that.brokerData.accesscontrolproviders :[]; that.accessControlProvidersGrid.update(data); + that.displayACLWarnMessage(data); } }); 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 15f7faf318..d9991452af 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 @@ -184,6 +184,7 @@ </div> <br/> <div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Access Control Providers'"> + <div class="broker-access-control-providers-warning" style="color: red"></div> <div class="broker-access-control-providers"></div> <button data-dojo-type="dijit.form.Button" class="addAccessControlProvider">Add Access Control Provider</button> <button data-dojo-type="dijit.form.Button" class="deleteAccessControlProvider">Delete Access Control Provider</button> |
