From ac0eb22016bf9ae223f147927ba76add8d25dc31 Mon Sep 17 00:00:00 2001 From: Arnaud Simon Date: Mon, 20 Oct 2008 09:36:38 +0000 Subject: qpid-1374: Added handling of null message properties git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@706166 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/client/message/AbstractJMSMessageFactory.java | 14 ++++++++++++-- .../apache/qpid/client/message/MessageFactoryRegistry.java | 8 ++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) (limited to 'java/client/src') diff --git a/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessageFactory.java b/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessageFactory.java index 54a845ceef..3071abf6ff 100644 --- a/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessageFactory.java +++ b/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessageFactory.java @@ -131,8 +131,18 @@ public abstract class AbstractJMSMessageFactory implements MessageFactory .remaining()); } // set the properties of this message - MessageProperties mprop = (MessageProperties) contentHeader[0]; - DeliveryProperties devprop = (DeliveryProperties) contentHeader[1]; + MessageProperties mprop; + DeliveryProperties devprop; + if( contentHeader.length >1 ) + { + mprop = (MessageProperties) contentHeader[0]; + devprop = (DeliveryProperties) contentHeader[1]; + } + else + { + mprop = new MessageProperties(); + devprop = (DeliveryProperties) contentHeader[0]; + } AMQMessageDelegate delegate = new AMQMessageDelegate_0_10(mprop, devprop, messageNbr); diff --git a/java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java b/java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java index 948d6d0d7d..461fec73bc 100644 --- a/java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java +++ b/java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java @@ -125,12 +125,16 @@ public class MessageFactoryRegistry { MessageProperties mprop = transfer.getHeader().get(MessageProperties.class); - String messageType = mprop.getContentType(); - if (messageType == null) + String messageType = ""; + if ( mprop == null || mprop.getContentType() == null) { _logger.debug("no message type specified, building a byte message"); messageType = JMSBytesMessage.MIME_TYPE; } + else + { + messageType = mprop.getContentType(); + } MessageFactory mf = _mimeStringToFactoryMap.get(messageType); if (mf == null) { -- cgit v1.2.1