You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by lq...@apache.org on 2016/05/02 17:57:54 UTC
svn commit: r1741993 [7/29] - in /qpid/java/trunk:
bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb/
bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/
bdbstore/src/main/java/resources/js/qpid/management/virtualh...
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AccessControlProvider.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AccessControlProvider.js?rev=1741993&r1=1741992&r2=1741993&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AccessControlProvider.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AccessControlProvider.js Mon May 2 15:57:52 2016
@@ -33,120 +33,129 @@ define(["dojo/parser",
"dojox/grid/enhanced/plugins/Pagination",
"dojox/grid/enhanced/plugins/IndirectSelection",
"dojo/domReady!"],
- function (parser, query, connect, properties, updater, util, UpdatableStore, EnhancedGrid, registry, event, entities, template)
- {
+ function (parser,
+ query,
+ connect,
+ properties,
+ updater,
+ util,
+ UpdatableStore,
+ EnhancedGrid,
+ registry,
+ event,
+ entities,
+ template)
+ {
+
+ function AccessControlProvider(name, parent, controller)
+ {
+ this.name = name;
+ this.controller = controller;
+ this.modelObj = {
+ type: "accesscontrolprovider",
+ name: name,
+ parent: parent
+ };
+ }
+
+ AccessControlProvider.prototype.getTitle = function ()
+ {
+ return "AccessControlProvider: " + this.name;
+ };
+
+ AccessControlProvider.prototype.open = function (contentPane)
+ {
+ var that = this;
+ this.contentPane = contentPane;
+
+ contentPane.containerNode.innerHTML = template;
+ parser.parse(contentPane.containerNode)
+ .then(function (instances)
+ {
+ that.accessControlProviderUpdater = new AccessControlProviderUpdater(that);
+ var deleteButton = query(".deleteAccessControlProviderButton", contentPane.containerNode)[0];
+ var deleteWidget = registry.byNode(deleteButton);
+ connect.connect(deleteWidget, "onClick", function (evt)
+ {
+ event.stop(evt);
+ that.deleteAccessControlProvider();
+ });
+ });
+ };
+
+ AccessControlProvider.prototype.close = function ()
+ {
+ if (this.accessControlProviderUpdater.details)
+ {
+ this.accessControlProviderUpdater.details.close();
+ }
+ };
+
+ AccessControlProvider.prototype.deleteAccessControlProvider = function ()
+ {
+ if (confirm("Are you sure you want to delete access control provider '" + this.name + "'?"))
+ {
+ var that = this;
+ this.controller.management.remove(this.modelObj)
+ .then(function (data)
+ {
+ that.close();
+ that.contentPane.onClose()
+ that.controller.tabContainer.removeChild(that.contentPane);
+ that.contentPane.destroyRecursive();
+ }, util.xhrErrorHandler);
+ }
+ };
+
+ function AccessControlProviderUpdater(aclTab)
+ {
+ this.tabObject = aclTab;
+ var node = aclTab.contentPane.containerNode;
+ var groupProviderObj = aclTab.modelObj;
+ var controller = aclTab.controller;
+
+ this.controller = controller;
+ this.management = controller.management;
+ this.modelObj = groupProviderObj;
+ this.name = query(".name", node)[0];
+ this.type = query(".type", node)[0];
+ this.state = query(".state", node)[0];
+
+ var that = this;
+
+ this.management.load(this.modelObj)
+ .then(function (data)
+ {
+ that.accessControlProviderData = data[0];
+
+ util.flattenStatistics(that.accessControlProviderData);
+
+ that.updateHeader();
+
+ var ui = that.accessControlProviderData.type;
+ require(["qpid/management/accesscontrolprovider/" + ui], function (SpecificProvider)
+ {
+ that.details = new SpecificProvider(query(".providerDetails",
+ node)[0], groupProviderObj, controller, aclTab);
+ });
+ }, function (error)
+ {
+ util.tabErrorHandler(error, {
+ updater: that,
+ contentPane: that.tabObject.contentPane,
+ tabContainer: that.tabObject.controller.tabContainer,
+ name: that.modelObj.name,
+ category: "Access Control Provider"
+ });
+ });
+ }
+
+ AccessControlProviderUpdater.prototype.updateHeader = function ()
+ {
+ this.name.innerHTML = entities.encode(String(this.accessControlProviderData["name"]));
+ this.type.innerHTML = entities.encode(String(this.accessControlProviderData["type"]));
+ this.state.innerHTML = entities.encode(String(this.accessControlProviderData["state"]));
+ };
- function AccessControlProvider(name, parent, controller)
- {
- this.name = name;
- this.controller = controller;
- this.modelObj = {
- type: "accesscontrolprovider",
- name: name,
- parent: parent
- };
- }
-
- AccessControlProvider.prototype.getTitle = function ()
- {
- return "AccessControlProvider: " + this.name;
- };
-
- AccessControlProvider.prototype.open = function (contentPane)
- {
- var that = this;
- this.contentPane = contentPane;
-
- contentPane.containerNode.innerHTML = template;
- parser.parse(contentPane.containerNode).then(function (instances)
- {
- that.accessControlProviderUpdater =
- new AccessControlProviderUpdater(that);
- var deleteButton = query(
- ".deleteAccessControlProviderButton",
- contentPane.containerNode)[0];
- var deleteWidget = registry.byNode(deleteButton);
- connect.connect(deleteWidget, "onClick", function (evt)
- {
- event.stop(evt);
- that.deleteAccessControlProvider();
- });
- });
- };
-
- AccessControlProvider.prototype.close = function ()
- {
- if (this.accessControlProviderUpdater.details)
- {
- this.accessControlProviderUpdater.details.close();
- }
- };
-
- AccessControlProvider.prototype.deleteAccessControlProvider = function ()
- {
- if (confirm("Are you sure you want to delete access control provider '" + this.name + "'?"))
- {
- var that = this;
- this.controller.management.remove(this.modelObj).then(function (data)
- {
- that.close();
- that.contentPane.onClose()
- that.controller.tabContainer.removeChild(
- that.contentPane);
- that.contentPane.destroyRecursive();
- }, util.xhrErrorHandler);
- }
- };
-
- function AccessControlProviderUpdater(aclTab)
- {
- this.tabObject = aclTab;
- var node = aclTab.contentPane.containerNode;
- var groupProviderObj = aclTab.modelObj;
- var controller = aclTab.controller;
-
- this.controller = controller;
- this.management = controller.management;
- this.modelObj = groupProviderObj;
- this.name = query(".name", node)[0];
- this.type = query(".type", node)[0];
- this.state = query(".state", node)[0];
-
- var that = this;
-
- this.management.load(this.modelObj)
- .then(function (data)
- {
- that.accessControlProviderData = data[0];
-
- util.flattenStatistics(that.accessControlProviderData);
-
- that.updateHeader();
-
- var ui = that.accessControlProviderData.type;
- require(["qpid/management/accesscontrolprovider/" + ui], function (SpecificProvider)
- {
- that.details = new SpecificProvider(query(".providerDetails",
- node)[0], groupProviderObj, controller, aclTab);
- });
- }, function (error)
- {
- util.tabErrorHandler(error, {
- updater: that,
- contentPane: that.tabObject.contentPane,
- tabContainer: that.tabObject.controller.tabContainer,
- name: that.modelObj.name,
- category: "Access Control Provider"
- });
- });
- }
-
- AccessControlProviderUpdater.prototype.updateHeader = function ()
- {
- this.name.innerHTML = entities.encode(String(this.accessControlProviderData["name"]));
- this.type.innerHTML = entities.encode(String(this.accessControlProviderData["type"]));
- this.state.innerHTML = entities.encode(String(this.accessControlProviderData["state"]));
- };
-
- return AccessControlProvider;
- });
+ return AccessControlProvider;
+ });
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js?rev=1741993&r1=1741992&r2=1741993&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js Mon May 2 15:57:52 2016
@@ -36,257 +36,262 @@ define(["dojo/parser",
"qpid/management/authenticationprovider/PrincipalDatabaseAuthenticationManager",
"dojo/text!showAuthProvider.html",
"dojo/domReady!"],
- function (parser, query, connect, properties, updater, util, UpdatableStore, EnhancedGrid, addAuthenticationProvider, event, registry, domStyle, entities, dom, PreferencesProvider, PrincipalDatabaseAuthenticationManager, template)
- {
+ function (parser,
+ query,
+ connect,
+ properties,
+ updater,
+ util,
+ UpdatableStore,
+ EnhancedGrid,
+ addAuthenticationProvider,
+ event,
+ registry,
+ domStyle,
+ entities,
+ dom,
+ PreferencesProvider,
+ PrincipalDatabaseAuthenticationManager,
+ template)
+ {
+
+ function AuthenticationProvider(name, parent, controller)
+ {
+ this.name = name;
+ this.controller = controller;
+ this.management = management;
+ this.modelObj = {
+ type: "authenticationprovider",
+ name: name,
+ parent: parent
+ };
+ }
+
+ AuthenticationProvider.prototype.getTitle = function ()
+ {
+ return "AuthenticationProvider:" + this.name;
+ };
+
+ AuthenticationProvider.prototype.open = function (contentPane)
+ {
+ var that = this;
+ this.contentPane = contentPane;
+ contentPane.containerNode.innerHTML = template;
+ parser.parse(contentPane.containerNode)
+ .then(function (instances)
+ {
+
+ var authProviderUpdater = new AuthProviderUpdater(contentPane.containerNode, that.modelObj, that.controller, that);
+ that.authProviderUpdater = authProviderUpdater;
+
+ var editButtonNode = query(".editAuthenticationProviderButton", contentPane.containerNode)[0];
+ var editButtonWidget = registry.byNode(editButtonNode);
+ editButtonWidget.on("click", function (evt)
+ {
+ event.stop(evt);
+ addAuthenticationProvider.show(that.management,
+ that.modelObj,
+ authProviderUpdater.authProviderData);
+ });
+ authProviderUpdater.editButton = editButtonWidget;
+
+ var deleteButton = query(".deleteAuthenticationProviderButton", contentPane.containerNode)[0];
+ var deleteWidget = registry.byNode(deleteButton);
+ connect.connect(deleteWidget, "onClick", function (evt)
+ {
+ event.stop(evt);
+ that.deleteAuthenticationProvider();
+ });
+
+ authProviderUpdater.update(function ()
+ {
+ if (that.management.metadata.implementsManagedInterface("AuthenticationProvider",
+ authProviderUpdater.authProviderData.type,
+ "PasswordCredentialManagingAuthenticationProvider"))
+ {
+ authProviderUpdater.managingUsersUI =
+ new PrincipalDatabaseAuthenticationManager(contentPane.containerNode, authProviderUpdater.modelObj, that.controller);
+ authProviderUpdater.managingUsersUI.update(authProviderUpdater.authProviderData);
+ }
+
+ var supportsPreferencesProvider = that.management.metadata.implementsManagedInterface(
+ "AuthenticationProvider",
+ authProviderUpdater.authProviderData.type,
+ "PreferencesSupportingAuthenticationProvider");
+ if (!supportsPreferencesProvider)
+ {
+ var preferencesPanel = query(".preferencesPanel", contentPane.containerNode);
+ if (preferencesPanel && preferencesPanel[0])
+ {
+ var preferencesProviderPanel = registry.byNode(preferencesPanel[0]);
+ domStyle.set(preferencesProviderPanel.domNode, "display", "none");
+ }
+ }
+ else
+ {
+ var preferencesProviderData = authProviderUpdater.authProviderData.preferencesproviders
+ ? authProviderUpdater.authProviderData.preferencesproviders[0]
+ : null;
+ authProviderUpdater.updatePreferencesProvider(preferencesProviderData);
+ }
+
+ updater.add(that.authProviderUpdater);
+ });
+ });
+ };
+
+ AuthenticationProvider.prototype.close = function ()
+ {
+ updater.remove(this.authProviderUpdater);
+ if (this.authProviderUpdater.details)
+ {
+ updater.remove(this.authProviderUpdater.details.authDatabaseUpdater);
+ }
+ };
+
+ AuthenticationProvider.prototype.deleteAuthenticationProvider = function ()
+ {
+ if (confirm("Are you sure you want to delete authentication provider '" + this.name + "'?"))
+ {
+ var that = this;
+ this.management.remove(this.modelObj)
+ .then(function (data)
+ {
+ that.close();
+ that.contentPane.onClose()
+ that.controller.tabContainer.removeChild(that.contentPane);
+ that.contentPane.destroyRecursive();
+ }, util.xhrErrorHandler);
+ }
+ };
+
+ function AuthProviderUpdater(node, authProviderObj, controller, authenticationProvider)
+ {
+ this.controller = controller;
+ this.management = management;
+ this.modelObj = authProviderObj;
+ this.name = query(".name", node)[0];
+ this.type = query(".type", node)[0];
+ this.state = query(".state", node)[0];
+ this.tabObject = authenticationProvider;
+ this.preferencesProviderType = dom.byId("preferencesProviderType");
+ this.preferencesProviderName = dom.byId("preferencesProviderName");
+ this.preferencesProviderState = dom.byId("preferencesProviderState");
+ this.editPreferencesProviderButton = query(".editPreferencesProviderButton", node)[0];
+ this.deletePreferencesProviderButton = query(".deletePreferencesProviderButton", node)[0];
+ this.preferencesProviderAttributes = dom.byId("preferencesProviderAttributes")
+ this.preferencesNode = query(".preferencesProviderDetails", node)[0];
+ this.authenticationProviderDetailsContainer = query(".authenticationProviderDetails", node)[0];
+ }
+
+ AuthProviderUpdater.prototype.updatePreferencesProvider = function (preferencesProviderData)
+ {
+ if (preferencesProviderData)
+ {
+ if (!this.preferencesProvider)
+ {
+ var preferencesProvider = new PreferencesProvider(preferencesProviderData.name, this.authProviderData);
+ preferencesProvider.init(this.preferencesNode, this);
+ this.preferencesProvider = preferencesProvider;
+ }
+ this.preferencesProvider.update(preferencesProviderData);
+ }
+ else
+ {
+ if (this.preferencesProvider)
+ {
+ this.preferencesProvider.update(null);
+ }
+ }
+ };
+
+ AuthProviderUpdater.prototype.onPreferencesProviderDeleted = function ()
+ {
+ this.preferencesProvider = null;
+ }
+
+ AuthProviderUpdater.prototype.updateHeader = function ()
+ {
+ this.tabObject.name = this.authProviderData["name"]
+ this.name.innerHTML = entities.encode(String(this.authProviderData["name"]));
+ this.type.innerHTML = entities.encode(String(this.authProviderData["type"]));
+ this.state.innerHTML = entities.encode(String(this.authProviderData["state"]));
+ };
+
+ AuthProviderUpdater.prototype.update = function (callback)
+ {
+ var that = this;
+ this.management.load(this.modelObj)
+ .then(function (data)
+ {
+ that._update(data[0]);
+ if (callback)
+ {
+ callback();
+ }
+ }, function (error)
+ {
+ util.tabErrorHandler(error, {
+ updater: that,
+ contentPane: that.tabObject.contentPane,
+ tabContainer: that.tabObject.controller.tabContainer,
+ name: that.modelObj.name,
+ category: "Authentication Provider"
+ });
+ });
+ };
+
+ AuthProviderUpdater.prototype._update = function (data)
+ {
+ var that = this;
+ this.authProviderData = data;
+ util.flattenStatistics(data);
+ this.updateHeader();
+
+ if (this.details)
+ {
+ this.details.update(data);
+ }
+ else
+ {
+ require(["qpid/management/authenticationprovider/" + encodeURIComponent(data.type.toLowerCase())
+ + "/show"], function (DetailsUI)
+ {
+ that.details = new DetailsUI({
+ containerNode: that.authenticationProviderDetailsContainer,
+ parent: that
+ });
+ that.details.update(data);
+ });
+ }
+
+ if (this.managingUsersUI)
+ {
+ try
+ {
+ this.managingUsersUI.update(data);
+ }
+ catch (e)
+ {
+ if (console)
+ {
+ console.error(e);
+ }
+ }
+ }
+ var preferencesProviderData = data.preferencesproviders ? data.preferencesproviders[0] : null;
+ try
+ {
+ this.updatePreferencesProvider(preferencesProviderData);
+ }
+ catch (e)
+ {
+ if (console)
+ {
+ console.error(e);
+ }
+ }
+ }
- function AuthenticationProvider(name, parent, controller)
- {
- this.name = name;
- this.controller = controller;
- this.management = management;
- this.modelObj = {
- type: "authenticationprovider",
- name: name,
- parent: parent
- };
- }
-
- AuthenticationProvider.prototype.getTitle = function ()
- {
- return "AuthenticationProvider:" + this.name;
- };
-
- AuthenticationProvider.prototype.open = function (contentPane)
- {
- var that = this;
- this.contentPane = contentPane;
- contentPane.containerNode.innerHTML = template;
- parser.parse(contentPane.containerNode).then(function (instances)
- {
-
- var authProviderUpdater = new AuthProviderUpdater(contentPane.containerNode, that.modelObj, that.controller, that);
- that.authProviderUpdater = authProviderUpdater;
-
- var editButtonNode = query(
- ".editAuthenticationProviderButton",
- contentPane.containerNode)[0];
- var editButtonWidget = registry.byNode(editButtonNode);
- editButtonWidget.on("click", function (evt)
- {
- event.stop(evt);
- addAuthenticationProvider.show(that.management,
- that.modelObj,
- authProviderUpdater.authProviderData);
- });
- authProviderUpdater.editButton = editButtonWidget;
-
- var deleteButton = query(
- ".deleteAuthenticationProviderButton",
- contentPane.containerNode)[0];
- var deleteWidget = registry.byNode(deleteButton);
- connect.connect(deleteWidget, "onClick", function (evt)
- {
- event.stop(evt);
- that.deleteAuthenticationProvider();
- });
-
- authProviderUpdater.update(function ()
- {
- if (that.management.metadata.implementsManagedInterface(
- "AuthenticationProvider",
- authProviderUpdater.authProviderData.type,
- "PasswordCredentialManagingAuthenticationProvider"))
- {
- authProviderUpdater.managingUsersUI =
- new PrincipalDatabaseAuthenticationManager(contentPane.containerNode, authProviderUpdater.modelObj, that.controller);
- authProviderUpdater.managingUsersUI.update(
- authProviderUpdater.authProviderData);
- }
-
- var supportsPreferencesProvider = that.management.metadata.implementsManagedInterface(
- "AuthenticationProvider",
- authProviderUpdater.authProviderData.type,
- "PreferencesSupportingAuthenticationProvider");
- if (!supportsPreferencesProvider)
- {
- var preferencesPanel = query(
- ".preferencesPanel",
- contentPane.containerNode);
- if (preferencesPanel
- && preferencesPanel[0])
- {
- var preferencesProviderPanel = registry.byNode(
- preferencesPanel[0]);
- domStyle.set(
- preferencesProviderPanel.domNode,
- "display",
- "none");
- }
- }
- else
- {
- var preferencesProviderData = authProviderUpdater.authProviderData.preferencesproviders
- ? authProviderUpdater.authProviderData.preferencesproviders[0]
- : null;
- authProviderUpdater.updatePreferencesProvider(
- preferencesProviderData);
- }
-
- updater.add(that.authProviderUpdater);
- });
- });
- };
-
- AuthenticationProvider.prototype.close = function ()
- {
- updater.remove(this.authProviderUpdater);
- if (this.authProviderUpdater.details)
- {
- updater.remove(this.authProviderUpdater.details.authDatabaseUpdater);
- }
- };
-
- AuthenticationProvider.prototype.deleteAuthenticationProvider = function ()
- {
- if (confirm("Are you sure you want to delete authentication provider '" + this.name + "'?"))
- {
- var that = this;
- this.management.remove(this.modelObj).then(function (data)
- {
- that.close();
- that.contentPane.onClose()
- that.controller.tabContainer.removeChild(that.contentPane);
- that.contentPane.destroyRecursive();
- }, util.xhrErrorHandler);
- }
- };
-
- function AuthProviderUpdater(node, authProviderObj, controller, authenticationProvider)
- {
- this.controller = controller;
- this.management = management;
- this.modelObj = authProviderObj;
- this.name = query(".name", node)[0];
- this.type = query(".type", node)[0];
- this.state = query(".state", node)[0];
- this.tabObject = authenticationProvider;
- this.preferencesProviderType = dom.byId("preferencesProviderType");
- this.preferencesProviderName = dom.byId("preferencesProviderName");
- this.preferencesProviderState = dom.byId("preferencesProviderState");
- this.editPreferencesProviderButton = query(".editPreferencesProviderButton", node)[0];
- this.deletePreferencesProviderButton = query(".deletePreferencesProviderButton", node)[0];
- this.preferencesProviderAttributes = dom.byId("preferencesProviderAttributes")
- this.preferencesNode = query(".preferencesProviderDetails", node)[0];
- this.authenticationProviderDetailsContainer = query(".authenticationProviderDetails", node)[0];
- }
-
- AuthProviderUpdater.prototype.updatePreferencesProvider = function (preferencesProviderData)
- {
- if (preferencesProviderData)
- {
- if (!this.preferencesProvider)
- {
- var preferencesProvider = new PreferencesProvider(preferencesProviderData.name, this.authProviderData);
- preferencesProvider.init(this.preferencesNode, this);
- this.preferencesProvider = preferencesProvider;
- }
- this.preferencesProvider.update(preferencesProviderData);
- }
- else
- {
- if (this.preferencesProvider)
- {
- this.preferencesProvider.update(null);
- }
- }
- };
-
- AuthProviderUpdater.prototype.onPreferencesProviderDeleted = function ()
- {
- this.preferencesProvider = null;
- }
-
- AuthProviderUpdater.prototype.updateHeader = function ()
- {
- this.tabObject.name = this.authProviderData["name"]
- this.name.innerHTML = entities.encode(String(this.authProviderData["name"]));
- this.type.innerHTML = entities.encode(String(this.authProviderData["type"]));
- this.state.innerHTML = entities.encode(String(this.authProviderData["state"]));
- };
-
- AuthProviderUpdater.prototype.update = function (callback)
- {
- var that = this;
- this.management.load(this.modelObj).then(function (data)
- {
- that._update(data[0]);
- if (callback)
- {
- callback();
- }
- }, function (error)
- {
- util.tabErrorHandler(error, {
- updater: that,
- contentPane: that.tabObject.contentPane,
- tabContainer: that.tabObject.controller.tabContainer,
- name: that.modelObj.name,
- category: "Authentication Provider"
- });
- });
- };
-
- AuthProviderUpdater.prototype._update = function (data)
- {
- var that = this;
- this.authProviderData = data;
- util.flattenStatistics(data);
- this.updateHeader();
-
- if (this.details)
- {
- this.details.update(data);
- }
- else
- {
- require(["qpid/management/authenticationprovider/" + encodeURIComponent(data.type.toLowerCase())
- + "/show"], function (DetailsUI)
- {
- that.details = new DetailsUI({
- containerNode: that.authenticationProviderDetailsContainer,
- parent: that
- });
- that.details.update(data);
- });
- }
-
- if (this.managingUsersUI)
- {
- try
- {
- this.managingUsersUI.update(data);
- }
- catch (e)
- {
- if (console)
- {
- console.error(e);
- }
- }
- }
- var preferencesProviderData = data.preferencesproviders ? data.preferencesproviders[0] : null;
- try
- {
- this.updatePreferencesProvider(preferencesProviderData);
- }
- catch (e)
- {
- if (console)
- {
- console.error(e);
- }
- }
- }
-
- return AuthenticationProvider;
- });
+ return AuthenticationProvider;
+ });
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org