diff options
| author | Martin Ritchie <ritchiem@apache.org> | 2007-01-31 17:31:04 +0000 |
|---|---|---|
| committer | Martin Ritchie <ritchiem@apache.org> | 2007-01-31 17:31:04 +0000 |
| commit | 3d87ce4f6a3b0f393b8ee5caa8c6aef41755aea4 (patch) | |
| tree | 9e480760cf19c61c597661267a15c22f4b4573c9 /java/client/src/main | |
| parent | 335e726cb1c219ad4e07343f756fc758f6bed352 (diff) | |
| download | qpid-python-3d87ce4f6a3b0f393b8ee5caa8c6aef41755aea4.tar.gz | |
QPID-333 Message Properties on non Qpid Messages are not preserved
Updated MessageConverter to have a constructor that takes a Message type.
Updated MessageConverterTest to use the new NonQpidMessage to test it out.
JMSHeaderAdapter.java - whitespace changes and comment noting that null return is required.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@501917 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/client/src/main')
3 files changed, 23 insertions, 15 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java b/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java index 4426a7deee..f56fc40360 100644 --- a/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java +++ b/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java @@ -388,9 +388,7 @@ public class BasicMessageProducer extends Closeable implements org.apache.qpid.j } else { - //TODO; Do we really want to create an empty message here ? - newMessage = (AbstractJMSMessage) _session.createMessage(); - return new MessageConverter(newMessage).getConvertedMessage(); + newMessage = new MessageConverter(message).getConvertedMessage(); } if (newMessage != null) diff --git a/java/client/src/main/java/org/apache/qpid/client/message/JMSHeaderAdapter.java b/java/client/src/main/java/org/apache/qpid/client/message/JMSHeaderAdapter.java index 3086e5b90a..a1e2640f21 100644 --- a/java/client/src/main/java/org/apache/qpid/client/message/JMSHeaderAdapter.java +++ b/java/client/src/main/java/org/apache/qpid/client/message/JMSHeaderAdapter.java @@ -269,7 +269,7 @@ public final class JMSHeaderAdapter s = String.valueOf(o);
}
}
- }
+ }//else return s // null;
}
return s;
@@ -508,16 +508,16 @@ public final class JMSHeaderAdapter // JMS invalid names
if ((propertyName.equals("NULL")
- || propertyName.equals("TRUE")
- || propertyName.equals("FALSE")
- || propertyName.equals("NOT")
- || propertyName.equals("AND")
- || propertyName.equals("OR")
- || propertyName.equals("BETWEEN")
- || propertyName.equals("LIKE")
- || propertyName.equals("IN")
- || propertyName.equals("IS")
- || propertyName.equals("ESCAPE")))
+ || propertyName.equals("TRUE")
+ || propertyName.equals("FALSE")
+ || propertyName.equals("NOT")
+ || propertyName.equals("AND")
+ || propertyName.equals("OR")
+ || propertyName.equals("BETWEEN")
+ || propertyName.equals("LIKE")
+ || propertyName.equals("IN")
+ || propertyName.equals("IS")
+ || propertyName.equals("ESCAPE")))
{
throw new IllegalArgumentException("Identifier '" + propertyName + "' is not allowed in JMS");
}
diff --git a/java/client/src/main/java/org/apache/qpid/client/message/MessageConverter.java b/java/client/src/main/java/org/apache/qpid/client/message/MessageConverter.java index 58089f595b..f30b8ddc9d 100644 --- a/java/client/src/main/java/org/apache/qpid/client/message/MessageConverter.java +++ b/java/client/src/main/java/org/apache/qpid/client/message/MessageConverter.java @@ -25,7 +25,8 @@ import org.apache.log4j.Logger; import javax.jms.*; import java.util.Enumeration; -public class MessageConverter { +public class MessageConverter +{ /** * Log4J logger @@ -118,6 +119,15 @@ public class MessageConverter { setMessageProperties(message); } + public MessageConverter(Message message) throws JMSException + { + //TODO; Do we really want to create an empty message here ? + BytesMessage nativeMessage = new JMSBytesMessage(); + + _newMessage = (AbstractJMSMessage) nativeMessage; + setMessageProperties(message); + } + public AbstractJMSMessage getConvertedMessage() { return _newMessage; |
