Author: rgodfrey
Date: Wed Nov 28 09:03:46 2012
New Revision: 1414597

URL: http://svn.apache.org/viewvc?rev=1414597&view=rev
Log:
QPID-4455 : Queue browsers were not returning jms messages
merge from trunk r1412280

Modified:
    
qpid/branches/0.20/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/QueueBrowserImpl.java

Modified: 
qpid/branches/0.20/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/QueueBrowserImpl.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/0.20/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/QueueBrowserImpl.java?rev=1414597&r1=1414596&r2=1414597&view=diff
==============================================================================
--- 
qpid/branches/0.20/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/QueueBrowserImpl.java
 (original)
+++ 
qpid/branches/0.20/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/QueueBrowserImpl.java
 Wed Nov 28 09:03:46 2012
@@ -90,10 +90,10 @@ public class QueueBrowserImpl implements
         }
     }
 
-    private final class MessageEnumeration implements Enumeration<Message>
+    private final class MessageEnumeration implements Enumeration<MessageImpl>
     {
         private Receiver _receiver;
-        private Message _nextElement;
+        private MessageImpl _nextElement;
         private boolean _needNext = true;
 
         MessageEnumeration() throws JMSException
@@ -141,13 +141,13 @@ public class QueueBrowserImpl implements
             if( _needNext )
             {
                 _needNext = false;
-                _nextElement = _receiver.receive(0L);
+                _nextElement = createJMSMessage(_receiver.receive(0L));
                 if( _nextElement == null )
                 {
                     // Drain to verify there really are no more messages.
                     _receiver.drain();
                     _receiver.drainWait();
-                    _nextElement = _receiver.receive(0L);
+                    _nextElement = createJMSMessage(_receiver.receive(0L));
                     if( _nextElement == null )
                     {
                         close();
@@ -163,11 +163,11 @@ public class QueueBrowserImpl implements
         }
 
         @Override
-        public Message nextElement()
+        public MessageImpl nextElement()
         {
             if( hasMoreElements() )
             {
-                Message message = _nextElement;
+                MessageImpl message = _nextElement;
                 _nextElement = null;
                 _needNext = true;
                 return message;
@@ -178,4 +178,20 @@ public class QueueBrowserImpl implements
             }
         }
     }
+
+    MessageImpl createJMSMessage(final Message msg)
+    {
+        if(msg != null)
+        {
+            final MessageImpl message = 
_session.getMessageFactory().createMessage(_queue, msg);
+            message.setFromQueue(true);
+            message.setFromTopic(false);
+            return message;
+        }
+        else
+        {
+            return null;
+        }
+    }
+
 }



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

Reply via email to