summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2007-01-18 08:41:51 +0000
committerGordon Sim <gsim@apache.org>2007-01-18 08:41:51 +0000
commit00e3fdfcfdbc0ca42b7165d3a4bba2bcb4b63480 (patch)
tree63c77ad9324689027ec9e9a48d2fa6094a507bc9 /java
parentf1e00165dd741c383bca69c448898bab4a7ce814 (diff)
downloadqpid-python-00e3fdfcfdbc0ca42b7165d3a4bba2bcb4b63480.tar.gz
* uses LONG_STRING in place of WIDE_STRING for properties set through FieldTable.setString() as these appear to all be equivalent (apart from the type code)
* uses setString instead of setAsciiString in creation of the connection.start-ok frames client properties * uses 4 bytes for the size of the BINARY value type as per the spec posted on the wiki git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@497352 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/handler/ConnectionStartMethodHandler.java8
-rw-r--r--java/common/src/main/java/org/apache/qpid/framing/AMQType.java6
-rw-r--r--java/common/src/main/java/org/apache/qpid/framing/EncodingUtils.java2
-rw-r--r--java/common/src/main/java/org/apache/qpid/framing/FieldTable.java11
-rw-r--r--java/common/src/test/java/org/apache/qpid/framing/PropertyFieldTableTest.java7
5 files changed, 12 insertions, 22 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionStartMethodHandler.java b/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionStartMethodHandler.java
index 14fab06438..d7fc86a5b0 100644
--- a/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionStartMethodHandler.java
+++ b/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionStartMethodHandler.java
@@ -118,10 +118,10 @@ public class ConnectionStartMethodHandler implements StateAwareMethodListener
stateManager.changeState(AMQState.CONNECTION_NOT_TUNED);
FieldTable clientProperties = FieldTableFactory.newFieldTable();
- clientProperties.setAsciiString(new AMQShortString(ClientProperties.instance.toString()), protocolSession.getClientID());
- clientProperties.setAsciiString(new AMQShortString(ClientProperties.product.toString()), QpidProperties.getProductName());
- clientProperties.setAsciiString(new AMQShortString(ClientProperties.version.toString()), QpidProperties.getReleaseVersion());
- clientProperties.setAsciiString(new AMQShortString(ClientProperties.platform.toString()), getFullSystemInfo());
+ clientProperties.setString(new AMQShortString(ClientProperties.instance.toString()), protocolSession.getClientID());
+ clientProperties.setString(new AMQShortString(ClientProperties.product.toString()), QpidProperties.getProductName());
+ clientProperties.setString(new AMQShortString(ClientProperties.version.toString()), QpidProperties.getReleaseVersion());
+ clientProperties.setString(new AMQShortString(ClientProperties.platform.toString()), getFullSystemInfo());
// AMQP version change: Hardwire the version to 0-8 (major=8, minor=0)
// TODO: Connect this to the session version obtained from ProtocolInitiation for this session.
// Be aware of possible changes to parameter order as versions change.
diff --git a/java/common/src/main/java/org/apache/qpid/framing/AMQType.java b/java/common/src/main/java/org/apache/qpid/framing/AMQType.java
index 23c1929205..5175eace1e 100644
--- a/java/common/src/main/java/org/apache/qpid/framing/AMQType.java
+++ b/java/common/src/main/java/org/apache/qpid/framing/AMQType.java
@@ -230,7 +230,7 @@ public enum AMQType
{
public int getEncodingSize(Object value)
{
- return 1 + (value == null ? 0 : ((byte[]) value).length);
+ return EncodingUtils.encodedLongstrLength((byte[]) value);
}
@@ -250,12 +250,12 @@ public enum AMQType
public void writeValueImpl(Object value, ByteBuffer buffer)
{
- EncodingUtils.writeBytes(buffer, (byte[]) value);
+ EncodingUtils.writeLongstr(buffer, (byte[]) value);
}
public Object readValueFromBuffer(ByteBuffer buffer)
{
- return EncodingUtils.readBytes(buffer);
+ return EncodingUtils.readLongstr(buffer);
}
},
diff --git a/java/common/src/main/java/org/apache/qpid/framing/EncodingUtils.java b/java/common/src/main/java/org/apache/qpid/framing/EncodingUtils.java
index c4d568ba88..339f83588d 100644
--- a/java/common/src/main/java/org/apache/qpid/framing/EncodingUtils.java
+++ b/java/common/src/main/java/org/apache/qpid/framing/EncodingUtils.java
@@ -747,7 +747,7 @@ public class EncodingUtils
}
}
- public static byte[] readLongstr(ByteBuffer buffer) throws AMQFrameDecodingException
+ public static byte[] readLongstr(ByteBuffer buffer)
{
long length = buffer.getUnsignedInt();
if (length == 0)
diff --git a/java/common/src/main/java/org/apache/qpid/framing/FieldTable.java b/java/common/src/main/java/org/apache/qpid/framing/FieldTable.java
index 147601b9f9..1a72910536 100644
--- a/java/common/src/main/java/org/apache/qpid/framing/FieldTable.java
+++ b/java/common/src/main/java/org/apache/qpid/framing/FieldTable.java
@@ -448,7 +448,6 @@ public class FieldTable
{
return setProperty(string, AMQType.ASCII_STRING.asTypedValue(value));
}
-
}
public Object setString(AMQShortString string, String value)
@@ -460,15 +459,7 @@ public class FieldTable
}
else
{
- //FIXME: determine string encoding and set either WIDE or ASCII string
-// if ()
- {
- return setProperty(string, AMQType.WIDE_STRING.asTypedValue(value));
- }
-// else
-// {
-// return setProperty(string, AMQType.ASCII_STRING.asTypedValue(value));
-// }
+ return setProperty(string, AMQType.LONG_STRING.asTypedValue(value));
}
}
diff --git a/java/common/src/test/java/org/apache/qpid/framing/PropertyFieldTableTest.java b/java/common/src/test/java/org/apache/qpid/framing/PropertyFieldTableTest.java
index e0692594c7..6160dc1843 100644
--- a/java/common/src/test/java/org/apache/qpid/framing/PropertyFieldTableTest.java
+++ b/java/common/src/test/java/org/apache/qpid/framing/PropertyFieldTableTest.java
@@ -528,8 +528,7 @@ public class PropertyFieldTableTest extends TestCase
table.setString("string", "hello");
table.setString("null-string", null);
-
- final ByteBuffer buffer = ByteBuffer.allocate((int) table.getEncodedSize()); // FIXME XXX: Is cast a problem?
+ final ByteBuffer buffer = ByteBuffer.allocate((int) table.getEncodedSize() + 4); // FIXME XXX: Is cast a problem?
table.writeToBuffer(buffer);
@@ -579,7 +578,7 @@ public class PropertyFieldTableTest extends TestCase
byte[] _bytes = {99, 98, 97, 96, 95};
result.setBytes("bytes", _bytes);
- size += 1 + EncodingUtils.encodedShortStringLength("bytes") + 1 + EncodingUtils.encodedByteLength() * _bytes.length;
+ size += 1 + EncodingUtils.encodedShortStringLength("bytes") + 4 + _bytes.length;
Assert.assertEquals(size, result.getEncodedSize());
result.setChar("char", (char) 'c');
@@ -621,7 +620,7 @@ public class PropertyFieldTableTest extends TestCase
Assert.assertEquals(size, result.getEncodedSize());
result.setObject("object-bytes", _bytes);
- size += 1 + EncodingUtils.encodedShortStringLength("object-bytes") + 1 + EncodingUtils.encodedByteLength() * _bytes.length;
+ size += 1 + EncodingUtils.encodedShortStringLength("object-bytes") + 4 + _bytes.length;
Assert.assertEquals(size, result.getEncodedSize());
result.setObject("object-char", 'c');