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