Author: gtully
Date: Mon Aug  9 09:12:45 2010
New Revision: 983564

URL: http://svn.apache.org/viewvc?rev=983564&view=rev
Log:
resolve: https://issues.apache.org/activemq/browse/AMQ-2840 - add test and 
apply patch with thanks

Modified:
    
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/ActiveMQMessage.java
    
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/command/ActiveMQMessageTest.java

Modified: 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/ActiveMQMessage.java
URL: 
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/ActiveMQMessage.java?rev=983564&r1=983563&r2=983564&view=diff
==============================================================================
--- 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/ActiveMQMessage.java
 (original)
+++ 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/ActiveMQMessage.java
 Mon Aug  9 09:12:45 2010
@@ -273,7 +273,7 @@ public class ActiveMQMessage extends Mes
 
     public boolean propertyExists(String name) throws JMSException {
         try {
-            return this.getProperties().containsKey(name);
+            return (this.getProperties().containsKey(name) || 
getObjectProperty(name)!= null);
         } catch (IOException e) {
             throw JMSExceptionSupport.create(e);
         }
@@ -281,7 +281,9 @@ public class ActiveMQMessage extends Mes
 
     public Enumeration getPropertyNames() throws JMSException {
         try {
-            return new 
Vector<String>(this.getProperties().keySet()).elements();
+            Vector<String> result = new 
Vector<String>(this.getProperties().keySet());
+            result.addAll(new Vector<String>(JMS_PROPERTY_SETERS.keySet()));
+            return result.elements();
         } catch (IOException e) {
             throw JMSExceptionSupport.create(e);
         }

Modified: 
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/command/ActiveMQMessageTest.java
URL: 
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/command/ActiveMQMessageTest.java?rev=983564&r1=983563&r2=983564&view=diff
==============================================================================
--- 
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/command/ActiveMQMessageTest.java
 (original)
+++ 
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/command/ActiveMQMessageTest.java
 Mon Aug  9 09:12:45 2010
@@ -281,6 +281,9 @@ public class ActiveMQMessageTest extends
         ActiveMQMessage msg = new ActiveMQMessage();
         msg.setStringProperty("test", "test");
         assertTrue(msg.propertyExists("test"));
+
+        msg.setIntProperty("JMSXDeliveryCount", 1);
+        assertTrue(msg.propertyExists("JMSXDeliveryCount"));
     }
 
     public void testGetBooleanProperty() throws JMSException {
@@ -349,11 +352,19 @@ public class ActiveMQMessageTest extends
 
     public void testGetPropertyNames() throws JMSException {
         ActiveMQMessage msg = new ActiveMQMessage();
-        String name = "floatProperty";
-        msg.setFloatProperty(name, 1.3f);
+        String name1 = "floatProperty";
+        msg.setFloatProperty(name1, 1.3f);
+        String name2 = "JMSXDeliveryCount";
+        msg.setIntProperty("name2", 1);
+        boolean found1 = false;
+        boolean found2 = false;
         for (Enumeration iter = msg.getPropertyNames(); 
iter.hasMoreElements();) {
-            assertTrue(iter.nextElement().equals(name));
+            Object element = iter.nextElement();
+            found1 |= element.equals(name1);
+            found2 |= element.equals(name2);
         }
+        assertTrue("prop name1 found", found1);
+        assertTrue("prop name2 found", found2);
     }
 
     public void testSetObjectProperty() throws JMSException {


Reply via email to