From 400d9be252bcc666fe43b1be582f34202faf23f7 Mon Sep 17 00:00:00 2001 From: Alex Rudyy Date: Fri, 1 Aug 2014 18:08:31 +0000 Subject: QPID-5928: [Java Broker] Add UI into web management console for editing of virtual host nodes and virtual hosts The work is done by Andrew MacBean and Alex Rudyy. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1615187 13f79535-47bb-0310-9956-ffa450edef68 --- .../js/qpid/management/virtualhost/derby/edit.js | 30 ++++ .../qpid/management/virtualhostnode/derby/edit.js | 30 ++++ .../qpid/management/virtualhostnode/derby/show.js | 2 + .../java/resources/virtualhostnode/derby/show.html | 2 +- .../js/qpid/management/store/pool/bonecp/edit.js | 55 +++++++ .../virtualhost/store/pool/bonecp/add.html | 5 + .../virtualhostnode/store/pool/bonecp/add.html | 5 + .../js/qpid/management/store/pool/none/edit.js | 26 +++ .../js/qpid/management/virtualhost/jdbc/edit.js | 76 +++++++++ .../js/qpid/management/virtualhost/jdbc/show.js | 11 +- .../qpid/management/virtualhostnode/jdbc/edit.js | 89 +++++++++++ .../qpid/management/virtualhostnode/jdbc/show.js | 15 +- .../main/java/resources/virtualhost/jdbc/edit.html | 79 +++++++++ .../java/resources/virtualhostnode/jdbc/edit.html | 78 +++++++++ .../src/main/java/resources/css/common.css | 17 +- .../src/main/java/resources/editVirtualHost.html | 176 ++++++++++++--------- .../main/java/resources/editVirtualHostNode.html | 48 ++++++ .../src/main/java/resources/js/qpid/common/util.js | 108 ++++++++++--- .../resources/js/qpid/management/VirtualHost.js | 2 +- .../js/qpid/management/VirtualHostNode.js | 17 +- .../js/qpid/management/editVirtualHost.js | 90 +++++++---- .../js/qpid/management/editVirtualHostNode.js | 170 ++++++++++++++++++++ .../qpid/management/virtualhostnode/json/edit.js | 30 ++++ .../resources/virtualhost/providedstore/show.html | 8 +- .../resources/virtualhost/sizemonitoring/edit.html | 68 ++++++++ .../resources/virtualhost/sizemonitoring/show.html | 10 +- .../resources/virtualhostnode/filebased/edit.html | 38 +++++ .../java/resources/virtualhostnode/json/show.html | 2 +- .../js/qpid/management/virtualhost/memory/edit.js | 28 ++++ .../qpid/management/virtualhostnode/memory/show.js | 5 + 30 files changed, 1152 insertions(+), 168 deletions(-) create mode 100644 qpid/java/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhost/derby/edit.js create mode 100644 qpid/java/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhostnode/derby/edit.js create mode 100644 qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/resources/js/qpid/management/store/pool/bonecp/edit.js create mode 100644 qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/store/pool/none/edit.js create mode 100644 qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/edit.js create mode 100644 qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/edit.js create mode 100644 qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhost/jdbc/edit.html create mode 100644 qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhostnode/jdbc/edit.html create mode 100644 qpid/java/broker-plugins/management-http/src/main/java/resources/editVirtualHostNode.html create mode 100644 qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHostNode.js create mode 100644 qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhostnode/json/edit.js create mode 100644 qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/edit.html create mode 100644 qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhostnode/filebased/edit.html create mode 100644 qpid/java/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhost/memory/edit.js (limited to 'qpid/java/broker-plugins') diff --git a/qpid/java/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhost/derby/edit.js b/qpid/java/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhost/derby/edit.js new file mode 100644 index 0000000000..5438eda926 --- /dev/null +++ b/qpid/java/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhost/derby/edit.js @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +define(["qpid/common/util", "dojo/domReady!"], + function (util) + { + var fieldNames = ["storeUnderfullSize", "storeOverfullSize", "storePath"]; + return { + show: function(data) + { + util.buildEditUI(data.containerNode, "virtualhost/sizemonitoring/edit.html", "editVirtualHost.", fieldNames, data.data); + } + }; + } +); diff --git a/qpid/java/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhostnode/derby/edit.js b/qpid/java/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhostnode/derby/edit.js new file mode 100644 index 0000000000..5fa0443185 --- /dev/null +++ b/qpid/java/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhostnode/derby/edit.js @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +define(["qpid/common/util", "dijit/registry", "dojo/domReady!"], + function (util, registry) + { + return { + show: function(data) + { + util.buildEditUI(data.containerNode, "virtualhostnode/filebased/edit.html", "editVirtualHostNode.", ["storePath"], data.data); + registry.byId("editVirtualHostNode.storePath").set("disabled", data.data.state != "STOPPED"); + } + }; + } +); diff --git a/qpid/java/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhostnode/derby/show.js b/qpid/java/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhostnode/derby/show.js index cc84f9edc1..22f6e4fa37 100644 --- a/qpid/java/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhostnode/derby/show.js +++ b/qpid/java/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhostnode/derby/show.js @@ -25,11 +25,13 @@ define(["qpid/common/util", "dojo/domReady!"], function DerbyNode(data) { + this.parent = data.parent; util.buildUI(data.containerNode, data.parent, "virtualhostnode/derby/show.html", fields, this); } DerbyNode.prototype.update=function(data) { + this.parent.editNodeButton.set("disabled", !(data.state == "STOPPED" || data.state == "ERRORED")); util.updateUI(data, fields, this); }; diff --git a/qpid/java/broker-plugins/derby-store/src/main/java/resources/virtualhostnode/derby/show.html b/qpid/java/broker-plugins/derby-store/src/main/java/resources/virtualhostnode/derby/show.html index a90ae74aaa..56c09a8ad7 100644 --- a/qpid/java/broker-plugins/derby-store/src/main/java/resources/virtualhostnode/derby/show.html +++ b/qpid/java/broker-plugins/derby-store/src/main/java/resources/virtualhostnode/derby/show.html @@ -16,6 +16,6 @@ -->
-
Store Path:
+
Configuration store path:
diff --git a/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/resources/js/qpid/management/store/pool/bonecp/edit.js b/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/resources/js/qpid/management/store/pool/bonecp/edit.js new file mode 100644 index 0000000000..46345bca58 --- /dev/null +++ b/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/resources/js/qpid/management/store/pool/bonecp/edit.js @@ -0,0 +1,55 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +define(["dojo/_base/xhr", + "dojo/dom", + "dojo/dom-construct", + "dojo/_base/window", + "dijit/registry", + "dojo/parser", + "dojo/domReady!"], + function (xhr, dom, construct, win, registry, parser) { + var fieldNames = ["maxConnectionsPerPartition", "minConnectionsPerPartition", "partitionCount"]; + return { + show: function(data) { + var that = this; + xhr.get({url: "virtualhost/store/pool/bonecp/add.html", + sync: true, + load: function(template) { + for ( var i = 0 ; i < fieldNames.length; i++ ) + { + var widgetName = fieldNames[i]; + var widget = registry.byId("formAddVirtualHost.qpid.jdbcstore.bonecp." + widgetName); + if (widget) + { + widget.destroyRecursive(); + } + } + data.containerNode.innerHTML = template; + parser.parse(data.containerNode); + for ( var i = 0 ; i < fieldNames.length; i++ ) + { + var widgetName = fieldNames[i]; + registry.byId("formAddVirtualHost.qpid.jdbcstore.bonecp." + widgetName).set("value", data.data.context["qpid.jdbcstore.bonecp." + widgetName]); + } + }}); + } + }; + }); diff --git a/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/resources/virtualhost/store/pool/bonecp/add.html b/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/resources/virtualhost/store/pool/bonecp/add.html index 39fc3f617f..df35a3cce0 100644 --- a/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/resources/virtualhost/store/pool/bonecp/add.html +++ b/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/resources/virtualhost/store/pool/bonecp/add.html @@ -14,6 +14,9 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License. --> +
+
+BoneCP Settings @@ -54,3 +57,5 @@
+
+
\ No newline at end of file diff --git a/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/resources/virtualhostnode/store/pool/bonecp/add.html b/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/resources/virtualhostnode/store/pool/bonecp/add.html index dbaf8ea4ee..e4334e395f 100644 --- a/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/resources/virtualhostnode/store/pool/bonecp/add.html +++ b/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/resources/virtualhostnode/store/pool/bonecp/add.html @@ -14,6 +14,9 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License. --> +
+
+BoneCP Settings @@ -54,3 +57,5 @@
+
+
\ No newline at end of file diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/store/pool/none/edit.js b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/store/pool/none/edit.js new file mode 100644 index 0000000000..675a919b3d --- /dev/null +++ b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/store/pool/none/edit.js @@ -0,0 +1,26 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +define([], + function () + { + return {show: function(data) {}}; + } +); diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/edit.js b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/edit.js new file mode 100644 index 0000000000..a4cd23392c --- /dev/null +++ b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/edit.js @@ -0,0 +1,76 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +define(["qpid/common/util", + "dojo/text!service/helper?action=pluginList&plugin=JDBCConnectionProviderFactory", + "dojo/_base/array", + "dojo/json", + "dojo/string", + "dojo/store/Memory", + "dojo/dom", + "dojo/dom-construct", + "dijit/registry", + "dojo/domReady!"], + function (util, poolTypeJsonString, array, json, string, Memory, dom, domConstruct, registry) + { + + var fieldNames = ["connectionUrl", "username", "connectionPoolType"]; + return { + show: function(data) + { + util.buildEditUI(data.containerNode, "virtualhost/jdbc/edit.html", "editVirtualHost.", fieldNames, data.data); + + var poolTypes = json.parse(poolTypeJsonString); + var poolTypesData = []; + for (var i =0 ; i < poolTypes.length; i++) + { + poolTypesData[i]= {id: poolTypes[i], name: poolTypes[i]}; + } + var poolTypesStore = new Memory({ data: poolTypesData }); + var poolTypeControl = registry.byId("editVirtualHost.connectionPoolType"); + poolTypeControl.set("store", poolTypesStore); + poolTypeControl.set("value", data.data.connectionPoolType); + + var passwordControl = registry.byId("editVirtualHost.password"); + if (data.data.password) + { + passwordControl.set("placeHolder", "*******"); + } + + var poolTypeFieldsDiv = dom.byId("editVirtualHost.poolSpecificDiv"); + poolTypeControl.on("change", + function(type) + { + if(type && string.trim(type) != "") + { + var widgets = registry.findWidgets(poolTypeFieldsDiv); + array.forEach(widgets, function(item) { item.destroyRecursive();}); + domConstruct.empty(poolTypeFieldsDiv); + + require(["qpid/management/store/pool/"+type.toLowerCase()+"/edit"], + function(poolType) + { + poolType.show({containerNode:poolTypeFieldsDiv, data: data.data}) + }); + } + } + ); + } + }; + } +); diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/show.js b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/show.js index 5e3a5a087c..edca323926 100644 --- a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/show.js +++ b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/show.js @@ -18,8 +18,8 @@ * under the License. * */ -define(["qpid/common/util", "dojo/query", "dojo/domReady!"], - function (util, query) +define(["qpid/common/util", "dojo/query", "dojo/_base/array", "dojo/dom-construct", "dijit/registry", "dojo/domReady!"], + function (util, query, array, domConstruct, registry) { var fieldNames = ["connectionUrl", "username", "connectionPoolType"]; @@ -32,14 +32,19 @@ define(["qpid/common/util", "dojo/query", "dojo/domReady!"], JDBC.prototype.update = function(data) { + var previousConnectionPoolType = this.connectionPoolType ? this.connectionPoolType.innerHTML : null; util.updateUI(data, fieldNames, this); this.usernameAttributeContainer.style.display = data.username ? "block" : "none"; - if (!this.poolDetails) + if (!this.poolDetails || previousConnectionPoolType != data.connectionPoolType) { var that = this; require(["qpid/management/store/pool/" + data.connectionPoolType.toLowerCase() + "/show"], function(PoolDetails) { + var widgets = registry.findWidgets(that.connectionPoolTypeAttributeContainer); + array.forEach(widgets, function(item) { item.destroyRecursive();}); + domConstruct.empty(that.connectionPoolTypeAttributeContainer); + that.poolDetails = new PoolDetails({containerNode:that.connectionPoolTypeAttributeContainer, parent: that}); that.poolDetails.update(data); } diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/edit.js b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/edit.js new file mode 100644 index 0000000000..0e062b8f08 --- /dev/null +++ b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/edit.js @@ -0,0 +1,89 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +define(["qpid/common/util", + "dojo/text!service/helper?action=pluginList&plugin=JDBCConnectionProviderFactory", + "dojo/_base/array", + "dojo/json", + "dojo/string", + "dojo/store/Memory", + "dojo/dom", + "dojo/dom-construct", + "dijit/registry", + "dojo/domReady!"], + function (util, poolTypeJsonString, array, json, string, Memory, dom, domConstruct, registry) + { + var fieldNames = ["connectionUrl", "username", "connectionPoolType"]; + return { + show: function(data) + { + util.buildEditUI(data.containerNode, "virtualhostnode/jdbc/edit.html", "editVirtualHostNode.", fieldNames, data.data); + if (!(data.data.state == "STOPPED" || data.data.state == "ERRORED")) + { + for( var i = 0 ; i < fieldNames.length ; i++ ) + { + registry.byId("editVirtualHostNode." + fieldNames[i]).set("disabled", true); + } + registry.byId("editVirtualHostNode.password").set("disabled", true); + } + + var poolTypes = json.parse(poolTypeJsonString); + var poolTypesData = []; + for (var i =0 ; i < poolTypes.length; i++) + { + poolTypesData[i]= {id: poolTypes[i], name: poolTypes[i]}; + } + var poolTypesStore = new Memory({ data: poolTypesData }); + var poolTypeControl = registry.byId("editVirtualHostNode.connectionPoolType"); + poolTypeControl.set("store", poolTypesStore); + poolTypeControl.set("value", data.data.connectionPoolType); + + var passwordControl = registry.byId("editVirtualHostNode.password"); + if (data.data.password) + { + passwordControl.set("placeHolder", "*******"); + } + + var poolTypeFieldsDiv = dom.byId("editVirtualHostNode.poolSpecificDiv"); + poolTypeControl.on("change", + function(type) + { + if(type && string.trim(type) != "") + { + var widgets = registry.findWidgets(poolTypeFieldsDiv); + array.forEach(widgets, function(item) { item.destroyRecursive();}); + domConstruct.empty(poolTypeFieldsDiv); + + require(["qpid/management/store/pool/"+type.toLowerCase()+"/edit"], + function(poolType) + { + poolType.show({containerNode:poolTypeFieldsDiv, data: data.data}) + + if (!(data.data.state == "STOPPED" || data.data.state == "ERRORED")) + { + var widgets = registry.findWidgets(poolTypeFieldsDiv); + array.forEach(widgets, function(item) { item.set("disabled", true);}); + } + }); + } + } + ); + } + }; + } +); diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/show.js b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/show.js index ced243241b..b41fe32010 100644 --- a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/show.js +++ b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/show.js @@ -19,15 +19,14 @@ * */ -define(["qpid/common/util", - "dojo/query", - "dojo/domReady!"], - function (util, query) +define(["qpid/common/util", "dojo/query", "dojo/_base/array", "dojo/dom-construct", "dijit/registry", "dojo/domReady!"], + function (util, query, array, domConstruct, registry) { var fieldNames = ["connectionUrl", "username", "connectionPoolType"]; function Jdbc(data) { + this.parent = data.parent; util.buildUI(data.containerNode, data.parent, "virtualhostnode/jdbc/show.html", fieldNames, this); this.usernameAttributeContainer=query(".usernameAttributeContainer", data.containerNode)[0]; @@ -36,15 +35,21 @@ define(["qpid/common/util", Jdbc.prototype.update=function(data) { + var previousConnectionPoolType = this.connectionPoolType ? this.connectionPoolType.innerHTML : null; + this.parent.editNodeButton.set("disabled", !(data.state == "STOPPED" || data.state == "ERRORED")); util.updateUI(data, fieldNames, this); this.usernameAttributeContainer.style.display = data.username ? "block" : "none"; - if (!this.poolDetails) + if (!this.poolDetails || previousConnectionPoolType != data.connectionPoolType) { var that = this; require(["qpid/management/store/pool/" + data.connectionPoolType.toLowerCase() + "/show"], function(PoolDetails) { + var widgets = registry.findWidgets(that.connectionPoolTypeAttributeContainer); + array.forEach(widgets, function(item) { item.destroyRecursive();}); + domConstruct.empty(that.connectionPoolTypeAttributeContainer); + that.poolDetails = new PoolDetails({containerNode:that.connectionPoolTypeAttributeContainer, parent: that}); that.poolDetails.update(data); } diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhost/jdbc/edit.html b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhost/jdbc/edit.html new file mode 100644 index 0000000000..199d80f546 --- /dev/null +++ b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhost/jdbc/edit.html @@ -0,0 +1,79 @@ + + +
+
+
JDBC Url*:
+
+ +
+
+
+
Username*:
+
+ +
+
+
+
Password*:
+
+ +
+
+
+
Connection Pool*:
+
+ +
+
+ +
+
+ +
diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhostnode/jdbc/edit.html b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhostnode/jdbc/edit.html new file mode 100644 index 0000000000..6f2ddfff73 --- /dev/null +++ b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhostnode/jdbc/edit.html @@ -0,0 +1,78 @@ + +
+
+
JDBC Url*:
+
+ +
+
+
+
Username*:
+
+ +
+
+
+
Password*:
+
+ +
+
+
+
Connection Pool*:
+
+ +
+
+ +
+
+
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/css/common.css b/qpid/java/broker-plugins/management-http/src/main/java/resources/css/common.css index d8ef0b30b6..2e1033c15e 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/css/common.css +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/css/common.css @@ -128,10 +128,6 @@ div .messages { width: 100%; } -.formBoxButtons { - float : right; -} - .formLabel-controlCell { padding: 1px; float: left; @@ -213,11 +209,6 @@ div .messages { font-style: italic; } -.dijitDialogPaneActionBar .editNodeButton -{ - display: none -} - .alignLeft { float: left; } @@ -227,3 +218,11 @@ div .messages { .multiLineValue { display: inline-block; } +.haOptionLabel { + font-weight: bold; + margin-left: 5px; +} +.editNoteBanner { + font-style: italic; + margin: 0px 0px 10px 5px; +} \ No newline at end of file diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/editVirtualHost.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/editVirtualHost.html index eac16d0acf..1be5c5d29c 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/editVirtualHost.html +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/editVirtualHost.html @@ -19,94 +19,118 @@
- -
- +
NOTE: All changes will only take effect after Virtual Host restart.
-
Dead letter queue enabled:
-
- - +
Name*:
+
+
-
-
Store Transaction Idle Timeout Warn:
-
- -
-
-
-
Store Transaction Idle Timeout Close:
-
- -
-
-
-
Store Transaction Open Timeout Warn:
-
- -
-
-
-
Store Transaction Open Timeout Close:
-
- -
+
+ +
+
+ Store transaction settings +
+
Idle Timeout Warn:
+
+ +
+
+
+
Idle Timeout Close:
+
+ +
+
+
+
Open Timeout Warn:
+
+ +
+
+
+
Open Timeout Close:
+
+ +
+
+
-
-
House keeping check period (ms):
-
- -
+
+
+ House keeping settings +
+
Check period (ms):
+
+ +
+
+
+
Thread count:
+
+ +
+
+
+
-
House keeping thread count:
+
Dead letter queue enabled:
- + +
-
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/editVirtualHostNode.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/editVirtualHostNode.html new file mode 100644 index 0000000000..49f069c06d --- /dev/null +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/editVirtualHostNode.html @@ -0,0 +1,48 @@ + +
+
+ +
NOTE: All changes will only take effect after Virtual Host Node restart.
+
+
Name*:
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js index 60c05a5df6..5ba7cc7b2c 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js @@ -18,7 +18,6 @@ * under the License. * */ - define(["dojo/_base/xhr", "dojo/_base/event", "dojo/json", @@ -29,6 +28,7 @@ define(["dojo/_base/xhr", "dojo/query", "dojo/parser", "dojox/html/entities", + "dijit/registry", "dijit/TitlePane", "dijit/Dialog", "dijit/form/Form", @@ -41,7 +41,7 @@ define(["dojo/_base/xhr", "dojox/validate/web", "dojo/domReady!" ], - function (xhr, event, json, lang, dom, geometry, win, query, parser, entities) { + function (xhr, event, json, lang, dom, geometry, win, query, parser, entities, registry) { var util = {}; if (Array.isArray) { util.isArray = function (object) { @@ -494,21 +494,42 @@ define(["dojo/_base/xhr", return object1 === object2; } - util.buildUI = function(containerNode, parent, htmlTemplateLocation, fieldNames, obj) + util.parseHtmlIntoDiv = function(containerNode, htmlTemplateLocation) { xhr.get({url: htmlTemplateLocation, - sync: true, - load: function(template) { - containerNode.innerHTML = template; - parser.parse(containerNode); - }}); - for(var i=0; i
-
Store Overfull Limit:
-
bytes
+
Store overfull size:
+
bytes
-
Store Underfull Limit:
-
bytes
+
Store underfull size:
+
bytes
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/edit.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/edit.html new file mode 100644 index 0000000000..088057533b --- /dev/null +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/edit.html @@ -0,0 +1,68 @@ + + +
+ +
+
Message store path*:
+
+ +
+
+ +
+
Store overfull size (bytes):
+
+ +
+
+
+
Store underfull size (bytes):
+
+ +
+
+ +
+ +
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/show.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/show.html index 245635b333..350a9777cb 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/show.html +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/show.html @@ -19,16 +19,16 @@
-
Store Path:
+
Message store path:
-
Store Overfull Limit:
-
bytes
+
Store overfull size:
+
bytes
-
Store Underfull Limit:
-
bytes
+
Store underfull size:
+
bytes
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhostnode/filebased/edit.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhostnode/filebased/edit.html new file mode 100644 index 0000000000..7c5c07e4a8 --- /dev/null +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhostnode/filebased/edit.html @@ -0,0 +1,38 @@ + + +
+ +
+
Configuration store path*:
+
+ +
+
+ +
+ +
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhostnode/json/show.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhostnode/json/show.html index 05a85daf6e..b8c6adeed3 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhostnode/json/show.html +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhostnode/json/show.html @@ -16,6 +16,6 @@ -->
-
Store Path:
+
Configuration store path:
diff --git a/qpid/java/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhost/memory/edit.js b/qpid/java/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhost/memory/edit.js new file mode 100644 index 0000000000..cfe7ebee8c --- /dev/null +++ b/qpid/java/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhost/memory/edit.js @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +define(["dojo/domReady!"], + function () + { + return { + show: function(data) + { + } + }; + } +); diff --git a/qpid/java/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/show.js b/qpid/java/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/show.js index a431b63b86..4c858c612a 100644 --- a/qpid/java/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/show.js +++ b/qpid/java/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/show.js @@ -22,10 +22,15 @@ define([], { function Memory(data) { + this.parent = data.parent; + this.parent.editNodeButton.set("disabled",true); + this.parent.editNodeButton.domNode.style.display = "none"; } Memory.prototype.update = function(data) { + this.parent.editNodeButton.set("disabled", true); + this.parent.editNodeButton.domNode.style.display = "none"; } return Memory; -- cgit v1.2.1