summaryrefslogtreecommitdiff
path: root/qpid/java/client/src/main/java/org/apache/qpid/client/message/JMSHeaderAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/client/src/main/java/org/apache/qpid/client/message/JMSHeaderAdapter.java')
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/message/JMSHeaderAdapter.java31
1 files changed, 27 insertions, 4 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/message/JMSHeaderAdapter.java b/qpid/java/client/src/main/java/org/apache/qpid/client/message/JMSHeaderAdapter.java
index e295d4a2a0..52c0eb263b 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/message/JMSHeaderAdapter.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/client/message/JMSHeaderAdapter.java
@@ -20,12 +20,15 @@
*/
package org.apache.qpid.client.message;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
import java.util.Enumeration;
import javax.jms.JMSException;
import javax.jms.MessageFormatException;
-import org.apache.mina.common.ByteBuffer;
+import java.nio.ByteBuffer;
import org.apache.qpid.AMQPInvalidClassException;
import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.framing.FieldTable;
@@ -282,7 +285,7 @@ public final class JMSHeaderAdapter
s = String.valueOf(o);
}
}
- }//else return s // null;
+ }//else return s // null;
}
return s;
@@ -458,9 +461,29 @@ public final class JMSHeaderAdapter
return getHeaders().isEmpty();
}
- public void writeToBuffer(ByteBuffer data)
+ public void writeToBuffer(final ByteBuffer data)
{
- getHeaders().writeToBuffer(data);
+ try
+ {
+ getHeaders().writeToBuffer(new DataOutputStream(new OutputStream()
+ {
+ @Override
+ public void write(final int b)
+ {
+ data.put((byte)b);
+ }
+
+ @Override
+ public void write(final byte[] b, final int off, final int len)
+ {
+ data.put(b, off, len);
+ }
+ }));
+ }
+ catch (IOException e)
+ {
+ throw new IllegalArgumentException("Unexpected IO Exception - should never happen", e);
+ }
}
public Enumeration getMapNames()