activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gtu...@apache.org
Subject svn commit: r987443 - in /activemq/trunk/activemq-core/src: main/java/org/apache/activemq/command/ActiveMQMessage.java test/java/org/apache/activemq/command/ActiveMQMessageTest.java
Date Fri, 20 Aug 2010 09:48:45 GMT
Author: gtully
Date: Fri Aug 20 09:48:45 2010
New Revision: 987443

URL: http://svn.apache.org/viewvc?rev=987443&view=rev
Log:
resolve https://issues.apache.org/activemq/browse/AMQ-2840 - revert to 5.3 behaviour for tck
compliance, add new getAllPropertyNames method that returns all props, including JMS standard
props and JMSX extnsion props

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=987443&r1=987442&r2=987443&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
Fri Aug 20 09:48:45 2010
@@ -282,12 +282,21 @@ public class ActiveMQMessage extends Mes
     public Enumeration getPropertyNames() throws JMSException {
         try {
             Vector<String> result = new Vector<String>(this.getProperties().keySet());
-            // omit standard jms props as per spec
-            for (String propName : JMS_PROPERTY_SETERS.keySet()) {
-                if (propName.startsWith("JMSX")) {
-                    result.add(propName);
-                }
-            }
+            return result.elements();
+        } catch (IOException e) {
+            throw JMSExceptionSupport.create(e);
+        }
+    }
+
+    /**
+     * return all property names, including standard JMS properties and JMSX properties
+     * @return  Enumeration of all property names on this message
+     * @throws JMSException
+     */
+    public Enumeration getAllPropertyNames() throws JMSException {
+        try {
+            Vector<String> result = new Vector<String>(this.getProperties().keySet());
+            result.addAll(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=987443&r1=987442&r2=987443&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
Fri Aug 20 09:48:45 2010
@@ -356,15 +356,43 @@ public class ActiveMQMessageTest extends
         msg.setFloatProperty(name1, 1.3f);
         String name2 = "JMSXDeliveryCount";
         msg.setIntProperty(name2, 1);
+        String name3 = "JMSRedelivered";
+        msg.setBooleanProperty(name3, false);
         boolean found1 = false;
         boolean found2 = false;
+        boolean found3 = false;
         for (Enumeration iter = msg.getPropertyNames(); iter.hasMoreElements();) {
             Object element = iter.nextElement();
             found1 |= element.equals(name1);
             found2 |= element.equals(name2);
+            found3 |= element.equals(name3);
+        }
+        assertTrue("prop name1 found", found1);
+        // spec compliance, only non JMS (and JMSX) props returned
+        assertFalse("prop name2 not found", found2);
+        assertFalse("prop name4 not found", found3);
+    }
+
+    public void testGetAllPropertyNames() throws JMSException {
+        ActiveMQMessage msg = new ActiveMQMessage();
+        String name1 = "floatProperty";
+        msg.setFloatProperty(name1, 1.3f);
+        String name2 = "JMSXDeliveryCount";
+        msg.setIntProperty(name2, 1);
+        String name3 = "JMSRedelivered";
+        msg.setBooleanProperty(name3, false);
+        boolean found1 = false;
+        boolean found2 = false;
+        boolean found3 = false;
+        for (Enumeration iter = msg.getAllPropertyNames(); iter.hasMoreElements();) {
+            Object element = iter.nextElement();
+            found1 |= element.equals(name1);
+            found2 |= element.equals(name2);
+            found3 |= element.equals(name3);
         }
         assertTrue("prop name1 found", found1);
         assertTrue("prop name2 found", found2);
+        assertTrue("prop name4 found", found3);
     }
 
     public void testSetObjectProperty() throws JMSException {



Mime
View raw message