summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2009-02-06 22:04:30 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2009-02-06 22:04:30 +0000
commite776e1e5749b226bf5bd409d4c0295b8ee3bdffb (patch)
tree4cc86298d1a82db7f22c9d50efd85cc30e0efc13
parent5e264eb11619b5088776a36546acd06415299314 (diff)
downloadqpid-python-e776e1e5749b226bf5bd409d4c0295b8ee3bdffb.tar.gz
This is a fix for the problem highlighted in QPID-1374
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@741754 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessageFactory.java26
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/message/MessageFactory.java6
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java6
3 files changed, 15 insertions, 23 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessageFactory.java b/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessageFactory.java
index 3071abf6ff..e719c9a4b2 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessageFactory.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessageFactory.java
@@ -27,7 +27,6 @@ import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.framing.ContentBody;
import org.apache.qpid.framing.ContentHeaderBody;
import org.apache.qpid.framing.BasicContentHeaderProperties;
-import org.apache.qpid.transport.Struct;
import org.apache.qpid.transport.MessageProperties;
import org.apache.qpid.transport.DeliveryProperties;
@@ -109,7 +108,8 @@ public abstract class AbstractJMSMessageFactory implements MessageFactory
protected abstract AbstractJMSMessage createMessage(AMQMessageDelegate delegate, ByteBuffer data) throws AMQException;
- protected AbstractJMSMessage create010MessageWithBody(long messageNbr, Struct[] contentHeader,
+ protected AbstractJMSMessage create010MessageWithBody(long messageNbr, MessageProperties msgProps,
+ DeliveryProperties deliveryProps,
java.nio.ByteBuffer body) throws AMQException
{
ByteBuffer data;
@@ -130,21 +130,7 @@ public abstract class AbstractJMSMessageFactory implements MessageFactory
_logger.debug("Creating message from buffer with position=" + data.position() + " and remaining=" + data
.remaining());
}
- // set the properties of this message
- 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);
+ AMQMessageDelegate delegate = new AMQMessageDelegate_0_10(msgProps, deliveryProps, messageNbr);
AbstractJMSMessage message = createMessage(delegate, data);
return message;
@@ -173,12 +159,12 @@ public abstract class AbstractJMSMessageFactory implements MessageFactory
return msg;
}
- public AbstractJMSMessage createMessage(long messageNbr, boolean redelivered, Struct[] contentHeader,
- java.nio.ByteBuffer body)
+ public AbstractJMSMessage createMessage(long messageNbr, boolean redelivered, MessageProperties msgProps,
+ DeliveryProperties deliveryProps, java.nio.ByteBuffer body)
throws JMSException, AMQException
{
final AbstractJMSMessage msg =
- create010MessageWithBody(messageNbr, contentHeader, body);
+ create010MessageWithBody(messageNbr,msgProps,deliveryProps, body);
msg.setJMSRedelivered(redelivered);
msg.receivedFromServer();
return msg;
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/message/MessageFactory.java b/qpid/java/client/src/main/java/org/apache/qpid/client/message/MessageFactory.java
index e1275c37f7..f3d96cd855 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/message/MessageFactory.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/client/message/MessageFactory.java
@@ -27,7 +27,8 @@ import javax.jms.JMSException;
import org.apache.qpid.AMQException;
import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.framing.ContentHeaderBody;
-import org.apache.qpid.transport.Struct;
+import org.apache.qpid.transport.DeliveryProperties;
+import org.apache.qpid.transport.MessageProperties;
public interface MessageFactory
@@ -39,7 +40,8 @@ public interface MessageFactory
throws JMSException, AMQException;
AbstractJMSMessage createMessage(long deliveryTag, boolean redelivered,
- Struct[] contentHeader,
+ MessageProperties msgProps,
+ DeliveryProperties deliveryProps,
java.nio.ByteBuffer body)
throws JMSException, AMQException;
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java b/qpid/java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java
index 461fec73bc..d1b3baff6c 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java
@@ -148,7 +148,11 @@ public class MessageFactoryRegistry
{
redelivered = deliverProps.getRedelivered();
}
- return mf.createMessage(transfer.getId(), redelivered, transfer.getHeader().getStructs(), transfer.getBody());
+ return mf.createMessage(transfer.getId(),
+ redelivered,
+ mprop == null? new MessageProperties():mprop,
+ deliverProps == null? new DeliveryProperties():deliverProps,
+ transfer.getBody());
}
}