Author: lquack
Date: Fri Jul 22 12:45:44 2016
New Revision: 1753781

URL: http://svn.apache.org/viewvc?rev=1753781&view=rev
Log:
QPID-7276: [Java Broker, WMC] Add UI for message delay to WMC.

Modified:
    
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfo.java
    
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfoImpl.java
    
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/message/MessageInstance.java
    
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java
    
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractSystemMessageSource.java
    
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/MockMessageInstance.java
    
qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
    
qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementResponse.java
    
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/addQueue.html
    
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editQueue.html
    
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js
    
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showMessage.html
    
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showQueue.html

Modified: 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfo.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfo.java?rev=1753781&r1=1753780&r2=1753781&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfo.java
 (original)
+++ 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfo.java
 Fri Jul 22 12:45:44 2016
@@ -20,6 +20,7 @@
  */
 package org.apache.qpid.server.message;
 
+import java.util.Date;
 import java.util.Map;
 
 import org.apache.qpid.server.model.ManagedAttributeValueType;
@@ -46,4 +47,5 @@ public interface MessageInfo
     String getType();
     String getUserId();
     Map<String,Object> getHeaders();
+    Date getNotValidBefore();
 }

Modified: 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfoImpl.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfoImpl.java?rev=1753781&r1=1753780&r2=1753781&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfoImpl.java
 (original)
+++ 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfoImpl.java
 Fri Jul 22 12:45:44 2016
@@ -21,6 +21,7 @@
 package org.apache.qpid.server.message;
 
 import java.util.Collections;
+import java.util.Date;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
@@ -46,6 +47,7 @@ public class MessageInfoImpl implements
     private final long _id;
     private final Map<String, Object> _headers;
     private final String _initialRoutingAddress;
+    private final Date _notValidBefore;
 
     public MessageInfoImpl(final MessageInstance instance, final boolean 
includeHeaders)
     {
@@ -71,15 +73,19 @@ public class MessageInfoImpl implements
                 : messageHeader.getTimestamp();
         _type = messageHeader.getType();
         _userId = messageHeader.getUserId();
-        _state = instance.isAvailable()
-                ? "Available"
-                : instance.isAcquired()
-                        ? "Acquired"
-                        : "";
+        if (instance.isAvailable())
+        {
+            _state = instance.isHeld() ? "Held" : "Available";
+        }
+        else
+        {
+            _state = instance.isAcquired() ? "Acquired" : "";
+        }
         _deliveryCount = instance.getDeliveryCount();
         _size = message.getSize();
         _id = message.getMessageNumber();
         _initialRoutingAddress = message.getInitialRoutingAddress();
+        _notValidBefore = new Date(messageHeader.getNotValidBefore());
 
         if(includeHeaders)
         {
@@ -211,6 +217,12 @@ public class MessageInfoImpl implements
         return _headers;
     }
 
+    @Override
+    public Date getNotValidBefore()
+    {
+        return new Date(_notValidBefore.getTime());
+    }
+
     public String getInitialRoutingAddress()
     {
         return _initialRoutingAddress;

Modified: 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/message/MessageInstance.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/message/MessageInstance.java?rev=1753781&r1=1753780&r2=1753781&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/message/MessageInstance.java
 (original)
+++ 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/message/MessageInstance.java
 Fri Jul 22 12:45:44 2016
@@ -258,6 +258,8 @@ public interface MessageInstance
 
     boolean isDeleted();
 
+    boolean isHeld();
+
     ServerMessage getMessage();
 
     InstanceProperties getInstanceProperties();

Modified: 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java?rev=1753781&r1=1753780&r2=1753781&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java
 (original)
+++ 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java
 Fri Jul 22 12:45:44 2016
@@ -691,6 +691,12 @@ public abstract class QueueEntryImpl imp
         return _state.isDispensed();
     }
 
+    @Override
+    public boolean isHeld()
+    {
+        return checkHeld(System.currentTimeMillis());
+    }
+
     public int getDeliveryCount()
     {
         return _deliveryCount == -1 ? 0 : _deliveryCount;

Modified: 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractSystemMessageSource.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractSystemMessageSource.java?rev=1753781&r1=1753780&r2=1753781&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractSystemMessageSource.java
 (original)
+++ 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractSystemMessageSource.java
 Fri Jul 22 12:45:44 2016
@@ -528,6 +528,12 @@ public abstract class AbstractSystemMess
         }
 
         @Override
+        public boolean isHeld()
+        {
+            return false;
+        }
+
+        @Override
         public ServerMessage getMessage()
         {
             return _message;

Modified: 
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/MockMessageInstance.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/MockMessageInstance.java?rev=1753781&r1=1753780&r2=1753781&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/MockMessageInstance.java
 (original)
+++ 
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/MockMessageInstance.java
 Fri Jul 22 12:45:44 2016
@@ -197,6 +197,13 @@ public class MockMessageInstance impleme
     {
         return false;
     }
+
+    @Override
+    public boolean isHeld()
+    {
+        return false;
+    }
+
     @Override
     public int getDeliveryCount()
     {

Modified: 
qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java?rev=1753781&r1=1753780&r2=1753781&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
 Fri Jul 22 12:45:44 2016
@@ -1235,6 +1235,12 @@ class ManagementNode implements MessageS
         }
 
         @Override
+        public boolean isHeld()
+        {
+            return false;
+        }
+
+        @Override
         public ServerMessage getMessage()
         {
             return _message;

Modified: 
qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementResponse.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementResponse.java?rev=1753781&r1=1753780&r2=1753781&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementResponse.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementResponse.java
 Fri Jul 22 12:45:44 2016
@@ -237,6 +237,12 @@ class ManagementResponse implements Mess
     }
 
     @Override
+    public boolean isHeld()
+    {
+        return false;
+    }
+
+    @Override
     public ServerMessage getMessage()
     {
         return _message;

Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/addQueue.html
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/addQueue.html?rev=1753781&r1=1753780&r2=1753781&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/addQueue.html
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/addQueue.html
 Fri Jul 22 12:45:44 2016
@@ -326,6 +326,18 @@
                               title: 'Controls where a shared groups feature 
is enabled'"/>
                     </div>
                 </div>
+                    <div class="clear">
+                        <div class="formLabel-labelCell">Hold on Publish 
Enabled?</div>
+                        <div class="formLabel-controlCell">
+                            <input type="checkbox" 
id="formAddQueue.holdOnPublishEnabled"
+                                   dojoType="dijit.form.CheckBox"
+                                   data-dojo-props="
+                              name: 'holdOnPublishEnabled',
+                              value: 'holdOnPublishEnabled',
+                              checked: false,
+                              title: 'If enabled the messages on the queue 
will be inspected for the x-qpid-not-valid-before header/annotation'"/>
+                        </div>
+                    </div>
                 </fieldset>
                 <div class="clear"></div>
             </div>

Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editQueue.html
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editQueue.html?rev=1753781&r1=1753780&r2=1753781&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editQueue.html
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editQueue.html
 Fri Jul 22 12:45:44 2016
@@ -281,6 +281,17 @@
                                       trim: true"/>
                         </div>
                     </div>
+                        <div class="clear">
+                            <div class="formLabel-labelCell">Hold on Publish 
Enabled?</div>
+                            <div class="formLabel-controlCell">
+                                <input type="checkbox" 
id="formEditQueue.holdOnPublishEnabled"
+                                       dojoType="dijit.form.CheckBox"
+                                       data-dojo-props="
+                              name: 'holdOnPublishEnabled',
+                              value: 'holdOnPublishEnabled',
+                              title: 'If enabled the messages on the queue 
will be inspected for the x-qpid-not-valid-before header/annotation'"/>
+                            </div>
+                        </div>
                     </fieldset>
                     <div class="clear"></div>
                 </div>

Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js?rev=1753781&r1=1753780&r2=1753781&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js
 Fri Jul 22 12:45:44 2016
@@ -402,6 +402,7 @@ define(["dojo/_base/declare",
                         "queueFlowResumeSizeBytes",
                         "queueFlowControlSizeBytes",
                         "maximumDeliveryAttempts",
+                        "holdOnPublishEnabled",
                         "oldestMessageAge"]);
 
             that.queueData = {}
@@ -498,6 +499,7 @@ define(["dojo/_base/declare",
             var maximumDeliveryAttempts = 
this.queueData["maximumDeliveryAttempts"];
             this.maximumDeliveryAttempts.innerHTML =
                 entities.encode(String(maximumDeliveryAttempts == 0 ? "" : 
maximumDeliveryAttempts));
+            this.holdOnPublishEnabled.innerHTML = 
entities.encode(String(this.queueData["holdOnPublishEnabled"]));
         };
 
         QueueUpdater.prototype.update = function (callback)

Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showMessage.html
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showMessage.html?rev=1753781&r1=1753780&r2=1753781&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showMessage.html
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showMessage.html
 Fri Jul 22 12:45:44 2016
@@ -52,6 +52,10 @@
             </td><td><span class="message-arrivalTime datetime"></span></td>
         </tr>
         <tr style="margin-bottom: 4pt">
+            <td style="width: 10em; vertical-align: top"><span 
style="font-weight: bold;">Not Valid Before:</span></td>
+            <td><span class="message-notValidBefore datetime"></span></td>
+        </tr>
+        <tr style="margin-bottom: 4pt">
             <td style="width: 10em; vertical-align: top"><span 
style="font-weight: bold;">Expiration:</span></td>
             <td><span class="message-expirationTime datetime"></span></td>
         </tr>

Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showQueue.html
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showQueue.html?rev=1753781&r1=1753780&r2=1753781&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showQueue.html
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showQueue.html
 Fri Jul 22 12:45:44 2016
@@ -119,6 +119,10 @@
             <div class="formLabel-labelCell">Maximum Delivery Attempts:</div>
             <div class="maximumDeliveryAttempts"></div>
         </div>
+        <div class="clear">
+            <div class="formLabel-labelCell">Hold on Publish Enabled:</div>
+            <div class="holdOnPublishEnabled"></div>
+        </div>
         <div class="clear messageGroups">
           <div class="clear">
             <div class="messageGroupKeyLabel formLabel-labelCell ">Message 
Group Key:</div>



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

Reply via email to