Repository: qpid-jms Updated Branches: refs/heads/master 0d74de27b -> 1c44f9402
update correlationid setter Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/1c44f940 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/1c44f940 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/1c44f940 Branch: refs/heads/master Commit: 1c44f94024e45c8126fe50baf0070ab38281bc92 Parents: 89e8e8f Author: Robert Gemmell <[email protected]> Authored: Wed Oct 8 18:00:40 2014 +0100 Committer: Robert Gemmell <[email protected]> Committed: Wed Oct 8 18:01:56 2014 +0100 ---------------------------------------------------------------------- .../jms/message/facade/JmsMessageFacade.java | 4 +++- .../amqp/message/AmqpJmsMessageFacade.java | 23 ++++++++------------ .../amqp/message/AmqpJmsMessageFacadeTest.java | 15 ++++++++----- 3 files changed, 22 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1c44f940/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java index c726edd..4cfd57b 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java @@ -175,8 +175,10 @@ public interface JmsMessageFacade { * * @param correlationId * The correlation ID to set on this message, or null to clear. + * + * @throws JMSException if an error occurs while setting the correlation ID. */ - void setCorrelationId(String correlationId); + void setCorrelationId(String correlationId) throws JMSException; /** * Gets the set correlation ID of the message in raw bytes form. If no ID was http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1c44f940/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java index 21067b3..8075b35 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java @@ -415,12 +415,12 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade { } @Override - public void setCorrelationId(String correlationId) { + public void setCorrelationId(String correlationId) throws IdConversionException { AmqpMessageIdHelper messageIdHelper = AmqpMessageIdHelper.INSTANCE; + boolean appSpecific = false; if (correlationId == null) { message.setCorrelationId(null); } else { - boolean appSpecific = false; boolean hasMessageIdPrefix = messageIdHelper.hasMessageIdPrefix(correlationId); if (!hasMessageIdPrefix) { appSpecific = true; @@ -429,22 +429,17 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade { String stripped = messageIdHelper.stripMessageIdPrefix(correlationId); if (hasMessageIdPrefix) { - try { - Object idObject = messageIdHelper.toIdObject(stripped); - message.setCorrelationId(idObject); - } catch (IdConversionException e) { - // TODO decided what to do with this exception - throw new RuntimeException(e); - } + Object idObject = messageIdHelper.toIdObject(stripped); + message.setCorrelationId(idObject); } else { message.setCorrelationId(stripped); } + } - if (appSpecific) { - setMessageAnnotation(AmqpMessageSupport.JMS_APP_CORRELATION_ID, true); - } else { - removeMessageAnnotation(AmqpMessageSupport.JMS_APP_CORRELATION_ID); - } + if (appSpecific) { + setMessageAnnotation(AmqpMessageSupport.JMS_APP_CORRELATION_ID, true); + } else { + removeMessageAnnotation(AmqpMessageSupport.JMS_APP_CORRELATION_ID); } } http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1c44f940/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java index 7fece13..7631886 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java @@ -756,9 +756,10 @@ public class AmqpJmsMessageFacadeTest { * Test that setting then getting an application-specific String as the CorrelationId returns * the expected value and sets the expected value on the underlying AMQP message, additionally * setting the annotation to indicate an application-specific correlation-id + * @throws Exception if unexpected error */ @Test - public void testSetGetCorrelationIdOnNewMessageWithStringAppSpecific() { + public void testSetGetCorrelationIdOnNewMessageWithStringAppSpecific() throws Exception { String testCorrelationId = "myAppSpecificStringCorrelationId"; AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade(); @@ -778,9 +779,10 @@ public class AmqpJmsMessageFacadeTest { * Test that setting then getting an JMSMessageID String as the CorrelationId returns * the expected value and sets the expected value on the underlying AMQP message, additionally * checking it does not set the annotation to indicate an application-specific correlation-id + * @throws Exception if unexpected error */ @Test - public void testSetGetCorrelationIdOnNewMessageWithStringJMSMessageID() { + public void testSetGetCorrelationIdOnNewMessageWithStringJMSMessageID() throws Exception { String testCorrelationId = "ID:myJMSMessageIDStringCorrelationId"; //The underlying AMQP message should not contain the ID: prefix String stripped = AmqpMessageIdHelper.INSTANCE.stripMessageIdPrefix(testCorrelationId); @@ -833,9 +835,10 @@ public class AmqpJmsMessageFacadeTest { /** * Test that setting then getting a UUID as the correlationId returns the expected value, * and sets the expected value on the underlying AMQP message. + * @throws Exception if unexpected error */ @Test - public void testSetGetCorrelationIdOnNewMessageWithUUID() { + public void testSetGetCorrelationIdOnNewMessageWithUUID() throws Exception { UUID testCorrelationId = UUID.randomUUID(); String converted = appendIdAndTypePrefix(testCorrelationId); @@ -858,9 +861,10 @@ public class AmqpJmsMessageFacadeTest { /** * Test that setting then getting a ulong correlationId (using BigInteger) returns the expected value * and sets the expected value on the underlying AMQP message + * @throws Exception if unexpected error */ @Test - public void testSetGetCorrelationIdOnNewMessageWithUnsignedLong() { + public void testSetGetCorrelationIdOnNewMessageWithUnsignedLong() throws Exception { Object testCorrelationId = UnsignedLong.valueOf(123456789L); String converted = appendIdAndTypePrefix(testCorrelationId); @@ -883,9 +887,10 @@ public class AmqpJmsMessageFacadeTest { /** * Test that setting then getting binary as the correlationId returns the expected value * and sets the correlation id field as expected on the underlying AMQP message + * @throws Exception if unexpected error */ @Test - public void testSetGetCorrelationIdOnNewMessageWithBinary() { + public void testSetGetCorrelationIdOnNewMessageWithBinary() throws Exception { Binary testCorrelationId = createBinaryId(); String converted = appendIdAndTypePrefix(testCorrelationId); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
