You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2014/08/16 17:03:23 UTC

svn commit: r1618373 [1/2] - in /qpid/trunk/qpid/java: bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/ bdbstore/src/main/java/resources/virtualhost/bdb_ha/ bdbstore/src/main/java/resources/virtualhostnode/bdb/ bdbstore/src/main/...

Author: kwall
Date: Sat Aug 16 15:03:21 2014
New Revision: 1618373

URL: http://svn.apache.org/r1618373
Log:
QPID-6006: [Java Broker] UI to expose attribute defaults during create and edit workflows

* Metadata service now used to discover the attributes for each category instance type.
* Create/edit dialogues now have promptMessages to provide a fuller description of the field's purpose
* If the attribute has a default, the default is interpolated into the promptMessage in a standard way.

Added:
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/metadata.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/widgetconfigurer.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/strings.html
Modified:
    qpid/trunk/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/edit.js
    qpid/trunk/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/show.js
    qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhost/bdb_ha/edit.html
    qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb/add.html
    qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add.html
    qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/existinggroup/add.html
    qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/newgroup/add.html
    qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/edit.html
    qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhost/derby/edit.js
    qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/resources/virtualhostnode/derby/add.html
    qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhostnode/jdbc/add.html
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addBinding.html
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addExchange.html
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addQueue.html
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addVirtualHostNodeAndVirtualHost.html
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/css/common.css
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/editVirtualHost.html
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/index.html
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/KeyStore.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAccessControlProvider.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addBinding.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addGroupProvider.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addKeystore.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addVirtualHostNodeAndVirtualHost.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHost.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHostNode.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/plugin/managementhttp.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/plugin/managementjmx.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/providedstore/add.html
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/providedstore/edit.html
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/add.html
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/edit.html

Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/edit.js
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/edit.js?rev=1618373&r1=1618372&r2=1618373&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/edit.js (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/edit.js Sat Aug 16 15:03:21 2014
@@ -16,10 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-define(["qpid/common/util", "dijit/registry", "dojo/_base/window", "dojo/domReady!"],
-   function (util, registry, win)
+define(["qpid/common/util", "qpid/common/metadata", "dijit/registry", "dojo/_base/window", "dojo/domReady!"],
+   function (util, metadata, registry, win)
    {
-       var fieldNames = ["storeUnderfullSize", "storeOverfullSize"];
+       var fieldNames = ["storeUnderfullSize", "storeOverfullSize",
+                         "localTransactionSynchronizationPolicy", "remoteTransactionSynchronizationPolicy"];
        return {
            show: function(data)
            {
@@ -28,17 +29,6 @@ define(["qpid/common/util", "dijit/regis
               registry.byId("editVirtualHost.storeUnderfullSize").set("regExpGen", util.numericOrContextVarRegexp);
               registry.byId("editVirtualHost.storeOverfullSize").set("regExpGen", util.numericOrContextVarRegexp);
 
-              var widget = registry.byId("editVirtualHost.localTransactionSynchronizationPolicy-" + data.data["localTransactionSynchronizationPolicy"]);
-              if (widget)
-              {
-                widget.set("checked", true);
-              }
-              widget = registry.byId("editVirtualHost.remoteTransactionSynchronizationPolicy-" + data.data["remoteTransactionSynchronizationPolicy"]);
-              if (widget)
-              {
-                widget.set("checked", true);
-              }
-
               var that = this;
               this.permittedNodes = registry.byId("editVirtualHost.permittedNodes");
               this.permittedNodesList = registry.byId("editVirtualHost.permittedNodesList");

Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/show.js
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/show.js?rev=1618373&r1=1618372&r2=1618373&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/show.js (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/show.js Sat Aug 16 15:03:21 2014
@@ -47,8 +47,8 @@ define(["qpid/common/util", "dojo/query"
         }
         this["permittedNodes"].innerHTML = permittedNodesMarkup ;
 
-        var localSyncPolicy =  data[localTransactionSynchronizationPolicy].toLowerCase();
-        var remoteSyncPolicy =  data[remoteTransactionSynchronizationPolicy].toLowerCase();
+        var localSyncPolicy =  data[localTransactionSynchronizationPolicy] ? data[localTransactionSynchronizationPolicy].toLowerCase() : "";
+        var remoteSyncPolicy =  data[remoteTransactionSynchronizationPolicy] ? data[remoteTransactionSynchronizationPolicy].toLowerCase() : "";
 
         for(var i=0; i<this[localTransactionSynchronizationPolicy].children.length;i++)
         {

Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhost/bdb_ha/edit.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhost/bdb_ha/edit.html?rev=1618373&r1=1618372&r2=1618373&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhost/bdb_ha/edit.html (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhost/bdb_ha/edit.html Sat Aug 16 15:03:21 2014
@@ -27,7 +27,8 @@
                               name: 'storeOverfullSize',
                               placeHolder: 'size in bytes',
                               required: false,
-                              title: 'Enter ceiling (in bytes) at which store will begin to throttle sessions producing messages'"/>
+                              title: 'Enter ceiling (in bytes) at which store will begin to throttle sessions producing messages',
+                              promptMessage: 'Ceiling (in bytes) at which store will begin to throttle sessions producing messages'"/>
         </div>
     </div>
     <div class="clear">
@@ -39,7 +40,8 @@
                               name: 'storeUnderfullSize',
                               placeHolder: 'size in bytes',
                               required: false,
-                              title: 'Enter floor (in bytes) at which store will cease to throttle sessions producing messages'"/>
+                              title: 'Enter floor (in bytes) at which store will cease to throttle sessions producing messages',
+                              promptMessage: 'Floor (in bytes) at which store will cease to throttle sessions producing messages'"/>
         </div>
     </div>
 
@@ -74,8 +76,9 @@
                            data-dojo-props="
                                       name: 'permittedNode',
                                       placeHolder: 'host:port',
-                                      title: 'Enter address',
-                                      intermediateChanges: true" />
+                                      intermediateChanges: true,
+                                      title: 'Enter address of node to be permitted into the group',
+                                      promptMessage: 'Address of node to be permitted into the group'" />
                 </div>
                 <button data-dojo-type="dijit/form/Button" id="editVirtualHost.permittedNodeAdd" data-dojo-props="label: '+'"></button>
             </div>
@@ -86,42 +89,30 @@
 
     <div class="formBox clear">
         <fieldset>
-        <legend>High availability durability</legend>
-        <div>
-            <div class="haOptionLabel">Master transaction sync policy</div>
+            <legend>High availability durability</legend>
             <div>
-                <input data-dojo-type="dijit/form/RadioButton" type="radio" name="localTransactionSynchronizationPolicy" value="SYNC" id="editVirtualHost.localTransactionSynchronizationPolicy-SYNC"/>
-                <label>SYNC (the transaction will be written and synchronized to the disk; highest durability)</label>
-            </div>
-
-            <div>
-                <input data-dojo-type="dijit/form/RadioButton" type="radio" name="localTransactionSynchronizationPolicy" value="WRITE_NO_SYNC" id="editVirtualHost.localTransactionSynchronizationPolicy-WRITE_NO_SYNC"/>
-                <label>WRITE_NO_SYNC (the transaction will be written only; the synchronization will be performed later)</label>
-            </div>
+                <div class="haOptionLabel">Master transaction sync policy</div>
 
-            <div>
-                <input data-dojo-type="dijit/form/RadioButton" type="radio" name="localTransactionSynchronizationPolicy" value="NO_SYNC" id="editVirtualHost.localTransactionSynchronizationPolicy-NO_SYNC"/>
-                <label>NO_SYNC (write later; the transaction will be written and synchronized later; lowest durability)</label>
-            </div>
-        </div>
-        <br/>
-        <div>
-            <div class="haOptionLabel">Replica transaction sync policy</div>
-            <div>
-                <input data-dojo-type="dijit/form/RadioButton" type="radio" name="remoteTransactionSynchronizationPolicy" value="SYNC"  id="editVirtualHost.remoteTransactionSynchronizationPolicy-SYNC"/>
-                <label>SYNC (the transaction will be written and synchronized to the disk; highest durability)</label>
+                <select id="editVirtualHost.localTransactionSynchronizationPolicy"
+                        name="localTransactionSynchronizationPolicy"
+                        data-dojo-type="dojox/form/CheckedMultiSelect">
+                    <option value="SYNC">SYNC (the transaction will be written and synchronized to the disk; highest durability)</option>
+                    <option value="WRITE_NO_SYNC">WRITE_NO_SYNC (the transaction will be written only; the synchronization will be performed later)</option>
+                    <option value="NO_SYNC">NO_SYNC (write later; the transaction will be written and synchronized later; lowest durability)</option>
+                </select>
+            </div>
+            <br/>
+            <div>
+                <div class="haOptionLabel">Replica transaction sync policy</div>
+
+                <select id="editVirtualHost.remoteTransactionSynchronizationPolicy"
+                        name="remoteTransactionSynchronizationPolicy"
+                        data-dojo-type="dojox/form/CheckedMultiSelect">
+                    <option value="SYNC">SYNC (the transaction will be written and synchronized to the disk; highest durability)</option>
+                    <option value="WRITE_NO_SYNC">WRITE_NO_SYNC (the transaction will be written only; the synchronization will be performed later)</option>
+                    <option value="NO_SYNC">NO_SYNC (write later; the transaction will be written and synchronized later; lowest durability)</option>
+                </select>
             </div>
-
-            <div>
-                <input data-dojo-type="dijit/form/RadioButton" type="radio" name="remoteTransactionSynchronizationPolicy"  value="WRITE_NO_SYNC"  id="editVirtualHost.remoteTransactionSynchronizationPolicy-WRITE_NO_SYNC"/>
-                <label>WRITE_NO_SYNC (the transaction will be written only; the synchronization will be performed later)</label>
-            </div>
-
-            <div>
-                <input data-dojo-type="dijit/form/RadioButton" type="radio" name="remoteTransactionSynchronizationPolicy" value="NO_SYNC"  id="editVirtualHost.remoteTransactionSynchronizationPolicy-NO_SYNC"/>
-                <label>NO_SYNC (write later; the transaction will be written and synchronized later; lowest durability)</label>
-            </div>
-        </div>
         </fieldset>
     </div>
 

Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb/add.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb/add.html?rev=1618373&r1=1618372&r2=1618373&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb/add.html (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb/add.html Sat Aug 16 15:03:21 2014
@@ -27,7 +27,8 @@
                           data-dojo-props="
                               name: 'storePath',
                               placeHolder: 'path/to/store',
-                              title: 'Enter store path'" />
+                              title: 'Enter store path',
+                              promptMessage: 'File system location for the configuration store.'"/>
       </div>
     </div>
 

Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add.html?rev=1618373&r1=1618372&r2=1618373&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add.html (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add.html Sat Aug 16 15:03:21 2014
@@ -31,7 +31,9 @@
                      data-dojo-props="store:groupStore,
                                       searchAttr:'name',
                                       required: true,
-                                      placeHolder: 'choose new or existing'"
+                                      placeHolder: 'choose new or existing',
+                                      promptMessage: 'Create a new group or join to an existing one',
+                                      title: 'Choose whether to create a new group or join to an existing one'"
                      name="group"
                      id="addVirtualHostNode.group" />
           </div>

Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/existinggroup/add.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/existinggroup/add.html?rev=1618373&r1=1618372&r2=1618373&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/existinggroup/add.html (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/existinggroup/add.html Sat Aug 16 15:03:21 2014
@@ -30,8 +30,8 @@
                                   name: 'groupName',
                                   placeHolder: 'group name',
                                   required: true,
-                                  missingMessage: 'The group name must be supplied',
-                                  title: 'Enter the group name'" />
+                                  promptMessage: 'Name of the existing group',
+                                  title: 'Enter name of the existing group'," />
                 </div>
             </div>
             <div class="clear">
@@ -43,8 +43,8 @@
                                   name: 'helperNodeName',
                                   placeHolder: 'node name from group',
                                   required: true,
-                                  missingMessage: 'A node name must be supplied',
-                                  title: 'Enter a node name'" />
+                                  promptMessage: 'Node name of an existing group member.',
+                                  title: 'Enter node name of an existing member of the group'" />
                 </div>
             </div>
             <div class="clear">
@@ -56,8 +56,8 @@
                                   name: 'helperAddress',
                                   placeHolder: 'node address from group',
                                   required: true,
-                                  missingMessage: 'Node host and port must be supplied',
-                                  title: 'Enter address'" />
+                                  promptMessage: 'Node address of the existing group member.',
+                                  title: 'Enter node address of the existing group member'" />
                 </div>
             </div>
         </fieldset>
@@ -76,8 +76,8 @@
                               name: 'address',
                               placeHolder: 'host:port',
                               required: true,
-                              missingMessage: 'Node host and port must be supplied',
-                              title: 'Enter address'" />
+                              promptMessage: 'Node hostname and port number that new node will use.<br/>Other nodes will use connect to this address to replicate messages',
+                              title: 'Enter node hostname and port number that new node will use'" />
                 </div>
             </div>
             <div class="clear">
@@ -88,7 +88,8 @@
                            data-dojo-props="
                               name: 'storePath',
                               placeHolder: 'path/to/store',
-                              title: 'Enter store path'" />
+                              promptMessage: 'File system location for the store',
+                              title: 'Enter file system location for the store'" />
                 </div>
             </div>
         </fieldset>

Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/newgroup/add.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/newgroup/add.html?rev=1618373&r1=1618372&r2=1618373&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/newgroup/add.html (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/newgroup/add.html Sat Aug 16 15:03:21 2014
@@ -27,8 +27,8 @@
                               name: 'groupName',
                               placeHolder: 'group name',
                               required: true,
-                              missingMessage: 'A group name must be supplied',
-                              title: 'Enter a group name'" />
+                              title: 'Enter name to identify the new group',
+                              promptMessage: 'Name to identify the new group.'"/>
       </div>
     </div>
     <div class="clear">
@@ -40,8 +40,8 @@
                               name: 'address',
                               placeHolder: 'host:port',
                               required: true,
-                              missingMessage: 'Node host and port must be supplied',
-                              title: 'Enter address'" />
+                              title: 'Enter node hostname and port number that new node will use',
+                              promptMessage: 'Node hostname and port number that new node will use.<br/>Other nodes will use connect to this address to replicate messages'" />
       </div>
     </div>
     <div class="clear">
@@ -52,7 +52,8 @@
                           data-dojo-props="
                               name: 'storePath',
                               placeHolder: 'path/to/store',
-                              title: 'Enter store path'" />
+                              title: 'Enter file system location for the store',
+                              promptMessage: 'File system location for the store'" />
       </div>
     </div>
     <div class="clear formBox">
@@ -66,7 +67,7 @@
                            data-dojo-props="
                                       name: 'permittedNodesList',
                                       readOnly : 'true',
-                                      title: 'Enter permitted nodes'">
+                                      title: 'Enter list of the other node address that will form the group'">
                     </select> <!-- must use closing tag rather than shorthand - dojo bug? -->
                 </div>
                 <button data-dojo-type="dijit/form/Button" id="addVirtualHostNode.permittedNodeRemove" data-dojo-props="label: '-'" ></button>
@@ -81,8 +82,9 @@
                            data-dojo-props="
                                       name: 'permittedNode',
                                       placeHolder: 'host:port',
-                                      title: 'Enter address',
-                                      intermediateChanges: true" />
+                                      intermediateChanges: true,
+                                      title: 'Enter address of node to be permitted into the group',
+                                      promptMessage: 'Address of node to be permitted into the group'" />
                 </div>
                 <button data-dojo-type="dijit/form/Button" id="addVirtualHostNode.permittedNodeAdd" data-dojo-props="label: '+'"></button>
             </div>

Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/edit.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/edit.html?rev=1618373&r1=1618372&r2=1618373&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/edit.html (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/edit.html Sat Aug 16 15:03:21 2014
@@ -25,8 +25,7 @@
                                     placeHolder: 'Group Name',
                                     required: true,
                                     disabled: true,
-                                    missingMessage: 'A group name must be supplied',
-                                    title: 'Enter group name'" />
+                                    title: 'Name of the group'" />
         </div>
     </div>
     <div class="clear">
@@ -39,9 +38,7 @@
                                     placeHolder: 'host:port',
                                     required: true,
                                     disabled: true,
-                                    missingMessage: 'A Host and Port must be supplied',
-                                    invalidMessage: 'Must be of the form host:port',
-                                    title: 'Enter Host and Port name'" />
+                                    title: 'Node address of the group member'" />
         </div>
     </div>
     <div class="clear">
@@ -51,8 +48,9 @@
                    data-dojo-type="dijit/form/ValidationTextBox"
                    data-dojo-props="
                                   name: 'storePath',
-                                  placeHolder: 'path/to/store',
-                                  title: 'Enter configuration store path'" />
+                                  title: 'File system location for the store',
+                                  promptMessage: 'File system location for the store'" />
+
         </div>
     </div>
     <div class="clear">
@@ -63,7 +61,8 @@
                    data-dojo-props="
                                     name: 'designatedPrimary',
                                     required: false,
-                                    title: 'Designate node as primary. It is applicable only to 2-nodes cluster'" />
+                                    title: 'Designate node as primary allowing it to operate solo in a group of two.',
+                                    promptMessage: 'Designate node as primary allowing it to operate solo operate solo in a group of two'" />
         </div>
     </div>
     <div class="clear">
@@ -80,8 +79,9 @@
                    data-dojo-props="
                                 name: 'priority',
                                 required: false,
-                                title: 'Select node priority for election as a Master',
                                 store: nodePriorityStore,
+                                title: 'Set the election priority associated with this node',
+                                promptMessage: 'Election priority associated with this node.<br/>Elections will choose the node with the most recent transactions.<br/>If there is a tie, priority is used as a tie-breaker.',
                                 searchAttr: 'name'" />
         </div>
     </div>
@@ -95,7 +95,8 @@
                    data-dojo-props="
                                 name: 'quorumOverride',
                                 required: false,
-                                title: 'Enter quorum override. 0 signifies simple majority',
+                                title: 'Select minimum required number of nodes or choose Majority',
+                                promptMessage: 'Modifies the minimum number of nodes required to be present to elect a master or commit transactions.<br/>Majority signifies that a natural majority of nodes must be present.',
                                 store: nodeQuorumOverrideStore,
                                 searchAttr: 'name'" />
         </div>

Modified: qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhost/derby/edit.js
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhost/derby/edit.js?rev=1618373&r1=1618372&r2=1618373&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhost/derby/edit.js (original)
+++ qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhost/derby/edit.js Sat Aug 16 15:03:21 2014
@@ -16,8 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-define(["qpid/common/util", "dojo/domReady!"],
-   function (util)
+define(["qpid/common/util", "dijit/registry", "dojo/domReady!"],
+   function (util, registry)
    {
        var fieldNames = ["storeUnderfullSize", "storeOverfullSize", "storePath"];
        return {

Modified: qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/resources/virtualhostnode/derby/add.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/resources/virtualhostnode/derby/add.html?rev=1618373&r1=1618372&r2=1618373&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/resources/virtualhostnode/derby/add.html (original)
+++ qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/resources/virtualhostnode/derby/add.html Sat Aug 16 15:03:21 2014
@@ -27,7 +27,8 @@
                           data-dojo-props="
                               name: 'storePath',
                               placeHolder: 'path/to/store',
-                              title: 'Enter store path'" />
+                              title: 'Enter store path',
+                              promptMessage: 'File system location for the configuration store'"/>
       </div>
     </div>
     <div class="clear"></div>

Modified: qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhostnode/jdbc/add.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhostnode/jdbc/add.html?rev=1618373&r1=1618372&r2=1618373&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhostnode/jdbc/add.html (original)
+++ qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/resources/virtualhostnode/jdbc/add.html Sat Aug 16 15:03:21 2014
@@ -28,7 +28,7 @@
                               name: 'connectionUrl',
                               placeHolder: 'jdbc:provider:info',
                               required: true,
-                              missingMessage: 'JDBC URL must be supplied',
+                              promptMessage: 'JDBC URL specifying the connection to the database',
                               title: 'Enter JDBC URL'"/>
       </div>
     </div>
@@ -41,7 +41,7 @@
                               name: 'username',
                               placeHolder: 'username',
                               required: true,
-                              missingMessage: 'Username must be supplied',
+                              promptMessage: 'Database user name',
                               title: 'Enter username'" />
         </div>
     </div>
@@ -54,7 +54,7 @@
                               name: 'password',
                               placeHolder: 'password',
                               required: true,
-                              missingMessage: 'Password must be supplied',
+                              promptMessage: 'Database password',
                               title: 'Enter password'" />
         </div>
     </div>
@@ -66,8 +66,8 @@
                           data-dojo-props="
                               name: 'connectionPoolType',
                               required: true,
-                              missingMessage: 'Connection Pool type must be supplied',
-                              title: 'Select Connection Pool',
+                              promptMessage: 'Connection pool type to use when connecting to the database',
+                              title: 'Select the connection pool type',
                               placeHolder: 'Select pool type'" />
       </div>
     </div>

Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java?rev=1618373&r1=1618372&r2=1618373&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java Sat Aug 16 15:03:21 2014
@@ -143,7 +143,12 @@ public class MessageServlet extends Abst
             throw new IllegalArgumentException("Could not find virtual host with name '" + vhostName + "'");
         }
 
-        return getQueueFromVirtualHost(queueName, vhost);
+        Queue queueFromVirtualHost = getQueueFromVirtualHost(queueName, vhost);
+        if (queueFromVirtualHost == null)
+        {
+            throw new IllegalArgumentException("Could not find queue with name '" + queueName  + "' on virtual host '" + vhost.getName() + "'");
+        }
+        return queueFromVirtualHost;
     }
 
     private Queue getQueueFromVirtualHost(String queueName, VirtualHost<?,?,?> vhost)

Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addBinding.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addBinding.html?rev=1618373&r1=1618372&r2=1618373&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addBinding.html (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addBinding.html Sat Aug 16 15:03:21 2014
@@ -39,7 +39,7 @@
                               name: 'name',
                               placeHolder: 'Binding Key',
                               required: true,
-                              missingMessage: 'A binding key must be supplied',
+                              promptMessage: 'Binding key',
                               title: 'Enter binding key'" />
                 </div>
             </div>

Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addExchange.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addExchange.html?rev=1618373&r1=1618372&r2=1618373&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addExchange.html (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addExchange.html Sat Aug 16 15:03:21 2014
@@ -21,32 +21,53 @@
 <div class="dijitHidden">
     <div data-dojo-type="dijit.Dialog" style="width:600px;" data-dojo-props="title:'Add Exchange'" id="addExchange">
         <form id="formAddExchange" method="post" dojoType="dijit.form.Form">
-            <table cellpadding="0" cellspacing="2">
-                <tr>
-                    <td valign="top"><strong>Exchange Name*: </strong></td>
-                    <td><input type="text" required="true" name="name" id="formAddExchange.name" placeholder="Exchange Name"
-                        dojoType="dijit.form.ValidationTextBox" missingMessage="A name must be supplied"
-                        data-dojo-props="regExp:'^(?!qpid\.|amq\.|\<\<default\>\>)[\x20-\x2e\x30-\x7F]{1,255}$', invalidMessage:'Illegal or reserved exchange name!'"/></td>
-                </tr>
-                <tr>
-                    <td valign="top"><strong>Durable? </strong></td>
-                    <td><input type="checkbox" name="durable" id="formAddExchange.durable" value="durable" checked="checked" dojoType="dijit.form.CheckBox" /></td>
-                </tr>
-                <tr>
-                    <td valign="top"><strong>Exchange Type: </strong></td>
-                    <td>
-                        <select name="type" id="formAddExchange.type" dojoType="dijit.form.FilteringSelect">
-                            <option value="direct">direct</option>
-                            <option value="topic">topic</option>
-                            <option value="headers">headers</option>
-                            <option value="fanout">fanout</option>
-                        </select>
-                    </td>
-                </tr>
-            </table>
+            <div class="clear">
+                <div class="formLabel-labelCell">Name*:</div>
+                <div class="formLabel-controlCell">
+                    <input type="text" id="formAddExchange.name"
+                           data-dojo-type="dijit/form/ValidationTextBox"
+                           data-dojo-props="
+                              name: 'name',
+                              placeHolder: 'exchange name',
+                              required: true,
+                              promptMessage: 'Name of exchange',
+                              title: 'Enter an exchange name',
+                              regExp:'^(?!qpid\.|amq\.|\<\<default\>\>)[\x20-\x2e\x30-\x7F]{1,255}$',
+                              invalidMessage:'Illegal or reserved exchange name!'"/>
+                </div>
+            </div>
+            <div class="clear">
+                <div class="formLabel-labelCell">Exchange Type:</div>
+                <div class="formLabel-controlCell">
+                    <select id="formAddExchange.type"
+                            dojoType="dijit.form.FilteringSelect"
+                            data-dojo-props="
+                              name: 'type',
+                              promptMessage: 'Type of exchange - responsible for routing messages to queues'">
+                        <option value="direct">direct</option>
+                        <option value="topic">topic</option>
+                        <option value="headers">headers</option>
+                        <option value="fanout">fanout</option>
+                    </select>
+                </div>
+            </div>
+            <div class="clear">
+                <div class="formLabel-labelCell">Durable?</div>
+                <div class="formLabel-controlCell">
+                    <input type="checkbox" id="formAddExchange.durable"
+                           dojoType="dijit.form.CheckBox"
+                           data-dojo-props="
+                              name: 'durable',
+                              value: 'durable',
+                              checked: true"/>
+                </div>
+            </div>
+
+
+            <div class="clear"></div>
+
             <div class="dijitDialogPaneActionBar">
-            <!-- submit buttons -->
-            <input type="submit" value="Create Exchange" label="Create Exchange" dojoType="dijit.form.Button" />
+                <input type="submit" value="Create Exchange" label="Create Exchange" dojoType="dijit.form.Button" />
             </div>
         </form>
     </div>

Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html?rev=1618373&r1=1618372&r2=1618373&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html Sat Aug 16 15:03:21 2014
@@ -24,35 +24,77 @@
             <div style="height:320px; width:420px; overflow: auto">
             <div class="hidden" id="portEditWarning">NOTE: changes will only take effect after Broker restart.</div>
             <div id="formAddPort:fields">
-                <input type="text" required="true" name="name" id="formAddPort.name" placeholder="Name"
-                    data-dojo-props="label: 'Name*:'" dojoType="dijit.form.ValidationTextBox"
-                    missingMessage="A name must be supplied"/>
+                <input id="formAddPort.name" type="text"
+                    dojoType="dijit.form.ValidationTextBox"
+                    data-dojo-props="
+                        name: 'name',
+                        label: 'Port Number*:',
+                        required: 'true',
+                        placeHolder: 'name',
+                        promptMessage: 'Name of port, must be unique',
+                        title: 'Enter name of port'"/>
 
-                <input type="text" required="true" id="formAddPort.port"
-                    data-dojo-props="label: 'Port Number*:', placeHolder: 'Enter port number'" dojoType="dijit.form.ValidationTextBox"
-                     name="port" missingMessage="A port number must be supplied"/>
-                <select id="formAddPort.type" data-dojo-type="dijit.form.FilteringSelect"
-                    data-dojo-props="name: 'type', value: '',placeHolder: 'Select Port Type', label: 'Port Type*:'">
+                <input id="formAddPort.port" type="text"
+                    dojoType="dijit.form.ValidationTextBox"
+                    data-dojo-props="
+                        name: 'port',
+                        label: 'Port Number*:',
+                        required: 'true',
+                        placeHolder: 'port number',
+                        promptMessage: 'Port number to be bound',
+                        title: 'Enter port number'"/>
+                <select id="formAddPort.type"
+                    data-dojo-type="dijit.form.FilteringSelect"
+                    data-dojo-props="
+                        name: 'type',
+                        label: 'Port Type*:',
+                        value: '',
+                        placeHolder: 'port type',
+                        promptMessage: 'Port type',
+                        title: 'Enter port type'">
                     <option value="AMQP" selected="selected">AMQP</option>
                     <option value="JMX">JMX</option>
                     <option value="HTTP">HTTP</option>
                 </select>
             </div>
             <div id="formAddPort:fieldsAuthenticationProvider">
-                <select id="formAddPort.authenticationProvider" data-dojo-type="dijit.form.FilteringSelect"
-                    data-dojo-props="name:'authenticationProvider',label:'Authentication Provider*:', searchAttr: 'name', required: true, placeHolder: 'Select Provider'">
+                <select id="formAddPort.authenticationProvider"
+                        data-dojo-type="dijit.form.FilteringSelect"
+                        data-dojo-props="
+                            name: 'authenticationProvider',
+                            label: 'Authentication Provider*:',
+                            searchAttr: 'name',
+                            required: true,
+                            placeHolder: 'provider',
+                            promptMessage: 'Authentication provider to authenticate users connecting to the port',
+                            title: 'Associate the port with an authentication provider'">
                 </select>
             </div>
             <div id="formAddPort:fieldsBindingAddress">
-                <input id="formAddPort.bindingAddress" type="text" name="bindingAddress" placeholder="*"
-                       dojoType="dijit.form.TextBox" data-dojo-props="label: 'Binding address:'"/>
+                <input id="formAddPort.bindingAddress" type="text"
+                       data-dojo-type="dijit.form.ValidationTextBox"
+                       data-dojo-props="
+                            name: 'bindingAddress',
+                            label: 'Binding address:',
+                            placeHolder: 'binding address',
+                            promptMessage: 'Restricts the port to listen on the specified address only. The <code>*</code> wildcard signifies all addresses',
+                            title: 'Enter a binding address'"/>
             </div>
             <div id="formAddPort:fieldsAMQP">
-                <input id="formAddPort.protocolsDefault" type="checkbox" checked="checked"
-                   dojoType="dijit.form.CheckBox" data-dojo-props="label: 'Support default protocols:'"/>
-                <select id="formAddPort.protocolsAMQP" name="protocols" data-dojo-type="dijit.form.MultiSelect" multiple="true"
-                    data-dojo-props="name: 'protocols', value: '', placeHolder: 'Select AMQP versions', label: 'AMQP versions:'"
-                    missingMessage="AMQP protocol(s) must be supplied">
+                <input id="formAddPort.protocolsDefault" type="checkbox"
+                       checked="checked"
+                       dojoType="dijit.form.CheckBox"
+                       data-dojo-props="label: 'Support default protocols:'"/>
+                <select id="formAddPort.protocolsAMQP"
+                        data-dojo-type="dijit.form.MultiSelect"
+                        data-dojo-props="
+                            name: 'protocols',
+                            label: 'AMQP protocols:',
+                            value: '',
+                            placeHolder: 'AMQP protocols',
+                            promptMessage: 'AMQP protocols to be associated with this port',
+                            title: 'Select AMQP protocols to be associated with this port',
+                            multiple: true">
                     <option value="AMQP_0_8">AMQP 0.8</option>
                     <option value="AMQP_0_9">AMQP 0.9</option>
                     <option value="AMQP_0_9_1">AMQP 0.9.1</option>
@@ -61,40 +103,80 @@
                 </select>
             </div>
             <div id="formAddPort:fieldsJMX">
-                <select id="formAddPort.protocolsJMX" name="protocols" data-dojo-type="dijit.form.FilteringSelect"
-                    data-dojo-props="name: 'protocols', value: '', label: 'JMX protocol*:'" missingMessage="JMX protocol must be supplied">
+                <select id="formAddPort.protocolsJMX"
+                        data-dojo-type="dijit.form.FilteringSelect"
+                        data-dojo-props="
+                            name: 'protocols',
+                            value: '',
+                            label: 'JMX protocol*:',
+                            promptMessage: 'JMX protocol to be associated with this port',
+                            title: 'Enter JMX protocol to be associated with this port'">
                      <option value="RMI">RMI</option>
                      <option value="JMX_RMI">JMX RMI</option>
                  </select>
             </div>
             <div id="formAddPort:fieldsHTTP">
-                <select id="formAddPort.protocolsHTTP" name="protocols" data-dojo-type="dijit.form.FilteringSelect"
-                    data-dojo-props="name: 'protocols', value: 'HTTP', label: 'HTTP protocol*:'" missingMessage="HTTP protocol must be supplied">
+                <select id="formAddPort.protocolsHTTP"
+                        data-dojo-type="dijit.form.FilteringSelect"
+                        data-dojo-props="
+                            name: 'protocols',
+                            value: 'HTTP',
+                            label: 'HTTP protocol*:',
+                            promptMessage: 'HTTP protocol to be associated with this port',
+                            title: 'Enter HTTP protocol to be associated with this port'">
                     <option value="HTTP">HTTP</option>
                 </select>
             </div>
             <div id="formAddPort:transport" >
-                 <select id="formAddPort.transports" name="transports" data-dojo-type="dijit.form.MultiSelect" multiple="true"
-                    data-dojo-props="name: 'transports',label: 'Transport:',placeHolder: 'TCP', value: '' ">
+                 <select id="formAddPort.transports"
+                         data-dojo-type="dijit.form.MultiSelect"
+                         data-dojo-props="
+                            name: 'transports',
+                            label: 'Transport:',
+                            placeHolder: 'TCP',
+                            value: '',
+                            multiple: true,
+                            promptMessage: 'Transport(s)',
+                            title: 'Select transports'">
                     <option value="TCP">TCP</option>
                     <option value="SSL">SSL</option>
                 </select>
             </div>
             <div id="formAddPort:fieldsTransportSSL">
-                <select id="formAddPort.keyStore" data-dojo-type="dijit.form.FilteringSelect"
-                    data-dojo-props="name:'keyStore',label:'Key Store*:', searchAttr: 'name', placeHolder: 'Select keystore', value: '', required: true ">
+                <select id="formAddPort.keyStore"
+                        data-dojo-type="dijit.form.FilteringSelect"
+                        data-dojo-props="
+                            name: 'keyStore',
+                            label: 'Key Store*:',
+                            searchAttr: 'name',
+                            placeHolder: 'keystore',
+                            value: '',
+                            required: true,
+                            promptMessage: 'Keystore that provides the SSL certificate',
+                            title: 'Select the keystore that provides the SSL certificate'">
                 </select>
             </div>
             <div id="formAddPort:fieldsClientAuth">
                 <div id="formAddPort:fieldsClientAuthCheckboxes">
-                 <input id="formAddPort.needClientAuth" type="checkbox" name="needClientAuth"
-                    dojoType="dijit.form.CheckBox" data-dojo-props="label: 'Need SSL Client Certificate:'" />
-                 <input id="formAddPort.wantClientAuth" type="checkbox" name="wantClientAuth"
-                    dojoType="dijit.form.CheckBox" data-dojo-props="label: 'Want SSL Client Certificate:'" />
+                 <input id="formAddPort.needClientAuth" type="checkbox"
+                        data-dojo-type="dijit.form.CheckBox"
+                        data-dojo-props="
+                            name: 'needClientAuth',
+                            label: 'Need SSL Client Certificate:'" />
+                 <input id="formAddPort.wantClientAuth" type="checkbox"
+                        data-dojo-type="dijit.form.CheckBox"
+                        data-dojo-props="
+                            name: 'wantClientAuth',
+                            label: 'Want SSL Client Certificate:'" />
                 </div>
                 <div><strong>Trust Stores:</strong></div>
-                <table id="formAddPort.trustStores" data-dojo-type="dojox.grid.EnhancedGrid"
-                        data-dojo-props="label:'Trust Stores:',plugins:{indirectSelection: true},rowSelector:'0px' " style="height: 100px; width:400px">
+                <table id="formAddPort.trustStores"
+                       data-dojo-type="dojox.grid.EnhancedGrid"
+                       data-dojo-props="
+                            label: 'Trust Stores:',
+                            plugins:{indirectSelection: true},
+                            rowSelector:'0px'"
+                       style="height: 100px; width:400px">
                         <thead>
                            <tr>
                              <th field="name">Name</th>

Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addQueue.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addQueue.html?rev=1618373&r1=1618372&r2=1618373&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addQueue.html (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addQueue.html Sat Aug 16 15:03:21 2014
@@ -21,216 +21,316 @@
 <div class="dijitHidden">
     <div data-dojo-type="dijit.Dialog" data-dojo-props="title:'Add Queue'" id="addQueue">
         <form id="formAddQueue" method="post" dojoType="dijit.form.Form">
-            <div  style="height:250px; width:600px; overflow: auto">
-            <table cellpadding="0" cellspacing="2">
-                <tr>
-                    <td valign="top"><strong>Queue Name*: </strong></td>
-                    <td><input type="text" required="true" name="name" id="formAddQueue.name" placeholder="Queue Name"
-                        dojoType="dijit.form.ValidationTextBox" missingMessage="A name must be supplied" regexp="^[\x20-\x2e\x30-\x7F]{1,255}$"/></td>
-                </tr>
-                <tr>
-                    <td valign="top"><strong>Durable? </strong></td>
-                    <td><input type="checkbox" name="durable" id="formAddQueue.durable" value="durable" checked="checked" dojoType="dijit.form.CheckBox" /></td>
-                </tr>
-                <tr>
-                    <td valign="top"><strong>Persist Messages? </strong></td>
-                    <td>
-                        <select id="formAddQueue.messageDurability" name="messageDurability" data-dojo-type="dijit.form.FilteringSelect"
-                                data-dojo-props="name: 'messageDurability', value: '', searchAttr: 'name', placeHolder: '', value: '', required: false ">
-                            <option value="ALWAYS">Always</option>
-                            <option value="DEFAULT">Default</option>
-                            <option value="NEVER">Never</option>
-                        </select>
-                    </td>
-                </tr>
-                <tr>
-                    <td valign="top"><strong>Max Ttl:  </strong></td>
-                    <td><input type="text" required="false" name="maximumMessageTtl" id="formAddQueue.maximumMessageTtl" placeholder="Ttl in ms."
-                               dojoType="dijit.form.ValidationTextBox"
-                               trim="true"
-                               regexp="[0-9]+"
-                               invalidMessage= "Invalid value" /></td>
-                </tr>
-                <tr>
-                    <td valign="top"><strong>Min Ttl:  </strong></td>
-                    <td><input type="text" required="false" name="minimumMessageTtl" id="formAddQueue.minimumMessageTtl" placeholder="Ttl in ms."
-                               dojoType="dijit.form.ValidationTextBox"
-                               trim="true"
-                               regexp="[0-9]+"
-                               invalidMessage= "Invalid value" /></td>
-                </tr>
-                <tr>
-                    <td valign="top"><strong>Queue Type: </strong></td>
-                    <td>
+
+            <div class="clear">
+                <div class="formLabel-labelCell">Queue Name*:</div>
+                <div class="formLabel-controlCell">
+                    <input type="text" id="formAddQueue.name"
+                           data-dojo-type="dijit/form/ValidationTextBox"
+                           data-dojo-props="
+                                  name: 'name',
+                                  placeHolder: 'queue name',
+                                  required: true,
+                                  promptMessage: 'Name of queue',
+                                  title: 'Enter a queue name',
+                                  regExp:'^[\x20-\x2e\x30-\x7F]{1,255}$'"/>
+                </div>
+            </div>
+            <div class="clear">
+                <div class="formLabel-labelCell">Queue Type:</div>
+                <div class="formLabel-controlCell">
                     <input type="radio" id="formAddQueueTypeStandard" name="type" value="standard" checked="checked" dojoType="dijit.form.RadioButton" />
                     <label for="formAddQueueTypeStandard">Standard</label>
-                    &nbsp;&nbsp;
+                    &nbsp;
                     <input type="radio" id="formAddQueueTypePriority" name="type" value="priority" dojoType="dijit.form.RadioButton" />
                     <label for="formAddQueueTypePriority">Priority</label>
-                    &nbsp;&nbsp;
+                    &nbsp;
                     <input type="radio" id="formAddQueueTypeLVQ" name="type" value="lvq" dojoType="dijit.form.RadioButton" />
                     <label for="formAddQueueTypeLVQ">LVQ</label>
-                    &nbsp;&nbsp;
+                    &nbsp;
                     <input type="radio" id="formAddQueueTypeSorted" name="type" value="sorted" dojoType="dijit.form.RadioButton" />
                     <label for="formAddQueueTypeSorted">Sorted</label>
-                    </td>
-                </tr>
-            </table>
+                </div>
+            </div>
+            <div class="clear">
+                <div class="formLabel-labelCell">Durable?</div>
+                <div class="formLabel-controlCell">
+                    <input type="checkbox" id="formAddQueue.durable"
+                           dojoType="dijit.form.CheckBox"
+                           data-dojo-props="
+                              name: 'durable',
+                              value: 'durable',
+                              checked: true"/>
+                </div>
+            </div>
+            <div class="clear">
+                <div class="formLabel-labelCell">Persist Messages?</div>
+                <div class="formLabel-controlCell">
+                    <select id="formAddQueue.messageDurability"
+                            dojoType="dijit.form.FilteringSelect"
+                            data-dojo-props="
+                              name: 'messageDurability',
+                              value: '',
+                              searchAttr: 'name',
+                              required: false,
+                              promptMessage: 'Message durability override. If not default, messages arriving will have durability setting overridden',
+                              title: 'Enter message durability override'">
+                        <option value="ALWAYS">Always</option>
+                        <option value="DEFAULT">Default</option>
+                        <option value="NEVER">Never</option>
+                    </select>
+                </div>
+            </div>
+            <div class="clear">
+                <div class="formLabel-labelCell">Maximum Ttl:</div>
+                <div class="formLabel-controlCell">
+                    <input type="text" id="formAddQueue.maximumMessageTtl"
+                           data-dojo-type="dijit/form/ValidationTextBox"
+                           data-dojo-props="
+                                  name: 'maximumMessageTtl',
+                                  placeHolder: 'ttl in ms',
+                                  promptMessage: 'Maximum message time to live (ttl) in ms. Messages arriving with larger ttl values will be overridden by this value',
+                                  title: 'Enter the maximum message time to live in milliseconds',
+                                  trim: true"/>
+                </div>
+            </div>
+            <div class="clear">
+                <div class="formLabel-labelCell">Minimum Ttl:</div>
+                <div class="formLabel-controlCell">
+                    <input type="text" id="formAddQueue.minimumMessageTtl"
+                           data-dojo-type="dijit/form/ValidationTextBox"
+                           data-dojo-props="
+                                  name: 'minimumMessageTtl',
+                                  placeHolder: 'ttl in ms',
+                                  promptMessage: 'Minimum message time to live (ttl) in ms. Messages arriving with smaller ttl values will be overridden by this value',
+                                  title: 'Enter the minimum message time to live in milliseconds',
+                                  trim: true"/>
+                </div>
+            </div>
+
             <br/>
+            <div class="clear"></div>
+
 
             <div id="formAddQueueTypePriority:fields" class="hidden"
                  data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Priority Queue Settings'">
-                <table cellpadding="0" cellspacing="2">
-                    <tr>
-                        <td valign="top"><strong>Priorities:  </strong></td>
-                        <td><input data-dojo-type="dijit.form.NumberSpinner" id="formAddQueue.priorities"
-                                   name="priorities" value="10" smallDelta="1" constraints="{min:1,max:10,places:0}"/>
-                    </tr>
-                </table>
+                <div class="clear">
+                    <div class="formLabel-labelCell">Priorities:</div>
+                    <div class="formLabel-controlCell">
+                        <input type="text" id="formAddQueue.priorities"
+                               data-dojo-type="dijit/form/ValidationTextBox"
+                               data-dojo-props="
+                                  name: 'priorities',
+                                  placeHolder: 'number of priorities',
+                                  promptMessage: 'Number of priorities supported by the queue',
+                                  title: 'Enter the number of priorities supported by the queue',
+                                  trim: true"/>
+                    </div>
+                </div>
+                <div class="clear"></div>
             </div>
 
-
             <div id="formAddQueueTypeLVQ:fields" class="hidden"
                  data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Last Value Queue Settings'">
-                <table cellpadding="0" cellspacing="2">
-                    <tr>
-                        <td valign="top"><strong>LVQ Message Property:  </strong></td>
-                        <td><input type="text" name="lvqKey" id="formAddQueue.lvqkey"
-                                   placeholder="qpid.LVQ_key" dojoType="dijit.form.ValidationTextBox" /></td>
-                    </tr>
-                </table>
+                <div class="clear">
+                    <div class="formLabel-labelCell">LVQ Message Property:</div>
+                    <div class="formLabel-controlCell">
+                        <input type="text" id="formAddQueue.lvqkey"
+                               data-dojo-type="dijit/form/ValidationTextBox"
+                               data-dojo-props="
+                                  name: 'lvqKey',
+                                  placeHolder: 'lvq key',
+                                  promptMessage: 'Name of the message property used to perform the conflation',
+                                  title: 'Enter the name of the message property used to perform the conflation',
+                                  trim: true"/>
+                    </div>
+                </div>
+                <div class="clear"></div>
             </div>
 
             <div id="formAddQueueTypeSorted:fields" class="hidden"
                  data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Sorted Queue Settings'">
-                <table cellpadding="0" cellspacing="2">
-                    <tr>
-                        <td valign="top"><strong>Sort Message Property:  </strong></td>
-                        <td><input type="text" name="sortKey" id="formAddQueue.sortkey" required="false"
-                                                       placeholder="" dojoType="dijit.form.ValidationTextBox" /></td>
-                    </tr>
-                </table>
+                <div class="clear">
+                    <div class="formLabel-labelCell">Sort Message Property*:</div>
+                    <div class="formLabel-controlCell">
+                        <input type="text" id="formAddQueue.sortkey"
+                               data-dojo-type="dijit/form/ValidationTextBox"
+                               data-dojo-props="
+                                  name: 'sortKey',
+                                  placeHolder: 'sort key',
+                                  promptMessage: 'Name of the message property used for sorting the messages on the queue',
+                                  title: 'Enter the name of the message property used for sorting the messages on the queue',
+                                  trim: true"/>
+                    </div>
+                </div>
+                <div class="clear"></div>
             </div>
 
             <br/>
             <div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Flow Control Settings', open: false">
-                <table cellpadding="0" cellspacing="2">
-
-                    <!-- x-qpid-capacity -->
-                    <tr>
-                        <td valign="top"><strong>Capacity:  </strong></td>
-                        <td><input type="text" required="false" name="queueFlowControlSizeBytes" id="formAddQueue.capacity" placeholder="Size in bytes"
-                            dojoType="dijit.form.ValidationTextBox"
-                            trim="true"
-                            regexp="[0-9]+"
-                            invalidMessage= "Invalid value"/></td>
-                    </tr>
-                    <!-- x-qpid-flow-resume-capacity -->
-                    <tr>
-                        <td valign="top"><strong>Resume Capacity:  </strong></td>
-                        <td><input type="text" required="false" name="queueFlowResumeSizeBytes" id="formAddQueue.flowResumeCapacity" placeholder="Size in bytes"
-                            dojoType="dijit.form.ValidationTextBox"
-                            trim="true"
-                            regexp="[0-9]+"
-                            invalidMessage= "Invalid value"/></td>
-                    </tr>
-                </table>
+                <div class="clear">
+                    <div class="formLabel-labelCell">Capacity:</div>
+                    <div class="formLabel-controlCell">
+                        <input type="text" id="formAddQueue.capacity"
+                               data-dojo-type="dijit/form/ValidationTextBox"
+                               data-dojo-props="
+                                  name: 'queueFlowControlSizeBytes',
+                                  placeHolder: 'size in bytes',
+                                  promptMessage: 'Ceiling (in bytes) at which queue will begin to throttle sessions producing messages',
+                                  title: 'Enter the ceiling (in bytes) at which queue will begin to throttle sessions producing messages',
+                                  trim: true"/>
+                    </div>
+                </div>
+                <div class="clear">
+                    <div class="formLabel-labelCell">Resume Capacity:</div>
+                    <div class="formLabel-controlCell">
+                        <input type="text" id="formAddQueue.flowResumeCapacity"
+                               data-dojo-type="dijit/form/ValidationTextBox"
+                               data-dojo-props="
+                                  name: 'queueFlowResumeSizeBytes',
+                                  placeHolder: 'size in bytes',
+                                  promptMessage: 'Floor (in bytes) at which queue will cease to throttle sessions producing messages',
+                                  title: 'Enter the floor (in bytes) at which queue will cease to throttle sessions producing messages',
+                                  trim: true"/>
+                    </div>
+                </div>
+                <div class="clear"></div>
             </div>
+
             <br/>
             <div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Alerting Settings', open: false">
-                <table cellpadding="0" cellspacing="2">
-                    <!-- x-qpid-maximum-message-count -->
-                    <tr>
-                        <td valign="top"><strong>Queue Depth:  </strong></td>
-                        <td><input type="text" required="false" name="alertThresholdQueueDepthMessages" id="formAddQueue.maximumMessageCount" placeholder="Number of messages"
-                            dojoType="dijit.form.ValidationTextBox"
-                            trim="true"
-                            regexp="[0-9]+"
-                            invalidMessage= "Invalid value" /></td>
-                    </tr>
-                    <!-- x-qpid-maximum-queue-depth -->
-                    <tr>
-                        <td valign="top"><strong>Queue Depth:  </strong></td>
-                        <td><input type="text" required="false" name="alertThresholdQueueDepthBytes" id="formAddQueue.maximumQueueDepth" placeholder="Total message size in bytes"
-                            dojoType="dijit.form.ValidationTextBox"
-                            trim="true"
-                            regexp="[0-9]+"
-                            invalidMessage= "Invalid value" /></td>
-                    </tr>
-                    <!-- x-qpid-maximum-message-age -->
-                    <tr>
-                        <td valign="top"><strong>Message Age:  </strong></td>
-                        <td><input type="text" required="false" name="alertThresholdMessageAge" id="formAddQueue.maximumMessageAge" placeholder="Time in ms"
-                            dojoType="dijit.form.ValidationTextBox"
-                            trim="true"
-                            regexp="[0-9]+"
-                            invalidMessage= "Invalid value"  /></td>
-                    </tr>
-                    <!-- x-qpid-maximum-message-size -->
-                    <tr>
-                        <td valign="top"><strong>Message Size:  </strong></td>
-                        <td><input type="text" required="false" name="alertThresholdMessageSize" id="formAddQueue.maximumMessageSize" placeholder="Size in bytes"
-                            dojoType="dijit.form.ValidationTextBox"
-                            trim="true"
-                            regexp="[0-9]+"
-                            invalidMessage= "Invalid value"/></td>
-                    </tr>
-                    <!-- x-qpid-minimum-alert-repeat-gap -->
-                    <tr>
-                        <td valign="top"><strong>Gap between alerts:  </strong></td>
-                        <td><input type="text" required="false" name="alertRepeatGap" id="formAddQueue.minimumAlertRepeatGap" placeholder="Time in ms"
-                            dojoType="dijit.form.ValidationTextBox"
-                            trim="true"
-                            regexp="[0-9]+"
-                            invalidMessage= "Invalid value" /></td>
-                    </tr>
-                </table>
+                <div class="clear">
+                    <div class="formLabel-labelCell">Queue Depth:</div>
+                    <div class="formLabel-controlCell">
+                        <input type="text" id="formAddQueue.maximumMessageCount"
+                               data-dojo-type="dijit/form/ValidationTextBox"
+                               data-dojo-props="
+                                  name: 'alertThresholdQueueDepthMessages',
+                                  placeHolder: 'number of messages',
+                                  promptMessage: 'Ceiling value for number of messages on queue before alerts will be generated',
+                                  title: 'Enter the ceiling value for number of messages on queue before alerts will be generated',
+                                  trim: true"/>
+                    </div>
+                </div>
+                <div class="clear">
+                    <div class="formLabel-labelCell">Queue Depth:</div>
+                    <div class="formLabel-controlCell">
+                        <input type="text" id="formAddQueue.maximumQueueDepth"
+                               data-dojo-type="dijit/form/ValidationTextBox"
+                               data-dojo-props="
+                                  name: 'alertThresholdQueueDepthBytes',
+                                  placeHolder: 'total message size in bytes',
+                                  promptMessage: 'Ceiling value (in bytes) for total size of all messages on the queue before alerts will be generated',
+                                  title: 'Enter the ceiling value (in bytes) for total size of all messages on the queue before alerts will be generated',
+                                  trim: true"/>
+                    </div>
+                </div>
+                <div class="clear">
+                    <div class="formLabel-labelCell">Message Age:</div>
+                    <div class="formLabel-controlCell">
+                        <input type="text" id="formAddQueue.maximumMessageAge"
+                               data-dojo-type="dijit/form/ValidationTextBox"
+                               data-dojo-props="
+                                  name: 'alertThresholdMessageAge',
+                                  placeHolder: 'time in ms',
+                                  promptMessage: 'Message age (in milliseconds) above which alerts will be generated',
+                                  title: 'Enter the message age (in milliseconds) above which alerts will be generated',
+                                  trim: true"/>
+                    </div>
+                </div>
+                <div class="clear">
+                    <div class="formLabel-labelCell">Message Size:</div>
+                    <div class="formLabel-controlCell">
+                        <input type="text" id="formAddQueue.maximumMessageSize"
+                               data-dojo-type="dijit/form/ValidationTextBox"
+                               data-dojo-props="
+                                  name: 'alertThresholdMessageSize',
+                                  placeHolder: 'message size in bytes',
+                                  promptMessage: 'Message size (in bytes) above which alerts will be generated',
+                                  title: 'Enter the message size (in bytes) above which alerts will be generated',
+                                  trim: true"/>
+                    </div>
+                </div>
+                <div class="clear">
+                    <div class="formLabel-labelCell">Gap between alerts:</div>
+                    <div class="formLabel-controlCell">
+                        <input type="text" id="formAddQueue.alertRepeatGap"
+                               data-dojo-type="dijit/form/ValidationTextBox"
+                               data-dojo-props="
+                                  name: 'alertRepeatGap',
+                                  placeHolder: 'time in ms',
+                                  promptMessage: 'Minimum time (in milliseconds) between each alert',
+                                  title: 'Enter the minimum time (in milliseconds) between each alert.',
+                                  trim: true"/>
+                    </div>
+                </div>
+                <div class="clear"></div>
             </div>
+
             <br/>
             <div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Other Settings', open: false">
-                <table cellpadding="0" cellspacing="2">
+                <div class="clear">
+                    <div class="formLabel-labelCell">Maximum Delivery Retries:</div>
+                    <div class="formLabel-controlCell">
+                        <input type="text" id="formAddQueue.maximumDeliveryAttempts"
+                               data-dojo-type="dijit/form/ValidationTextBox"
+                               data-dojo-props="
+                                  name: 'maximumDeliveryAttempts',
+                                  placeHolder: 'number of retries',
+                                  promptMessage: 'Maximum number of delivery attempts before the message will be sent to the alternate exchange',
+                                  title: 'Enter the maximum number of delivery attempts before the message will be sent to the alternate exchange',
+                                  trim: true"/>
+                    </div>
+                </div>
+                <div class="clear">
+                    <div class="formLabel-labelCell">Create DLQ?</div>
+                    <div class="formLabel-controlCell">
+                        <input type="checkbox" id="formAddQueue.dlqEnabled"
+                               dojoType="dijit.form.CheckBox"
+                               data-dojo-props="
+                              name: 'dlqEnabled',
+                              value: 'dlqEnabled',
+                              title: 'Controls where a dead letter queue is automatically created',
+                              checked: false"/>
+                    </div>
+                </div>
 
-                    <!-- x-qpid-maximum-delivery-count -->
-                    <tr>
-                        <td valign="top"><strong>Maximum Delivery Retries:  </strong></td>
-                        <td><input type="text" required="false" name="maximumDeliveryAttempts" id="formAddQueue.maximumDeliveryCount"
-                            dojoType="dijit.form.ValidationTextBox"
-                            trim="true"
-                            regexp="[0-9]+"
-                            invalidMessage= "Invalid value"/></td>
-                    </tr>
-                    <tr>
-                        <td valign="top"><strong>Create DLQ? </strong></td>
-                        <td><input type="checkbox" name="dlqEnabled" id="formAddQueue.dlqEnabled" value="dlqEnabled" dojoType="dijit.form.CheckBox" /></td>
-                    </tr>
-                </table>
-                <table cellpadding="0" cellspacing="2">
-                    <tr>
-                        <td valign="top">NOTE: Configuring maximum delivery retries on a queue which has no DLQ / AlternateExchange will result in messages being discarded after the limit is reached.</td>
-                    </tr>
-                </table>
-                <table cellpadding="0" cellspacing="2">
-
-                    <!-- qpid.group_header_key -->
-                    <tr>
-                        <td valign="top"><strong>Message Group Key:  </strong></td>
-                        <td><input type="text" required="false" name="messageGroupKey" id="formAddQueue.messageGroupKey"
-                            dojoType="dijit.form.ValidationTextBox"
-                            trim="true"/></td>
-                    </tr>
-
-                    <!-- qpid.qpid.shared_msg_group -->
-                    <tr>
-                        <td valign="top"><strong>Shared Message Groups? </strong></td>
-                        <td><input type="checkbox" name="messageGroupSharedGroups" id="formAddQueue.messageGroupSharedGroups" value="messageGroupSharedGroups" dojoType="dijit.form.CheckBox" /></td>
-                    </tr>
-                </table>
-            </div>
+                <div class="clear"></div>
+                <div class="infoMessage">Configuring maximum delivery retries on a queue which has no DLQ or alternate <br/>exchange will result in messages being discarded after the limit is reached.</div>
+
+                <div class="clear">
+                    <div class="formLabel-labelCell">Message Group Key:</div>
+                    <div class="formLabel-controlCell">
+                        <input type="text" id="formAddQueue.messageGroupKey"
+                               data-dojo-type="dijit/form/ValidationTextBox"
+                               data-dojo-props="
+                                  name: 'messageGroupKey',
+                                  placeHolder: 'message group key',
+                                  promptMessage: 'Name of the message property used for message grouping',
+                                  title: 'Enter the name of the message property used for message grouping',
+                                  trim: true"/>
+                    </div>
+                </div>
+                <div class="clear">
+                    <div class="formLabel-labelCell">Shared Message Groups?</div>
+                    <div class="formLabel-controlCell">
+                        <input type="checkbox" id="formAddQueue.messageGroupSharedGroups"
+                               dojoType="dijit.form.CheckBox"
+                               data-dojo-props="
+                              name: 'messageGroupSharedGroups',
+                              value: 'messageGroupSharedGroups',
+                              checked: false,
+                              title: 'Controls where a shared groups feature is enabled'"/>
+                    </div>
+                </div>
+                <div class="clear"></div>
             </div>
+
           <div class="dijitDialogPaneActionBar">
             <!-- submit buttons -->
             <input type="submit" value="Create Queue" label="Create Queue" dojoType="dijit.form.Button" />
           </div>
+
         </form>
     </div>
 </div>

Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addVirtualHostNodeAndVirtualHost.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addVirtualHostNodeAndVirtualHost.html?rev=1618373&r1=1618372&r2=1618373&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addVirtualHostNodeAndVirtualHost.html (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addVirtualHostNodeAndVirtualHost.html Sat Aug 16 15:03:21 2014
@@ -34,9 +34,9 @@
                                  data-dojo-type="dijit/form/ValidationTextBox"
                                  data-dojo-props="
                               name: 'name',
-                              placeHolder: 'unique node name per broker',
+                              placeHolder: 'node name',
                               required: true,
-                              missingMessage: 'A node name must be supplied',
+                              promptMessage: 'Name of node, must be unique',
                               title: 'Enter a unique node name per broker'" />
                       </div>
                     </div>
@@ -49,6 +49,7 @@
                                     required: true,
                                     disabled: true,
                                     placeHolder: 'select virtual host node type',
+                                    promptMessage: 'Type of virtual host node',
                                     title: 'Select virtual host node type',
                                     searchAttr: 'name'">
                              </select>
@@ -75,6 +76,7 @@
                                 required: true,
                                 disabled: true,
                                 placeHolder: 'select virtual host type',
+                                promptMessage: 'Type of virtual host',
                                 title: 'Select virtual host type',
                                 searchAttr: 'name'">
                         </select>

Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/css/common.css
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/css/common.css?rev=1618373&r1=1618372&r2=1618373&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/css/common.css (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/css/common.css Sat Aug 16 15:03:21 2014
@@ -239,8 +239,28 @@ div .messages {
     font-weight: bold;
     margin-left: 5px;
 }
+
 .editNoteBanner {
     font-style: italic;
     margin: 0px 0px 10px 5px;
 }
 
+/* Required to keep queue type radio buttons on one line when dialog adds scrollbar */
+#addQueue {
+    max-height: 350px;
+    overflow: auto;
+    width: 630px;
+}
+
+#authenticatedUserControls {
+    max-width: 300px;
+}
+
+.claro .dojoxCheckedMultiSelectWrapper  {
+    height: auto;
+}
+
+.claro .dojoxCheckedMultiSelect .dojoxCheckedMultiSelectWrapper {
+    border: none;
+    background-color: transparent;
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org