diff options
-rw-r--r-- | qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractBytesMessage.java | 13 | ||||
-rw-r--r-- | qpid/java/common/src/main/java/org/apache/qpid/transport/util/Functions.java | 7 |
2 files changed, 16 insertions, 4 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractBytesMessage.java b/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractBytesMessage.java index 234212c301..535b55ced5 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractBytesMessage.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractBytesMessage.java @@ -85,11 +85,18 @@ public abstract class AbstractBytesMessage extends AbstractJMSMessage } public String toBodyString() throws JMSException - { - checkReadable(); + { try { - return Functions.str(_data.buf(), 100); + if (_data != null) + { + return Functions.str(_data.buf(), 100,0); + } + else + { + return ""; + } + } catch (Exception e) { diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/util/Functions.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/util/Functions.java index c220694b50..9f1c0ca9eb 100644 --- a/qpid/java/common/src/main/java/org/apache/qpid/transport/util/Functions.java +++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/util/Functions.java @@ -57,12 +57,17 @@ public class Functions public static final String str(ByteBuffer buf, int limit) { + return str(buf, limit,buf.position()); + } + + public static final String str(ByteBuffer buf, int limit,int start) + { StringBuilder str = new StringBuilder(); str.append('"'); for (int i = 0; i < min(buf.remaining(), limit); i++) { - byte c = buf.get(buf.position() + i); + byte c = buf.get(start + i); if (c > 31 && c < 127 && c != '\\') { |