Author: marnie
Date: Thu Jan 25 13:07:49 2007
New Revision: 499975
URL: http://svn.apache.org/viewvc?view=rev&rev=499975
Log:
QPID-315
Moved message conversion logic from BasicMessageProducer to MessageConverter
Added correlation id to AbstractJMSMessage.toString()
Modified:
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/MessageConverter.java
Modified:
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java?view=diff&rev=499975&r1=499974&r2=499975
==============================================================================
---
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
(original)
+++
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
Thu Jan 25 13:07:49 2007
@@ -25,6 +25,7 @@
import org.apache.qpid.AMQException;
import org.apache.qpid.client.message.AbstractJMSMessage;
import org.apache.qpid.client.message.JMSBytesMessage;
+import org.apache.qpid.client.message.MessageConverter;
import org.apache.qpid.client.protocol.AMQProtocolHandler;
import org.apache.qpid.framing.*;
@@ -367,111 +368,30 @@
if (message instanceof BytesMessage)
{
- BytesMessage bytesMessage = (BytesMessage) message;
- bytesMessage.reset();
-
- JMSBytesMessage nativeMsg = (JMSBytesMessage)
_session.createBytesMessage();
-
-
- byte[] buf = new byte[1024];
-
- int len;
-
- while ((len = bytesMessage.readBytes(buf)) != -1)
- {
- nativeMsg.writeBytes(buf, 0, len);
- }
-
- newMessage = nativeMsg;
+ newMessage = new
MessageConverter((BytesMessage)message).getConvertedMessage();
}
else if (message instanceof MapMessage)
{
- MapMessage origMessage = (MapMessage) message;
- MapMessage nativeMessage = _session.createMapMessage();
-
- Enumeration mapNames = origMessage.getMapNames();
- while (mapNames.hasMoreElements())
- {
- String name = (String) mapNames.nextElement();
- nativeMessage.setObject(name, origMessage.getObject(name));
- }
- newMessage = (AbstractJMSMessage) nativeMessage;
+ newMessage = new
MessageConverter((MapMessage)message).getConvertedMessage();
}
else if (message instanceof ObjectMessage)
{
- ObjectMessage origMessage = (ObjectMessage) message;
- ObjectMessage nativeMessage = _session.createObjectMessage();
-
- nativeMessage.setObject(origMessage.getObject());
-
- newMessage = (AbstractJMSMessage) nativeMessage;
+ newMessage = new
MessageConverter((ObjectMessage)message).getConvertedMessage();
}
else if (message instanceof TextMessage)
{
- TextMessage origMessage = (TextMessage) message;
- TextMessage nativeMessage = _session.createTextMessage();
-
- nativeMessage.setText(origMessage.getText());
-
- newMessage = (AbstractJMSMessage) nativeMessage;
+ newMessage = new
MessageConverter((TextMessage)message).getConvertedMessage();
}
else if (message instanceof StreamMessage)
{
- StreamMessage origMessage = (StreamMessage) message;
- StreamMessage nativeMessage = _session.createStreamMessage();
-
-
- try
- {
- origMessage.reset();
- while (true)
- {
- nativeMessage.writeObject(origMessage.readObject());
- }
- }
- catch (MessageEOFException e)
- {
- ;//
- }
- newMessage = (AbstractJMSMessage) nativeMessage;
+ newMessage = new
MessageConverter((StreamMessage)message).getConvertedMessage();
}
else
{
+ //TODO; Do we really want to create an empty message here ?
newMessage = (AbstractJMSMessage) _session.createMessage();
-
+ return new MessageConverter(newMessage).getConvertedMessage();
}
-
- Enumeration propertyNames = message.getPropertyNames();
- while (propertyNames.hasMoreElements())
- {
- String propertyName =
String.valueOf(propertyNames.nextElement());
- if (!propertyName.startsWith("JMSX_"))
- {
- Object value = message.getObjectProperty(propertyName);
- newMessage.setObjectProperty(propertyName, value);
- }
- }
-
- newMessage.setJMSDeliveryMode(message.getJMSDeliveryMode());
-
-
- int priority = message.getJMSPriority();
- if (priority < 0)
- {
- priority = 0;
- }
- else if (priority > 9)
- {
- priority = 9;
- }
-
- newMessage.setJMSPriority(priority);
- if (message.getJMSReplyTo() != null)
- {
- newMessage.setJMSReplyTo(message.getJMSReplyTo());
- }
- newMessage.setJMSType(message.getJMSType());
-
if (newMessage != null)
{
Modified:
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java?view=diff&rev=499975&r1=499974&r2=499975
==============================================================================
---
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java
(original)
+++
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java
Thu Jan 25 13:07:49 2007
@@ -471,6 +471,7 @@
{
StringBuffer buf = new StringBuffer("Body:\n");
buf.append(toBodyString());
+ buf.append("\nJMS Correlation ID: ").append(getJMSCorrelationID());
buf.append("\nJMS timestamp: ").append(getJMSTimestamp());
buf.append("\nJMS expiration: ").append(getJMSExpiration());
buf.append("\nJMS priority: ").append(getJMSPriority());
Modified:
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/MessageConverter.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/MessageConverter.java?view=diff&rev=499975&r1=499974&r2=499975
==============================================================================
---
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/MessageConverter.java
(original)
+++
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/MessageConverter.java
Thu Jan 25 13:07:49 2007
@@ -37,17 +37,9 @@
*/
private AbstractJMSMessage _newMessage;
- /*
- * Message instance is not one of the Qpid implementations
- */
- public MessageConverter(Message message)
+ public MessageConverter(AbstractJMSMessage message) throws JMSException
{
- _newMessage = new JMSBytesMessage();
- }
-
- public MessageConverter(AbstractJMSMessage message)
- {
-
+ _newMessage = message;
}
public MessageConverter(BytesMessage message) throws JMSException
@@ -149,7 +141,7 @@
while (propertyNames.hasMoreElements())
{
String propertyName = String.valueOf(propertyNames.nextElement());
- //TODO: Shouldn't need to check for JMS properties here as don't
think getPropertyNames() returns them
+ //TODO: Shouldn't need to check for JMS properties here as don't
think getPropertyNames() should return them
if (!propertyName.startsWith("JMSX_"))
{
Object value = message.getObjectProperty(propertyName);