This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch 1.x in repository https://gitbox.apache.org/repos/asf/qpid-jms.git
commit 68ecb7a3e36f2d17b7b17fed33ba607591ed4209 Author: Timothy Bish <[email protected]> AuthorDate: Thu Jul 7 15:06:52 2022 -0400 QPIDJMS-572 Ensure that readable buffer string read consumes the bytes Ensures that when reading a string the readable buffer consumes the bytes by advancing the read index as defined in the interface API docs. (cherry picked from commit f7564d558dfc364284b1bd099242d044d422514c) --- .../org/apache/qpid/jms/provider/amqp/message/AmqpReadableBuffer.java | 4 ++-- .../apache/qpid/jms/provider/amqp/message/AmqpReadableBufferTest.java | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpReadableBuffer.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpReadableBuffer.java index 6ae43bbf..828fd18f 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpReadableBuffer.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpReadableBuffer.java @@ -209,11 +209,11 @@ public class AmqpReadableBuffer implements ReadableBuffer { @Override public String readUTF8() throws CharacterCodingException { - return buffer.toString(StandardCharsets.UTF_8); + return buffer.readCharSequence(buffer.readableBytes(), StandardCharsets.UTF_8).toString(); } @Override public String readString(CharsetDecoder decoder) throws CharacterCodingException { - return buffer.toString(StandardCharsets.UTF_8); + return buffer.readCharSequence(buffer.readableBytes(), decoder.charset()).toString(); } } diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpReadableBufferTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpReadableBufferTest.java index fc5c99f3..3eaa130d 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpReadableBufferTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpReadableBufferTest.java @@ -444,6 +444,7 @@ public class AmqpReadableBufferTest { AmqpReadableBuffer buffer = new AmqpReadableBuffer(byteBuffer); assertEquals(testString, buffer.readUTF8()); + assertFalse(buffer.hasRemaining()); } @Test @@ -455,5 +456,6 @@ public class AmqpReadableBufferTest { AmqpReadableBuffer buffer = new AmqpReadableBuffer(byteBuffer); assertEquals(testString, buffer.readString(StandardCharsets.UTF_8.newDecoder())); + assertFalse(buffer.hasRemaining()); } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
