summaryrefslogtreecommitdiff
path: root/qpid/java/client/src/main/java/org/apache/qpid/nclient/util/MessagePartListenerAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/client/src/main/java/org/apache/qpid/nclient/util/MessagePartListenerAdapter.java')
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/nclient/util/MessagePartListenerAdapter.java44
1 files changed, 26 insertions, 18 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/nclient/util/MessagePartListenerAdapter.java b/qpid/java/client/src/main/java/org/apache/qpid/nclient/util/MessagePartListenerAdapter.java
index 3f1746f48a..0e54e04a99 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/nclient/util/MessagePartListenerAdapter.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/nclient/util/MessagePartListenerAdapter.java
@@ -3,9 +3,7 @@ package org.apache.qpid.nclient.util;
import java.io.IOException;
import java.nio.ByteBuffer;
-import org.apache.qpid.transport.DeliveryProperties;
-import org.apache.qpid.transport.MessageProperties;
-import org.apache.qpid.transport.Header;
+import org.apache.qpid.transport.*;
import org.apache.qpid.nclient.MessagePartListener;
/**
@@ -26,16 +24,35 @@ public class MessagePartListenerAdapter implements MessagePartListener
_adaptee = listener;
}
- public void messageTransfer(int transferId)
+ public void messageTransfer(MessageTransfer xfr)
{
- _currentMsg = new ByteBufferMessage(transferId);
- }
+ _currentMsg = new ByteBufferMessage(xfr.getId());
+
+ for (Struct st : xfr.getHeader().getStructs())
+ {
+ if(st instanceof DeliveryProperties)
+ {
+ _currentMsg.setDeliveryProperties((DeliveryProperties)st);
+
+ }
+ else if(st instanceof MessageProperties)
+ {
+ _currentMsg.setMessageProperties((MessageProperties)st);
+ }
+
+ }
+
+
+ ByteBuffer body = xfr.getBody();
+ if (body == null)
+ {
+ body = ByteBuffer.allocate(0);
+ }
+
- public void data(ByteBuffer src)
- {
try
{
- _currentMsg.appendData(src);
+ _currentMsg.appendData(body);
}
catch(IOException e)
{
@@ -43,16 +60,7 @@ public class MessagePartListenerAdapter implements MessagePartListener
// doesn't occur as we are using
// a ByteBuffer
}
- }
- public void messageHeader(Header header)
- {
- _currentMsg.setDeliveryProperties(header.get(DeliveryProperties.class));
- _currentMsg.setMessageProperties(header.get(MessageProperties.class));
- }
-
- public void messageReceived()
- {
_adaptee.onMessage(_currentMsg);
}