Repository: qpid-jms
Updated Branches:
  refs/heads/master bb56d0ffd -> 26f881bf3


QPIDJMS-130: clearing the properties of a received message should make them 
writable again


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/26f881bf
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/26f881bf
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/26f881bf

Branch: refs/heads/master
Commit: 26f881bf3be693b4734a52aedd26f12357549e97
Parents: bb56d0f
Author: Robert Gemmell <rob...@apache.org>
Authored: Thu Oct 15 17:31:43 2015 +0100
Committer: Robert Gemmell <rob...@apache.org>
Committed: Thu Oct 15 17:35:06 2015 +0100

----------------------------------------------------------------------
 .../org/apache/qpid/jms/message/JmsMessage.java |  1 +
 .../apache/qpid/jms/message/JmsMessageTest.java | 21 ++++++++++++++++++++
 2 files changed, 22 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/26f881bf/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
index 4fb1df9..fb788fe 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
@@ -249,6 +249,7 @@ public class JmsMessage implements javax.jms.Message {
     @Override
     public void clearProperties() throws JMSException {
         JmsMessagePropertyIntercepter.clearProperties(facade, true);
+        setReadOnlyProperties(false);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/26f881bf/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTest.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTest.java 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTest.java
index 4aaf1e5..a6cb1a4 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTest.java
@@ -350,6 +350,27 @@ public class JmsMessageTest {
     }
 
     @Test
+    public void testClearPropertiesClearsReadOnly() throws Exception {
+        JmsMessage msg = factory.createMessage();
+        msg.onDispatch();
+
+        try {
+            msg.setObjectProperty("test", "value");
+            fail("should throw exception");
+        } catch (MessageNotWriteableException e) {
+            // Expected
+        }
+
+        assertTrue(msg.isReadOnlyProperties());
+
+        msg.clearProperties();
+
+        msg.setObjectProperty("test", "value");
+
+        assertFalse(msg.isReadOnlyProperties());
+    }
+
+    @Test
     public void testClearPropertiesClearsFacadeGroupSequence() throws 
JMSException {
         JmsMessageFacade facade = Mockito.mock(JmsMessageFacade.class);
         JmsMessage msg = new JmsMessage(facade);


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

Reply via email to