Author: kwall
Date: Wed Feb 25 08:34:43 2015
New Revision: 1662181

URL: http://svn.apache.org/r1662181
Log:
QPID-6408: [Java Broker] Expose the AMQP connection limits through the web 
management UI

Merged with command:

svn merge -c 1661741  https://svn.apache.org/repos/asf/qpid/trunk


Modified:
    qpid/branches/0.32/   (props changed)
    qpid/branches/0.32/qpid/   (props changed)
    qpid/branches/0.32/qpid/java/   (props changed)
    
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html
    
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js
    
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js
    
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js
    
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showPort.html
    
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showQueue.html

Propchange: qpid/branches/0.32/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Feb 25 08:34:43 2015
@@ -3,4 +3,4 @@
 /qpid/branches/java-broker-bdb-ha2:1576683-1583556
 /qpid/branches/java-network-refactor:805429-825319
 /qpid/branches/mcpierce-QPID-4719:1477004-1477093
-/qpid/trunk:1661162,1661165-1661166,1661207,1661530-1661531,1661693,1661929
+/qpid/trunk:1661162,1661165-1661166,1661207,1661530-1661531,1661693,1661741,1661929

Propchange: qpid/branches/0.32/qpid/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Feb 25 08:34:43 2015
@@ -6,4 +6,4 @@
 /qpid/branches/mcpierce-QPID-4719/qpid:1477004-1477093
 /qpid/branches/qpid-2935/qpid:1061302-1072333
 /qpid/branches/qpid-3346/qpid:1144319-1179855
-/qpid/trunk/qpid:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661929
+/qpid/trunk/qpid:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661741,1661929

Propchange: qpid/branches/0.32/qpid/java/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Feb 25 08:34:43 2015
@@ -9,4 +9,4 @@
 /qpid/branches/java-network-refactor/qpid/java:805429-821809
 /qpid/branches/qpid-2935/qpid/java:1061302-1072333
 /qpid/trunk/qpid:796646-796653
-/qpid/trunk/qpid/java:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661929
+/qpid/trunk/qpid/java:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661741,1661929

Modified: 
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html
URL: 
http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html?rev=1662181&r1=1662180&r2=1662181&view=diff
==============================================================================
--- 
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html
 (original)
+++ 
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html
 Wed Feb 25 08:34:43 2015
@@ -159,6 +159,23 @@
                 </div>
             </div>
 
+            <div id="formAddPort:maxOpenConnections" >
+                <div class="clear">
+                    <div class="formLabel-labelCell">
+                        <label for="formAddPort.transports">Maximum number of 
connections:</label>
+                    </div>
+                    <div class="formLabel-controlCell">
+                        <input id="formAddPort.maxOpenConnections" type="text"
+                               data-dojo-type="dijit.form.ValidationTextBox"
+                               data-dojo-props="
+                            name: 'maxOpenConnections',
+                            placeHolder: 'maximum number of connections',
+                            promptMessage: 'Maximum number of concurrent 
connections permitted by this port. The <code>-1</code> signifies no limit is 
imposed.',
+                            title: 'Enter a maximum number of connections'"/>
+                    </div>
+                </div>
+            </div>
+
             <div id="formAddPort:fieldsTransportSSL">
                 <div class="clear">
                     <div class="formLabel-labelCell">

Modified: 
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js
URL: 
http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js?rev=1662181&r1=1662180&r2=1662181&view=diff
==============================================================================
--- 
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js
 (original)
+++ 
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js
 Wed Feb 25 08:34:43 2015
@@ -737,6 +737,11 @@ define(["dojo/_base/xhr",
              return "^(\\d+)|" + singleContextVarRegexp + "$";
            }
 
+           util.signedOrContextVarRegexp = function(constraints)
+           {
+             return "^(-?\\d+)|" + singleContextVarRegexp + "$";
+           }
+
            util.nameOrContextVarRegexp = function(constraints)
            {
              return "^(\\w+)|" + singleContextVarRegexp + "$";

Modified: 
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js
URL: 
http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js?rev=1662181&r1=1662180&r2=1662181&view=diff
==============================================================================
--- 
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js
 (original)
+++ 
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js
 Wed Feb 25 08:34:43 2015
@@ -138,12 +138,15 @@ define(["dojo/dom",
                            "needClientAuthValue",
                            "wantClientAuthValue",
                            "trustStoresValue",
+                           "connectionCountValue",
+                           "maxOpenConnectionsValue",
                            "authenticationProvider",
                            "bindingAddress",
                            "keyStore",
                            "needClientAuth",
                            "wantClientAuth",
-                           "trustStores"
+                           "trustStores",
+                           "maxOpenConnections"
                            ]);
 
                this.query = url;
@@ -151,6 +154,7 @@ define(["dojo/dom",
                xhr.get({url: this.query, sync: properties.useSyncGet, 
handleAs: "json"}).then(function(data)
                                {
                                   that.portData = data[0];
+                                  util.flattenStatistics( that.portData );
                                   that.updateHeader();
                                });
 
@@ -178,6 +182,9 @@ define(["dojo/dom",
               this.protocolsValue.innerHTML = printArray( "protocols", 
this.portData);
               this.transportsValue.innerHTML = printArray( "transports", 
this.portData);
               this.bindingAddressValue.innerHTML = this.portData[ 
"bindingAddress" ] ? entities.encode(String(this.portData[ "bindingAddress" ])) 
: "" ;
+              this.connectionCountValue.innerHTML = this.portData[ 
"connectionCount" ] ? entities.encode(String(this.portData[ "connectionCount" 
])) : "0" ;
+              this.maxOpenConnectionsValue.innerHTML = (this.portData[ 
"maxOpenConnections" ] && this.portData[ "maxOpenConnections" ] >= 0) ? 
entities.encode(String(this.portData[ "maxOpenConnections" ])) : "(no limit)" ;
+
               this.keyStoreValue.innerHTML = this.portData[ "keyStore" ] ? 
entities.encode(String(this.portData[ "keyStore" ])) : "";
               this.needClientAuthValue.innerHTML = "<input type='checkbox' 
disabled='disabled' "+(this.portData[ "needClientAuth" ] ? "checked='checked'": 
"")+" />" ;
               this.wantClientAuthValue.innerHTML = "<input type='checkbox' 
disabled='disabled' "+(this.portData[ "wantClientAuth" ] ? "checked='checked'": 
"")+" />" ;
@@ -191,6 +198,9 @@ define(["dojo/dom",
               this.needClientAuth.style.display = "needClientAuth" in 
typeMetaData.attributes ? "block" : "none";
               this.wantClientAuth.style.display = "wantClientAuth" in 
typeMetaData.attributes ? "block" : "none";
               this.trustStores.style.display = "trustStores" in 
typeMetaData.attributes ? "block" : "none";
+
+              this.maxOpenConnections.style.display = "maxOpenConnections" in 
typeMetaData.attributes ? "block" : "none";
+
            };
 
            PortUpdater.prototype.update = function()
@@ -201,6 +211,7 @@ define(["dojo/dom",
               xhr.get({url: this.query, sync: properties.useSyncGet, handleAs: 
"json"}).then(function(data)
                    {
                       thisObj.portData = data[0];
+                      util.flattenStatistics( thisObj.portData );
                       thisObj.updateHeader();
                    });
            };

Modified: 
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js
URL: 
http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js?rev=1662181&r1=1662180&r2=1662181&view=diff
==============================================================================
--- 
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js
 (original)
+++ 
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js
 Wed Feb 25 08:34:43 2015
@@ -79,6 +79,10 @@ define(["dojo/_base/xhr",
             registry.byId("formAddPort.bindingAddress").set("disabled", ! 
("bindingAddress" in typeMetaData.attributes));
             dom.byId("formAddPort:fieldsBindingAddress").style.display = 
"bindingAddress" in typeMetaData.attributes ? "block" : "none";
 
+            //maxOpenConnections
+            registry.byId("formAddPort.maxOpenConnections").set("disabled", ! 
("maxOpenConnections" in typeMetaData.attributes));
+            dom.byId("formAddPort:maxOpenConnections").style.display = 
"maxOpenConnections" in typeMetaData.attributes ? "block" : "none";
+
             //transports
             var transportsMultiSelect = dom.byId("formAddPort.transports");
             var transportsValidValues = 
typeMetaData.attributes.transports.validValues;
@@ -314,6 +318,7 @@ define(["dojo/_base/xhr",
             var nameWidget = registry.byId("formAddPort.name");
             var typeWidget = registry.byId("formAddPort.type");
             var portWidget = registry.byId("formAddPort.port");
+            var maxOpenConnectionsWidget = 
registry.byId("formAddPort.maxOpenConnections");
             var editWarning = dojo.byId("portEditWarning");
 
             var providerWidget = 
registry.byId("formAddPort.authenticationProvider");
@@ -418,6 +423,13 @@ define(["dojo/_base/xhr",
                        bindAddressWidget.set("disabled", ! ("bindingAddress" 
in typeMetaData.attributes));
                        
dom.byId("formAddPort:fieldsBindingAddress").style.display = "bindingAddress" 
in typeMetaData.attributes ? "block" : "none";
 
+                       //maxOpenConnections
+                       var maxOpenConnectionsWidget = 
registry.byId("formAddPort.maxOpenConnections");
+                       maxOpenConnectionsWidget.set("regExpGen", 
util.signedOrContextVarRegexp);
+                       maxOpenConnectionsWidget.set("value", 
port.maxOpenConnections ? port.maxOpenConnections : "");
+                       maxOpenConnectionsWidget.set("disabled", ! 
("maxOpenConnections" in typeMetaData.attributes));
+                       
dom.byId("formAddPort:maxOpenConnections").style.display = "maxOpenConnections" 
in typeMetaData.attributes ? "block" : "none";
+
                        //ssl
                        keystoreWidget.set("value", port.keyStore ? 
port.keyStore : "");
                        if (port.trustStores)
@@ -447,6 +459,7 @@ define(["dojo/_base/xhr",
                        truststoreWidget.initialValue = port.trustStores;
                        transportWidget.initialValue = transportWidget.value;
                        providerWidget.initialValue = providerWidget.value;
+                       maxOpenConnectionsWidget.initialValue = 
maxOpenConnectionsWidget.value;
 
                        registry.byId("addPort").show();
                        
util.applyMetadataToWidgets(registry.byId("addPort").domNode, "Port", portType);
@@ -465,8 +478,8 @@ define(["dojo/_base/xhr",
 
                 nameWidget.set("disabled", false);
                 nameWidget.set("regExpGen", util.nameOrContextVarRegexp);
-
                 portWidget.set("regExpGen", util.numericOrContextVarRegexp);
+                maxOpenConnectionsWidget.set("regExpGen", 
util.signedOrContextVarRegexp);
 
                 editWarning.style.display = "none";
                 registry.byId("addPort").show();

Modified: 
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showPort.html
URL: 
http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showPort.html?rev=1662181&r1=1662180&r2=1662181&view=diff
==============================================================================
--- 
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showPort.html
 (original)
+++ 
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showPort.html
 Wed Feb 25 08:34:43 2015
@@ -25,61 +25,72 @@
            <div class="formLabel-labelCell">Name:</div>
            <div class="nameValue"></div>
        </div>
+       <div class="clear"></div>
+       <div class="alignLeft">
+           <div class="clear type">
+               <div class="formLabel-labelCell">Port Type:</div>
+               <div class="formValue-valueCell typeValue"></div>
+           </div>
+       </div>
+        <div class="alignRight">
+            <div class="clear maxOpenConnections">
+                <div class="formLabel-labelCell">Open connections 
(current/maximum):</div>
+                <div class="formValue-valueCell">
+                    <span 
class="connectionCountValue"></span><span>/</span><span 
class="maxOpenConnectionsValue"></span>
+                </div>
+            </div>
+        </div>
 
-       <div class="clear type">
-           <div class="formLabel-labelCell">Port Type:</div>
-           <div class="typeValue"></div>
-       </div>
-
-       <div class="clear state">
+        <div class="clear state">
            <div class="formLabel-labelCell">State:</div>
-           <div class="stateValue"></div>
-       </div>
+           <div class="formValue-valueCell stateValue"></div>
+        </div>
 
-       <div class="clear port">
+        <div class="clear port">
            <div class="formLabel-labelCell">Port Number:</div>
-           <div class="portValue"></div>
-       </div>
+           <div class="formValue-valueCell portValue"></div>
+        </div>
 
-       <div class="clear protocols">
+        <div class="clear protocols">
            <div class="formLabel-labelCell">Protocols:</div>
-           <div class="protocolsValue multiLineValue"></div>
-       </div>
+           <div class="formValue-valueCell protocolsValue 
multiLineValue"></div>
+        </div>
 
         <div class="clear authenticationProvider">
-            <div class="formLabel-labelCell">Authentication Provider:</div>
-            <div class="authenticationProviderValue"></div>
+           <div class="formLabel-labelCell">Authentication Provider:</div>
+           <div class="formValue-valueCell authenticationProviderValue"></div>
         </div>
 
         <div class="clear bindingAddress">
-            <div class="formLabel-labelCell">Binding address:</div>
-            <div class="bindingAddressValue"></div>
+           <div class="formLabel-labelCell">Binding address:</div>
+           <div class="formValue-valueCell bindingAddressValue"></div>
         </div>
 
         <div class="clear transports">
            <div class="formLabel-labelCell">Transports:</div>
-           <div class="transportsValue multiLineValue"></div>
-       </div>
+           <div class="formValue-valueCell transportsValue 
multiLineValue"></div>
+        </div>
 
-       <div class="clear keyStore">
-          <div class="formLabel-labelCell">Key Store:</div>
-          <div class="keyStoreValue"></div>
-       </div>
+        <div class="clear keyStore">
+           <div class="formLabel-labelCell">Key Store:</div>
+           <div class="formValue-valueCell keyStoreValue"></div>
+        </div>
 
-       <div class="clear needClientAuth">
-          <div class="formLabel-labelCell">Need SSL Client Certificate:</div>
-          <div class="needClientAuthValue"></div>
-       </div>
+        <div class="clear needClientAuth">
+           <div class="formLabel-labelCell">Need SSL Client Certificate:</div>
+           <div class="formValue-valueCell needClientAuthValue"></div>
+        </div>
 
-       <div class="clear wantClientAuth">
-          <div class="formLabel-labelCell">Want SSL Client Certificate:</div>
-          <div class="wantClientAuthValue"></div>
-       </div>
+        <div class="clear wantClientAuth">
+           <div class="formLabel-labelCell">Want SSL Client Certificate:</div>
+           <div class="formValue-valueCell wantClientAuthValue"></div>
+        </div>
+
+        <div class="clear trustStores">
+           <div class="formLabel-labelCell">Trust Stores:</div>
+           <div class="formValue-valueCell trustStoresValue 
multiLineValue"></div>
+        </div>
 
-       <div class="clear trustStores">
-          <div class="formLabel-labelCell">Trust Stores:</div>
-          <div class="trustStoresValue multiLineValue"></div>
-       </div>
        <div class="clear"></div>
     </div>
     <br/>

Modified: 
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showQueue.html
URL: 
http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showQueue.html?rev=1662181&r1=1662180&r2=1662181&view=diff
==============================================================================
--- 
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showQueue.html
 (original)
+++ 
qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showQueue.html
 Wed Feb 25 08:34:43 2015
@@ -25,7 +25,7 @@
             <div class="formLabel-labelCell">Name:</div>
             <div class="name formValue-valueCell"></div>
         </div>
-        <div class="clear">
+        <div class="clear"></div>
         <div class="alignLeft">
             <div class="clear">
                 <div class="formLabel-labelCell">Type:</div>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to