From e9f4e542b245f40cdcbe4694657b19e636bbecaa Mon Sep 17 00:00:00 2001 From: Keith Wall Date: Wed, 16 Jul 2014 11:07:18 +0000 Subject: QPID-5413: [Java Broker] Add virtualhostnode/virtualhost creation dialogue Work by Andrew MacBean and me. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1610967 13f79535-47bb-0310-9956-ffa450edef68 --- .../store/jdbc/GenericJDBCConfigurationStore.java | 2 +- .../js/qpid/management/store/pool/none/add.js | 56 +++++++++++++ .../js/qpid/management/virtualhost/jdbc/add.js | 71 +++++++++++++++++ .../qpid/management/virtualhost/store/jdbc/add.js | 93 ---------------------- .../management/virtualhost/store/pool/none/add.js | 56 ------------- .../js/qpid/management/virtualhostnode/jdbc/add.js | 8 +- .../main/java/resources/virtualhost/jdbc/add.html | 76 ++++++++++++++++++ .../java/resources/virtualhostnode/jdbc/add.html | 57 ++++++++----- .../resources/virtualhostnode/jdbc/none/add.html | 17 ++++ 9 files changed, 262 insertions(+), 174 deletions(-) create mode 100644 qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/store/pool/none/add.js create mode 100644 qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/add.js delete mode 100644 qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/store/jdbc/add.js delete mode 100644 qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/store/pool/none/add.js create mode 100644 qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhost/jdbc/add.html create mode 100644 qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhostnode/jdbc/none/add.html (limited to 'qpid/java/broker-plugins/jdbc-store/src') diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/GenericJDBCConfigurationStore.java b/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/GenericJDBCConfigurationStore.java index ed25d97af0..6764b7b715 100644 --- a/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/GenericJDBCConfigurationStore.java +++ b/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/GenericJDBCConfigurationStore.java @@ -110,7 +110,7 @@ public class GenericJDBCConfigurationStore extends AbstractJDBCConfigurationStor catch (SQLException e) { throw new StoreException("Failed to create connection provider for connectionUrl: " + _connectionURL + - " and username: " + settings.getUsername()); + " and username: " + settings.getUsername(), e); } _blobType = details.getBlobType(); _varBinaryType = details.getVarBinaryType(); diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/store/pool/none/add.js b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/store/pool/none/add.js new file mode 100644 index 0000000000..ccdcf643fb --- /dev/null +++ b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/store/pool/none/add.js @@ -0,0 +1,56 @@ +/* + * + * 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/_base/array", + "dojo/_base/event", + "dojo/_base/json", + "dojo/string", + "dojo/store/Memory", + "dijit/form/FilteringSelect", + "dojo/domReady!"], + function (xhr, dom, construct, win, registry, parser, array, event, json, string, Memory, FilteringSelect) { + return { + show: function(poolSpecificDivId, formFieldPrefix, htmlUrl) { + var node = dom.byId(poolSpecificDivId); + var that = this; + + array.forEach(registry.toArray(), + function(item) { + if(item.id.substr(0,formFieldPrefix.length) == formFieldPrefix) { + item.destroyRecursive(); + } + }); + + xhr.get({url: htmlUrl, + sync: true, + load: function(data) { + node.innerHTML = data; + parser.parse(node); + + }}); + } + }; + }); diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/add.js b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/add.js new file mode 100644 index 0000000000..12279f2455 --- /dev/null +++ b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/add.js @@ -0,0 +1,71 @@ +/* + * 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/_base/array", + "dojo/parser", + "dojo/dom", + "dojo/dom-construct", + "dojo/json", + "dojo/string", + "dojo/store/Memory", + "dijit/registry", + "dojo/text!virtualhost/jdbc/add.html", + "dojo/text!service/helper?action=pluginList&plugin=JDBCConnectionProviderFactory", + "dijit/form/ValidationTextBox", + "dijit/form/CheckBox", + "dojo/domReady!"], + function (xhr, array, parser, dom, domConstruct, json, string, Memory, registry, template, poolTypeJsonString) + { + return { + show: function (data) + { + this.containerNode = domConstruct.create("div", {innerHTML: template}, data.containerNode); + parser.parse(this.containerNode); + + 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("addVirtualHost.connectionPoolType"); + poolTypeControl.set("store", poolTypesStore); + + var poolTypeFieldsDiv = dom.byId("addVirtualHost.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()+"/add"], + function(poolType) + { + poolType.show("addVirtualHost.poolSpecificDiv", "formAddVirtualHost.qpid.jdbcstore.bonecp", "virtualhost/store/pool/"+type.toLowerCase()+"/add.html"); + }); + } + } + ); + } + }; + } +); diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/store/jdbc/add.js b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/store/jdbc/add.js deleted file mode 100644 index 21c0c17de9..0000000000 --- a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/store/jdbc/add.js +++ /dev/null @@ -1,93 +0,0 @@ -/* - * - * 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/_base/array", - "dojo/_base/event", - "dojo/_base/json", - "dojo/string", - "dojo/store/Memory", - "dijit/form/FilteringSelect", - "dojo/domReady!"], - function (xhr, dom, construct, win, registry, parser, array, event, json, string, Memory, FilteringSelect) { - return { - show: function() { - var node = dom.byId("addVirtualHost.storeSpecificDiv"); - var that = this; - - array.forEach(registry.toArray(), - function(item) { - if(item.id.substr(0,34) == "formAddVirtualHost.specific.store.") { - item.destroyRecursive(); - } - }); - - xhr.get({url: "virtualhost/store/jdbc/add.html", - sync: true, - load: function(data) { - node.innerHTML = data; - parser.parse(node); - - if (that.hasOwnProperty("poolTypeChooser")) - { - that.poolTypeChooser.destroy(); - } - - var selectPoolType = function(type) { - if(type && string.trim(type) != "") { - require(["qpid/management/virtualhost/store/pool/"+type.toLowerCase()+"/add"], - function(poolType) - { - poolType.show(); - }); - } - } - - xhr.get({ - sync: true, - url: "service/helper?action=pluginList&plugin=JDBCConnectionProviderFactory", - handleAs: "json" - }).then( - function(data) { - var poolTypes = data; - 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 poolTypesDiv = dom.byId("addVirtualHost.specific.selectPoolType"); - var input = construct.create("input", {id: "addPoolType", required: false}, poolTypesDiv); - that.poolTypeChooser = new FilteringSelect({ id: "addVirtualHost.specific.store.poolType", - name: "connectionPoolType", - store: poolTypesStore, - searchAttr: "name", required: false, - onChange: selectPoolType }, input); - }); - - }}); - } - }; - }); diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/store/pool/none/add.js b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/store/pool/none/add.js deleted file mode 100644 index 7276737873..0000000000 --- a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/store/pool/none/add.js +++ /dev/null @@ -1,56 +0,0 @@ -/* - * - * 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/_base/array", - "dojo/_base/event", - "dojo/_base/json", - "dojo/string", - "dojo/store/Memory", - "dijit/form/FilteringSelect", - "dojo/domReady!"], - function (xhr, dom, construct, win, registry, parser, array, event, json, string, Memory, FilteringSelect) { - return { - show: function() { - var node = dom.byId("addVirtualHost.poolSpecificDiv"); - var that = this; - - array.forEach(registry.toArray(), - function(item) { - if(item.id.substr(0,39) == "formAddVirtualHost.specific.store.pool.") { - item.destroyRecursive(); - } - }); - - xhr.get({url: "virtualhost/store/pool/none/add.html", - sync: true, - load: function(data) { - node.innerHTML = data; - parser.parse(node); - - }}); - } - }; - }); diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/add.js b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/add.js index 1f8b8d39d3..96e96eb454 100644 --- a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/add.js +++ b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/add.js @@ -47,10 +47,10 @@ define(["dojo/_base/xhr", poolTypesData[i]= {id: poolTypes[i], name: poolTypes[i]}; } var poolTypesStore = new Memory({ data: poolTypesData }); - var poolTypeControl = registry.byId("addVirtualHostNode.jdbcConnectionPoolType"); + var poolTypeControl = registry.byId("addVirtualHostNode.connectionPoolType"); poolTypeControl.set("store", poolTypesStore); - var poolTypeFieldsDiv = dom.byId("addVirtualHost.poolSpecificDiv"); + var poolTypeFieldsDiv = dom.byId("addVirtualHostNode.poolSpecificDiv"); poolTypeControl.on("change", function(type) { @@ -59,10 +59,10 @@ define(["dojo/_base/xhr", var widgets = registry.findWidgets(poolTypeFieldsDiv); array.forEach(widgets, function(item) { item.destroyRecursive();}); domConstruct.empty(poolTypeFieldsDiv); - require(["qpid/management/virtualhost/store/pool/"+type.toLowerCase()+"/add"], + require(["qpid/management/store/pool/"+type.toLowerCase()+"/add"], function(poolType) { - poolType.show(); + poolType.show("addVirtualHostNode.poolSpecificDiv", "formAddVirtualHostNode.qpid.jdbcstore.bonecp", "virtualhostnode/store/pool/" + type.toLowerCase() + "/add.html"); }); } } diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhost/jdbc/add.html b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhost/jdbc/add.html new file mode 100644 index 0000000000..6555faf2f9 --- /dev/null +++ b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhost/jdbc/add.html @@ -0,0 +1,76 @@ + +
+
+
JDBC Url*:
+
+ +
+
+
+
Username*:
+
+ +
+
+
+
Password*:
+
+ +
+
+
+
Connection Pool*:
+
+ +
+
+ +
+
+
diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhostnode/jdbc/add.html b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhostnode/jdbc/add.html index e08e709253..b2b8de862e 100644 --- a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhostnode/jdbc/add.html +++ b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhostnode/jdbc/add.html @@ -20,36 +20,63 @@ -->
-
Virtual Host Node Name*:
+
Name*:
-
JDBC Url*:
- + title: 'Enter JDBC URL', + pattern: '^jdbc:.*:.*$'"/>
+
+
Username*:
+
+ +
+
+
+
Password*:
+
+ +
+
Connection Pool*:
-
-
-
Combined store:
-
- -
-
+
-
+
diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhostnode/jdbc/none/add.html b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhostnode/jdbc/none/add.html new file mode 100644 index 0000000000..2666129a1f --- /dev/null +++ b/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhostnode/jdbc/none/add.html @@ -0,0 +1,17 @@ + + -- cgit v1.2.1