QPID-8275: [Broker-J][WMC] Add UI to set queue exclusivity
(cherry picked from commit b84bfe722194dd317d4c8dd7df65df1e15b7128b)
diff --git a/broker-plugins/management-http/src/main/java/resources/addQueue.html b/broker-plugins/management-http/src/main/java/resources/addQueue.html
index 168158c..21296c9 100644
--- a/broker-plugins/management-http/src/main/java/resources/addQueue.html
+++ b/broker-plugins/management-http/src/main/java/resources/addQueue.html
@@ -284,7 +284,7 @@
<div class="clear formBox">
<fieldset>
- <legend>Other Settings</legend>
+ <legend>Dead Lettering</legend>
<div class="clear">
<div class="formLabel-labelCell">Maximum Delivery Retries:</div>
<div class="formLabel-controlCell">
@@ -314,7 +314,11 @@
<div class="clear"></div>
<div class="infoMessage">Configuring maximum delivery retries on a queue which has no alternate binding (DLQ or exchange) will result in messages being discarded after the limit is reached.</div>
-
+ </fieldset>
+ </div>
+ <div class="clear formBox">
+ <fieldset>
+ <legend>Message Grouping</legend>
<div class="clear">
<div class="formLabel-labelCell">Message Group Type:</div>
<div class="formLabel-controlCell">
@@ -341,6 +345,26 @@
trim: true"/>
</div>
</div>
+ </fieldset>
+ </div>
+ <div class="clear formBox">
+ <fieldset>
+ <legend>Other Settings</legend>
+
+ <div class="clear">
+ <div class="formLabel-labelCell">Exclusivity:</div>
+ <div class="formLabel-controlCell">
+ <input id="formAddQueue.exclusive"
+ data-dojo-type="dijit/form/FilteringSelect"
+ data-dojo-props="
+ name: 'exclusive',
+ required: false,
+ promptMessage: 'Exclusivity of Queue',
+ title: 'Select the queue exclusivity'"/>
+ </div>
+ </div>
+ <div class="clear"></div>
+
<div class="clear">
<div class="formLabel-labelCell">Hold on Publish Enabled?</div>
<div class="formLabel-controlCell">
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js
index 337c94d..7e72242 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js
@@ -93,6 +93,7 @@
this.context = registry.byId("formAddQueue.context");
this.overflowPolicyWidget = registry.byId("formAddQueue.overflowPolicy");
this.messageGroupTypeWidget = registry.byId("formAddQueue.messageGroupType");
+ this.exclusivityWidget = registry.byId("formAddQueue.exclusive");
this.editNodeBanner = dom.byId("addQueue.editNoteBanner");
@@ -226,7 +227,10 @@
var validGroupingValueStore = util.makeTypeStore(validGroupingValues);
this.messageGroupTypeWidget.set("store", validGroupingValueStore);
-
+ var exclusivityOptions = this.management.metadata.getMetaData("Queue",
+ this.initialData.type).attributes.exclusive.validValues;
+ var exclusivityOptionStore = util.makeTypeStore(exclusivityOptions);
+ this.exclusivityWidget.set("store", exclusivityOptionStore);
util.applyToWidgets(this.form.domNode,
"Queue",
this.initialData.type,