You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kp...@apache.org on 2016/05/04 19:35:22 UTC
[6/7] qpid-interop-test git commit: NO_JIRA: Fixed whitespace issues
in code: removed tabs, fixed indentation, removed trailing whitespace
NO_JIRA: Fixed whitespace issues in code: removed tabs, fixed indentation, removed trailing whitespace
Project: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/commit/4e6f4f29
Tree: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/tree/4e6f4f29
Diff: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/diff/4e6f4f29
Branch: refs/heads/master
Commit: 4e6f4f29102bf645ca0e155bf60666d3696c426f
Parents: f4b87a1
Author: Kim van der Riet <kp...@apache.org>
Authored: Wed May 4 13:31:04 2016 -0400
Committer: Kim van der Riet <kp...@apache.org>
Committed: Wed May 4 13:31:04 2016 -0400
----------------------------------------------------------------------
.../qpid_interop_test/shim/AmqpReceiver.java | 358 ++++++-------
.../qpid/qpid_interop_test/shim/AmqpSender.java | 354 ++++++-------
.../qpid_interop_test/shim/JmsReceiverShim.java | 486 ++++++++---------
.../qpid_interop_test/shim/JmsSenderShim.java | 519 +++++++++----------
4 files changed, 858 insertions(+), 859 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/4e6f4f29/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/shim/AmqpReceiver.java
----------------------------------------------------------------------
diff --git a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/shim/AmqpReceiver.java b/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/shim/AmqpReceiver.java
index cf3ad81..6e96c4d 100644
--- a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/shim/AmqpReceiver.java
+++ b/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/shim/AmqpReceiver.java
@@ -41,44 +41,44 @@ public class AmqpReceiver {
private static final String PASSWORD = "guest";
private static final int TIMEOUT = 1000;
private static final String[] SUPPORTED_AMQP_TYPES = {"null",
- "boolean",
- "ubyte",
- "ushort",
- "uint",
- "ulong",
- "byte",
- "short",
- "int",
- "long",
- "float",
- "double",
- "decimal32",
- "decimal64",
- "decimal128",
- "char",
- "timestamp",
- "uuid",
- "binary",
- "string",
- "symbol",
- "list",
- "map",
- "array"};
+ "boolean",
+ "ubyte",
+ "ushort",
+ "uint",
+ "ulong",
+ "byte",
+ "short",
+ "int",
+ "long",
+ "float",
+ "double",
+ "decimal32",
+ "decimal64",
+ "decimal128",
+ "char",
+ "timestamp",
+ "uuid",
+ "binary",
+ "string",
+ "symbol",
+ "list",
+ "map",
+ "array"};
public static void main(String[] args) throws Exception {
- if (args.length < 4) {
- System.out.println("AmqpReceiver: Insufficient number of arguments");
- System.out.println("AmqpReceiver: Expected arguments: broker_address, queue_name, amqp_type, num_test_values");
- System.exit(1);
- }
- String brokerAddress = "amqp://" + args[0];
- String queueName = args[1];
- String amqpType = args[2];
- int numTestValues = Integer.parseInt(args[3]);
- Connection connection = null;
+ if (args.length < 4) {
+ System.out.println("AmqpReceiver: Insufficient number of arguments");
+ System.out.println("AmqpReceiver: Expected arguments: broker_address, queue_name, amqp_type, num_test_values");
+ System.exit(1);
+ }
+ String brokerAddress = "amqp://" + args[0];
+ String queueName = args[1];
+ String amqpType = args[2];
+ int numTestValues = Integer.parseInt(args[3]);
+ Connection connection = null;
try {
- ConnectionFactory factory = (ConnectionFactory)new JmsConnectionFactory(brokerAddress);
+ ConnectionFactory factory = (ConnectionFactory)new JmsConnectionFactory(brokerAddress);
connection = factory.createConnection(USER, PASSWORD);
connection.setExceptionListener(new MyExceptionListener());
@@ -96,156 +96,156 @@ public class AmqpReceiver {
int actualCount = 0;
Message message = null;
for (int i = 1; i <= numTestValues; i++, actualCount++) {
- message = messageConsumer.receive(TIMEOUT);
- if (message == null)
- break;
- switch (amqpType) {
- case "null":
- long bodyLength = ((BytesMessage)message).getBodyLength();
- if (bodyLength == 0L) {
- outList.add("None");
- } else {
- throw new Exception("AmqpReceiver: JMS BytesMessage size error: Expected 0 bytes, read " + bodyLength);
- }
- break;
- case "boolean":
- String bs = String.valueOf(((BytesMessage)message).readBoolean());
- outList.add(Character.toUpperCase(bs.charAt(0)) + bs.substring(1));
- break;
- case "ubyte":
- byte byteValue = ((BytesMessage)message).readByte();
- short ubyteValue = (short)(byteValue & 0xff);
- outList.add(String.valueOf(ubyteValue));
- break;
- case "ushort":
- {
- byte[] byteArray = new byte[2];
- int numBytes = ((BytesMessage)message).readBytes(byteArray);
- if (numBytes != 2) {
- // TODO: numBytes == -1 means no more bytes in stream - add error message for this case?
- throw new Exception("AmqpReceiver: JMS BytesMessage size error: Exptected 2 bytes, read " + numBytes);
- }
- int ushortValue = 0;
- for (int j=0; j<byteArray.length; j++) {
- ushortValue = (ushortValue << 8) + (byteArray[j] & 0xff);
- }
- outList.add(String.valueOf(ushortValue));
- break;
- }
- case "uint":
- {
- byte[] byteArray = new byte[4];
- int numBytes = ((BytesMessage)message).readBytes(byteArray);
- if (numBytes != 4) {
- // TODO: numBytes == -1 means no more bytes in stream - add error message for this case?
- throw new Exception("AmqpReceiver: JMS BytesMessage size error: Exptected 4 bytes, read " + numBytes);
- }
- long uintValue = 0;
- for (int j=0; j<byteArray.length; j++) {
- uintValue = (uintValue << 8) + (byteArray[j] & 0xff);
- }
- outList.add(String.valueOf(uintValue));
- break;
- }
- case "ulong":
- case "timestamp":
- {
- // TODO: Tidy this ugliness up - perhaps use of vector<byte>?
- byte[] byteArray = new byte[8];
- int numBytes = ((BytesMessage)message).readBytes(byteArray);
- if (numBytes != 8) {
- // TODO: numBytes == -1 means no more bytes in stream - add error message for this case?
- throw new Exception("AmqpReceiver: JMS BytesMessage size error: Exptected 8 bytes, read " + numBytes);
- }
- // TODO: shortcut in use here - this byte array should go through a Java type that can represent this as a number - such as BigInteger.
- outList.add(String.format("0x%02x%02x%02x%02x%02x%02x%02x%02x", byteArray[0], byteArray[1],
- byteArray[2], byteArray[3], byteArray[4], byteArray[5], byteArray[6], byteArray[7]));
- break;
- }
- case "byte":
- outList.add(String.valueOf(((BytesMessage)message).readByte()));
- break;
- case "short":
- outList.add(String.valueOf(((BytesMessage)message).readShort()));
- break;
- case "int":
- outList.add(String.valueOf(((BytesMessage)message).readInt()));
- break;
- case "long":
- outList.add(String.valueOf(((BytesMessage)message).readLong()));
- break;
- case "float":
- float f = ((BytesMessage)message).readFloat();
- int i0 = Float.floatToRawIntBits(f);
- outList.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
- break;
- case "double":
- double d = ((BytesMessage)message).readDouble();
- long l = Double.doubleToRawLongBits(d);
- outList.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
- break;
- case "decimal32":
- BigDecimal bd32 = (BigDecimal)((ObjectMessage)message).getObject();
- outList.add(bd32.toString());
- break;
- case "decimal64":
- BigDecimal bd64 = (BigDecimal)((ObjectMessage)message).getObject();
- outList.add(bd64.toString());
- break;
- case "decimal128":
- BigDecimal bd128 = (BigDecimal)((ObjectMessage)message).getObject();
- outList.add(bd128.toString());
- break;
- case "char":
- outList.add(String.format("%c", ((BytesMessage)message).readChar()));
- break;
- case "uuid":
- UUID uuid = (UUID)((ObjectMessage)message).getObject();
- outList.add(uuid.toString());
- break;
- case "binary":
- BytesMessage bm = (BytesMessage)message;
- int msgLen = (int)bm.getBodyLength();
- byte[] ba = new byte[msgLen];
- if (bm.readBytes(ba) == msgLen) {
- outList.add(new String(ba));
- } else {
- // TODO: Raise exception or error here: size mismatch
- }
- break;
- case "string":
- outList.add(((TextMessage)message).getText());
- break;
- case "symbol":
- outList.add(((BytesMessage)message).readUTF());
- break;
- case "list":
- break;
- case "map":
- break;
- case "array":
- break;
- default:
- // Internal error, should never happen if SUPPORTED_AMQP_TYPES matches this case stmt
- connection.close();
- throw new Exception("AmqpReceiver: Internal error: unsupported AMQP type \"" + amqpType + "\"");
- }
+ message = messageConsumer.receive(TIMEOUT);
+ if (message == null)
+ break;
+ switch (amqpType) {
+ case "null":
+ long bodyLength = ((BytesMessage)message).getBodyLength();
+ if (bodyLength == 0L) {
+ outList.add("None");
+ } else {
+ throw new Exception("AmqpReceiver: JMS BytesMessage size error: Expected 0 bytes, read " + bodyLength);
+ }
+ break;
+ case "boolean":
+ String bs = String.valueOf(((BytesMessage)message).readBoolean());
+ outList.add(Character.toUpperCase(bs.charAt(0)) + bs.substring(1));
+ break;
+ case "ubyte":
+ byte byteValue = ((BytesMessage)message).readByte();
+ short ubyteValue = (short)(byteValue & 0xff);
+ outList.add(String.valueOf(ubyteValue));
+ break;
+ case "ushort":
+ {
+ byte[] byteArray = new byte[2];
+ int numBytes = ((BytesMessage)message).readBytes(byteArray);
+ if (numBytes != 2) {
+ // TODO: numBytes == -1 means no more bytes in stream - add error message for this case?
+ throw new Exception("AmqpReceiver: JMS BytesMessage size error: Exptected 2 bytes, read " + numBytes);
+ }
+ int ushortValue = 0;
+ for (int j=0; j<byteArray.length; j++) {
+ ushortValue = (ushortValue << 8) + (byteArray[j] & 0xff);
+ }
+ outList.add(String.valueOf(ushortValue));
+ break;
+ }
+ case "uint":
+ {
+ byte[] byteArray = new byte[4];
+ int numBytes = ((BytesMessage)message).readBytes(byteArray);
+ if (numBytes != 4) {
+ // TODO: numBytes == -1 means no more bytes in stream - add error message for this case?
+ throw new Exception("AmqpReceiver: JMS BytesMessage size error: Exptected 4 bytes, read " + numBytes);
+ }
+ long uintValue = 0;
+ for (int j=0; j<byteArray.length; j++) {
+ uintValue = (uintValue << 8) + (byteArray[j] & 0xff);
+ }
+ outList.add(String.valueOf(uintValue));
+ break;
+ }
+ case "ulong":
+ case "timestamp":
+ {
+ // TODO: Tidy this ugliness up - perhaps use of vector<byte>?
+ byte[] byteArray = new byte[8];
+ int numBytes = ((BytesMessage)message).readBytes(byteArray);
+ if (numBytes != 8) {
+ // TODO: numBytes == -1 means no more bytes in stream - add error message for this case?
+ throw new Exception("AmqpReceiver: JMS BytesMessage size error: Exptected 8 bytes, read " + numBytes);
+ }
+ // TODO: shortcut in use here - this byte array should go through a Java type that can represent this as a number - such as BigInteger.
+ outList.add(String.format("0x%02x%02x%02x%02x%02x%02x%02x%02x", byteArray[0], byteArray[1],
+ byteArray[2], byteArray[3], byteArray[4], byteArray[5], byteArray[6], byteArray[7]));
+ break;
+ }
+ case "byte":
+ outList.add(String.valueOf(((BytesMessage)message).readByte()));
+ break;
+ case "short":
+ outList.add(String.valueOf(((BytesMessage)message).readShort()));
+ break;
+ case "int":
+ outList.add(String.valueOf(((BytesMessage)message).readInt()));
+ break;
+ case "long":
+ outList.add(String.valueOf(((BytesMessage)message).readLong()));
+ break;
+ case "float":
+ float f = ((BytesMessage)message).readFloat();
+ int i0 = Float.floatToRawIntBits(f);
+ outList.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
+ break;
+ case "double":
+ double d = ((BytesMessage)message).readDouble();
+ long l = Double.doubleToRawLongBits(d);
+ outList.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
+ break;
+ case "decimal32":
+ BigDecimal bd32 = (BigDecimal)((ObjectMessage)message).getObject();
+ outList.add(bd32.toString());
+ break;
+ case "decimal64":
+ BigDecimal bd64 = (BigDecimal)((ObjectMessage)message).getObject();
+ outList.add(bd64.toString());
+ break;
+ case "decimal128":
+ BigDecimal bd128 = (BigDecimal)((ObjectMessage)message).getObject();
+ outList.add(bd128.toString());
+ break;
+ case "char":
+ outList.add(String.format("%c", ((BytesMessage)message).readChar()));
+ break;
+ case "uuid":
+ UUID uuid = (UUID)((ObjectMessage)message).getObject();
+ outList.add(uuid.toString());
+ break;
+ case "binary":
+ BytesMessage bm = (BytesMessage)message;
+ int msgLen = (int)bm.getBodyLength();
+ byte[] ba = new byte[msgLen];
+ if (bm.readBytes(ba) == msgLen) {
+ outList.add(new String(ba));
+ } else {
+ // TODO: Raise exception or error here: size mismatch
+ }
+ break;
+ case "string":
+ outList.add(((TextMessage)message).getText());
+ break;
+ case "symbol":
+ outList.add(((BytesMessage)message).readUTF());
+ break;
+ case "list":
+ break;
+ case "map":
+ break;
+ case "array":
+ break;
+ default:
+ // Internal error, should never happen if SUPPORTED_AMQP_TYPES matches this case stmt
+ connection.close();
+ throw new Exception("AmqpReceiver: Internal error: unsupported AMQP type \"" + amqpType + "\"");
+ }
}
} else {
- System.out.println("ERROR: AmqpReceiver: AMQP type \"" + amqpType + "\" is not supported");
- connection.close();
- System.exit(1);
+ System.out.println("ERROR: AmqpReceiver: AMQP type \"" + amqpType + "\" is not supported");
+ connection.close();
+ System.exit(1);
}
connection.close();
// No exception, print results
for (int i=0; i<outList.size(); i++) {
- System.out.println(outList.get(i));
+ System.out.println(outList.get(i));
}
} catch (Exception exp) {
- if (connection != null)
- connection.close();
+ if (connection != null)
+ connection.close();
System.out.println("Caught exception, exiting.");
exp.printStackTrace(System.out);
System.exit(1);
@@ -253,11 +253,11 @@ public class AmqpReceiver {
}
protected static boolean isSupportedAmqpType(String amqpType) {
- for (String supportedAmqpType: SUPPORTED_AMQP_TYPES) {
- if (amqpType.equals(supportedAmqpType))
- return true;
- }
- return false;
+ for (String supportedAmqpType: SUPPORTED_AMQP_TYPES) {
+ if (amqpType.equals(supportedAmqpType))
+ return true;
+ }
+ return false;
}
private static class MyExceptionListener implements ExceptionListener {
http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/4e6f4f29/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/shim/AmqpSender.java
----------------------------------------------------------------------
diff --git a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/shim/AmqpSender.java b/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/shim/AmqpSender.java
index 3fc5a90..9c761d7 100644
--- a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/shim/AmqpSender.java
+++ b/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/shim/AmqpSender.java
@@ -43,43 +43,43 @@ public class AmqpSender {
private static final String USER = "guest";
private static final String PASSWORD = "guest";
private static final String[] SUPPORTED_AMQP_TYPES = {"null",
- "boolean",
- "ubyte",
- "ushort",
- "uint",
- "ulong",
- "byte",
- "short",
- "int",
- "long",
- "float",
- "double",
- "decimal32",
- "decimal64",
- "decimal128",
- "char",
- "timestamp",
- "uuid",
- "binary",
- "string",
- "symbol",
- "list",
- "map",
- "array"};
+ "boolean",
+ "ubyte",
+ "ushort",
+ "uint",
+ "ulong",
+ "byte",
+ "short",
+ "int",
+ "long",
+ "float",
+ "double",
+ "decimal32",
+ "decimal64",
+ "decimal128",
+ "char",
+ "timestamp",
+ "uuid",
+ "binary",
+ "string",
+ "symbol",
+ "list",
+ "map",
+ "array"};
public static void main(String[] args) throws Exception {
- if (args.length < 4) {
- System.out.println("AmqpSender: Insufficient number of arguments");
- System.out.println("AmqpSender: Expected arguments: broker_address, queue_name, amqp_type, test_val, test_val, ...");
- System.exit(1);
- }
- String brokerAddress = "amqp://" + args[0];
- String queueName = args[1];
- String amqpType = args[2];
- String[] testValueList = Arrays.copyOfRange(args, 3, args.length); // Use remaining args as test values
-
+ if (args.length < 4) {
+ System.out.println("AmqpSender: Insufficient number of arguments");
+ System.out.println("AmqpSender: Expected arguments: broker_address, queue_name, amqp_type, test_val, test_val, ...");
+ System.exit(1);
+ }
+ String brokerAddress = "amqp://" + args[0];
+ String queueName = args[1];
+ String amqpType = args[2];
+ String[] testValueList = Arrays.copyOfRange(args, 3, args.length); // Use remaining args as test values
+
try {
- ConnectionFactory factory = (ConnectionFactory)new JmsConnectionFactory(brokerAddress);
+ ConnectionFactory factory = (ConnectionFactory)new JmsConnectionFactory(brokerAddress);
Connection connection = factory.createConnection();
connection.setExceptionListener(new MyExceptionListener());
@@ -92,145 +92,145 @@ public class AmqpSender {
MessageProducer messageProducer = session.createProducer(queue);
if (isSupportedAmqpType(amqpType)) {
- Message message = null;
- for (String testValueStr : testValueList) {
- switch (amqpType) {
- case "null":
- message = session.createBytesMessage();
- break;
- case "boolean":
- message = session.createBytesMessage();
- ((BytesMessage)message).writeBoolean(Boolean.parseBoolean(testValueStr));
- break;
- case "ubyte":
- {
- byte testValue = (byte)Short.parseShort(testValueStr);
- message = session.createBytesMessage();
- ((BytesMessage)message).writeByte(testValue);
- break;
- }
- case "ushort":
- {
- int testValue = Integer.parseInt(testValueStr);
- byte[] byteArray = new byte[2];
- byteArray[0] = (byte)(testValue >> 8);
- byteArray[1] = (byte)(testValue);
- message = session.createBytesMessage();
- ((BytesMessage)message).writeBytes(byteArray);
- break;
- }
- case "uint":
- {
- long testValue = Long.parseLong(testValueStr);
- byte[] byteArray = new byte[4];
- byteArray[0] = (byte)(testValue >> 24);
- byteArray[1] = (byte)(testValue >> 16);
- byteArray[2] = (byte)(testValue >> 8);
- byteArray[3] = (byte)(testValue);
- message = session.createBytesMessage();
- ((BytesMessage)message).writeBytes(byteArray);
- break;
- }
- case "ulong":
- {
- // TODO: Tidy this ugliness up - perhaps use of vector<byte>?
- BigInteger testValue = new BigInteger(testValueStr);
- byte[] bigIntArray = testValue.toByteArray(); // may be 1 to 9 bytes depending on number
- byte[] byteArray = {0, 0, 0, 0, 0, 0, 0, 0};
- int effectiveBigIntArrayLen = bigIntArray.length > 8 ? 8 : bigIntArray.length; // Cap length at 8
- int bigIntArrayOffs = bigIntArray.length > 8 ? bigIntArray.length - 8 : 0; // Offset when length > 8
- for (int i=0; i<bigIntArray.length && i < 8; i++)
- byteArray[8 - effectiveBigIntArrayLen + i] = bigIntArray[bigIntArrayOffs + i];
- message = session.createBytesMessage();
- ((BytesMessage)message).writeBytes(byteArray);
- break;
- }
- case "byte":
- message = session.createBytesMessage();
- ((BytesMessage)message).writeByte(Byte.parseByte(testValueStr));
- break;
- case "short":
- message = session.createBytesMessage();
- ((BytesMessage)message).writeShort(Short.parseShort(testValueStr));
- break;
- case "int":
- message = session.createBytesMessage();
- ((BytesMessage)message).writeInt(Integer.parseInt(testValueStr));
- break;
- case "long":
- case "timestamp":
- message = session.createBytesMessage();
- ((BytesMessage)message).writeLong(Long.parseLong(testValueStr));
- break;
- case "float":
- Long i = Long.parseLong(testValueStr.substring(2), 16);
- message = session.createBytesMessage();
- ((BytesMessage)message).writeFloat(Float.intBitsToFloat(i.intValue()));
- break;
- case "double":
- Long l1 = Long.parseLong(testValueStr.substring(2, 3), 16) << 60;
- Long l2 = Long.parseLong(testValueStr.substring(3), 16);
- message = session.createBytesMessage();
- ((BytesMessage)message).writeDouble(Double.longBitsToDouble(l1 | l2));
- break;
- case "decimal32":
- BigDecimal bd32 = new BigDecimal(testValueStr, MathContext.DECIMAL32);
- message = session.createObjectMessage();
- ((ObjectMessage)message).setObject(bd32);
- break;
- case "decimal64":
- BigDecimal bd64 = new BigDecimal(testValueStr, MathContext.DECIMAL64);
- message = session.createObjectMessage();
- ((ObjectMessage)message).setObject(bd64);
- break;
- case "decimal128":
- BigDecimal bd128 = new BigDecimal(testValueStr, MathContext.DECIMAL128);
- message = session.createObjectMessage();
- ((ObjectMessage)message).setObject(bd128);
- break;
- case "char":
- char c = 0;
- if (testValueStr.length() == 1) // Single char
- c = testValueStr.charAt(0);
- else if (testValueStr.length() == 6) // unicode format
- c = (char)Integer.parseInt(testValueStr, 16);
- message = session.createBytesMessage();
- ((BytesMessage)message).writeChar(c);
- break;
- case "uuid":
- UUID uuid = UUID.fromString(testValueStr);
- message = session.createObjectMessage();
- ((ObjectMessage)message).setObject(uuid);
- break;
- case "binary":
- message = session.createBytesMessage();
- byte[] byteArray = testValueStr.getBytes();
- ((BytesMessage)message).writeBytes(byteArray, 0, byteArray.length);
- break;
- case "string":
- message = session.createTextMessage(testValueStr);
- break;
- case "symbol":
- message = session.createBytesMessage();
- ((BytesMessage)message).writeUTF(testValueStr);
- break;
- case "list":
- break;
- case "map":
- break;
- case "array":
- break;
- default:
- // Internal error, should never happen if SUPPORTED_AMQP_TYPES matches this case stmt
- connection.close();
- throw new Exception("AmqpSender: Internal error: unsupported AMQP type \"" + amqpType + "\"");
- }
- messageProducer.send(message, DeliveryMode.NON_PERSISTENT, Message.DEFAULT_PRIORITY, Message.DEFAULT_TIME_TO_LIVE);
- }
+ Message message = null;
+ for (String testValueStr : testValueList) {
+ switch (amqpType) {
+ case "null":
+ message = session.createBytesMessage();
+ break;
+ case "boolean":
+ message = session.createBytesMessage();
+ ((BytesMessage)message).writeBoolean(Boolean.parseBoolean(testValueStr));
+ break;
+ case "ubyte":
+ {
+ byte testValue = (byte)Short.parseShort(testValueStr);
+ message = session.createBytesMessage();
+ ((BytesMessage)message).writeByte(testValue);
+ break;
+ }
+ case "ushort":
+ {
+ int testValue = Integer.parseInt(testValueStr);
+ byte[] byteArray = new byte[2];
+ byteArray[0] = (byte)(testValue >> 8);
+ byteArray[1] = (byte)(testValue);
+ message = session.createBytesMessage();
+ ((BytesMessage)message).writeBytes(byteArray);
+ break;
+ }
+ case "uint":
+ {
+ long testValue = Long.parseLong(testValueStr);
+ byte[] byteArray = new byte[4];
+ byteArray[0] = (byte)(testValue >> 24);
+ byteArray[1] = (byte)(testValue >> 16);
+ byteArray[2] = (byte)(testValue >> 8);
+ byteArray[3] = (byte)(testValue);
+ message = session.createBytesMessage();
+ ((BytesMessage)message).writeBytes(byteArray);
+ break;
+ }
+ case "ulong":
+ {
+ // TODO: Tidy this ugliness up - perhaps use of vector<byte>?
+ BigInteger testValue = new BigInteger(testValueStr);
+ byte[] bigIntArray = testValue.toByteArray(); // may be 1 to 9 bytes depending on number
+ byte[] byteArray = {0, 0, 0, 0, 0, 0, 0, 0};
+ int effectiveBigIntArrayLen = bigIntArray.length > 8 ? 8 : bigIntArray.length; // Cap length at 8
+ int bigIntArrayOffs = bigIntArray.length > 8 ? bigIntArray.length - 8 : 0; // Offset when length > 8
+ for (int i=0; i<bigIntArray.length && i < 8; i++)
+ byteArray[8 - effectiveBigIntArrayLen + i] = bigIntArray[bigIntArrayOffs + i];
+ message = session.createBytesMessage();
+ ((BytesMessage)message).writeBytes(byteArray);
+ break;
+ }
+ case "byte":
+ message = session.createBytesMessage();
+ ((BytesMessage)message).writeByte(Byte.parseByte(testValueStr));
+ break;
+ case "short":
+ message = session.createBytesMessage();
+ ((BytesMessage)message).writeShort(Short.parseShort(testValueStr));
+ break;
+ case "int":
+ message = session.createBytesMessage();
+ ((BytesMessage)message).writeInt(Integer.parseInt(testValueStr));
+ break;
+ case "long":
+ case "timestamp":
+ message = session.createBytesMessage();
+ ((BytesMessage)message).writeLong(Long.parseLong(testValueStr));
+ break;
+ case "float":
+ Long i = Long.parseLong(testValueStr.substring(2), 16);
+ message = session.createBytesMessage();
+ ((BytesMessage)message).writeFloat(Float.intBitsToFloat(i.intValue()));
+ break;
+ case "double":
+ Long l1 = Long.parseLong(testValueStr.substring(2, 3), 16) << 60;
+ Long l2 = Long.parseLong(testValueStr.substring(3), 16);
+ message = session.createBytesMessage();
+ ((BytesMessage)message).writeDouble(Double.longBitsToDouble(l1 | l2));
+ break;
+ case "decimal32":
+ BigDecimal bd32 = new BigDecimal(testValueStr, MathContext.DECIMAL32);
+ message = session.createObjectMessage();
+ ((ObjectMessage)message).setObject(bd32);
+ break;
+ case "decimal64":
+ BigDecimal bd64 = new BigDecimal(testValueStr, MathContext.DECIMAL64);
+ message = session.createObjectMessage();
+ ((ObjectMessage)message).setObject(bd64);
+ break;
+ case "decimal128":
+ BigDecimal bd128 = new BigDecimal(testValueStr, MathContext.DECIMAL128);
+ message = session.createObjectMessage();
+ ((ObjectMessage)message).setObject(bd128);
+ break;
+ case "char":
+ char c = 0;
+ if (testValueStr.length() == 1) // Single char
+ c = testValueStr.charAt(0);
+ else if (testValueStr.length() == 6) // unicode format
+ c = (char)Integer.parseInt(testValueStr, 16);
+ message = session.createBytesMessage();
+ ((BytesMessage)message).writeChar(c);
+ break;
+ case "uuid":
+ UUID uuid = UUID.fromString(testValueStr);
+ message = session.createObjectMessage();
+ ((ObjectMessage)message).setObject(uuid);
+ break;
+ case "binary":
+ message = session.createBytesMessage();
+ byte[] byteArray = testValueStr.getBytes();
+ ((BytesMessage)message).writeBytes(byteArray, 0, byteArray.length);
+ break;
+ case "string":
+ message = session.createTextMessage(testValueStr);
+ break;
+ case "symbol":
+ message = session.createBytesMessage();
+ ((BytesMessage)message).writeUTF(testValueStr);
+ break;
+ case "list":
+ break;
+ case "map":
+ break;
+ case "array":
+ break;
+ default:
+ // Internal error, should never happen if SUPPORTED_AMQP_TYPES matches this case stmt
+ connection.close();
+ throw new Exception("AmqpSender: Internal error: unsupported AMQP type \"" + amqpType + "\"");
+ }
+ messageProducer.send(message, DeliveryMode.NON_PERSISTENT, Message.DEFAULT_PRIORITY, Message.DEFAULT_TIME_TO_LIVE);
+ }
} else {
- System.out.println("ERROR: AmqpSender: AMQP type \"" + amqpType + "\" is not supported");
- connection.close();
- System.exit(1);
+ System.out.println("ERROR: AmqpSender: AMQP type \"" + amqpType + "\" is not supported");
+ connection.close();
+ System.exit(1);
}
connection.close();
@@ -242,11 +242,11 @@ public class AmqpSender {
}
protected static boolean isSupportedAmqpType(String amqpType) {
- for (String supportedAmqpType: SUPPORTED_AMQP_TYPES) {
- if (amqpType.equals(supportedAmqpType))
- return true;
- }
- return false;
+ for (String supportedAmqpType: SUPPORTED_AMQP_TYPES) {
+ if (amqpType.equals(supportedAmqpType))
+ return true;
+ }
+ return false;
}
private static class MyExceptionListener implements ExceptionListener {
http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/4e6f4f29/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/shim/JmsReceiverShim.java
----------------------------------------------------------------------
diff --git a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/shim/JmsReceiverShim.java b/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/shim/JmsReceiverShim.java
index f567638..6cdb886 100644
--- a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/shim/JmsReceiverShim.java
+++ b/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/shim/JmsReceiverShim.java
@@ -50,236 +50,236 @@ public class JmsReceiverShim {
private static final String PASSWORD = "guest";
private static final int TIMEOUT = 1000;
private static final String[] SUPPORTED_JMS_MESSAGE_TYPES = {"JMS_BYTESMESSAGE_TYPE",
- "JMS_MAPMESSAGE_TYPE",
- "JMS_OBJECTMESSAGE_TYPE",
- "JMS_STREAMMESSAGE_TYPE",
- "JMS_TEXTMESSAGE_TYPE"};
+ "JMS_MAPMESSAGE_TYPE",
+ "JMS_OBJECTMESSAGE_TYPE",
+ "JMS_STREAMMESSAGE_TYPE",
+ "JMS_TEXTMESSAGE_TYPE"};
// args[0]: Broker URL
// args[1]: Queue name
// args[2]: JMS message type
// args[3]: JSON Test number map
public static void main(String[] args) throws Exception {
- if (args.length < 4) {
- System.out.println("JmsReceiverShim: Insufficient number of arguments");
- System.out.println("JmsReceiverShim: Expected arguments: broker_address, queue_name, amqp_type, num_test_values");
- System.exit(1);
- }
- String brokerAddress = "amqp://" + args[0];
- String queueName = args[1];
- String jmsMessageType = args[2];
- if (!isSupportedJmsMessageType(jmsMessageType)) {
- System.out.println("ERROR: JmsReceiverShim: unknown or unsupported JMS message type \"" + jmsMessageType + "\"");
- System.exit(1);
- }
-
- JsonReader jsonReader = Json.createReader(new StringReader(args[3]));
- JsonObject numTestValuesMap = jsonReader.readObject();
- jsonReader.close();
-
- Connection connection = null;
+ if (args.length < 4) {
+ System.out.println("JmsReceiverShim: Insufficient number of arguments");
+ System.out.println("JmsReceiverShim: Expected arguments: broker_address, queue_name, amqp_type, num_test_values");
+ System.exit(1);
+ }
+ String brokerAddress = "amqp://" + args[0];
+ String queueName = args[1];
+ String jmsMessageType = args[2];
+ if (!isSupportedJmsMessageType(jmsMessageType)) {
+ System.out.println("ERROR: JmsReceiverShim: unknown or unsupported JMS message type \"" + jmsMessageType + "\"");
+ System.exit(1);
+ }
+
+ JsonReader jsonReader = Json.createReader(new StringReader(args[3]));
+ JsonObject numTestValuesMap = jsonReader.readObject();
+ jsonReader.close();
+
+ Connection connection = null;
try {
- ConnectionFactory factory = (ConnectionFactory)new JmsConnectionFactory(brokerAddress);
+ ConnectionFactory factory = (ConnectionFactory)new JmsConnectionFactory(brokerAddress);
connection = factory.createConnection(USER, PASSWORD);
connection.setExceptionListener(new MyExceptionListener());
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
+
Queue queue = session.createQueue(queueName);
MessageConsumer messageConsumer = session.createConsumer(queue);
- List<String> keyList = new ArrayList<String>(numTestValuesMap.keySet());
- Collections.sort(keyList);
-
+ List<String> keyList = new ArrayList<String>(numTestValuesMap.keySet());
+ Collections.sort(keyList);
+
Message message = null;
JsonObjectBuilder job = Json.createObjectBuilder();
- for (String key: keyList) {
- JsonArrayBuilder jab = Json.createArrayBuilder();
- for (int i=0; i<numTestValuesMap.getJsonNumber(key).intValue(); ++i) {
- message = messageConsumer.receive(TIMEOUT);
- if (message == null) break;
- switch (jmsMessageType) {
- case "JMS_BYTESMESSAGE_TYPE":
- switch (key) {
- case "boolean":
- jab.add(((BytesMessage)message).readBoolean()?"True":"False");
- break;
- case "byte":
- jab.add(formatByte(((BytesMessage)message).readByte()));
- break;
- case "bytes":
- {
- byte[] bytesBuff = new byte[65536];
- int numBytesRead = ((BytesMessage)message).readBytes(bytesBuff);
- if (numBytesRead >= 0) {
- jab.add(new String(Arrays.copyOfRange(bytesBuff, 0, numBytesRead)));
- } else {
- // NOTE: For this case, an empty byte array has nothing to return
- jab.add(new String());
- }
- }
- break;
- case "char":
- jab.add(formatChar(((BytesMessage)message).readChar()));
- break;
- case "double":
- long l = Double.doubleToRawLongBits(((BytesMessage)message).readDouble());
- jab.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
- break;
- case "float":
- int i0 = Float.floatToRawIntBits(((BytesMessage)message).readFloat());
- jab.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
- break;
- case "int":
- jab.add(formatInt(((BytesMessage)message).readInt()));
- break;
- case "long":
- jab.add(formatLong(((BytesMessage)message).readLong()));
- break;
- case "object":
- {
- byte[] bytesBuff = new byte[65536];
- int numBytesRead = ((BytesMessage)message).readBytes(bytesBuff);
- if (numBytesRead >= 0) {
- ByteArrayInputStream bais = new ByteArrayInputStream(Arrays.copyOfRange(bytesBuff, 0, numBytesRead));
- ObjectInputStream ois = new ObjectInputStream(bais);
- Object obj = ois.readObject();
- jab.add(obj.getClass().getName() + ":" + obj.toString());
- } else {
- jab.add("<object error>");
- }
- }
- break;
- case "short":
- jab.add(formatShort(((BytesMessage)message).readShort()));
- break;
- case "string":
- jab.add(((BytesMessage)message).readUTF());
- break;
- default:
- throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + key + "\"");
- }
- break;
- case "JMS_STREAMMESSAGE_TYPE":
- switch (key) {
- case "boolean":
- jab.add(((StreamMessage)message).readBoolean()?"True":"False");
- break;
- case "byte":
- jab.add(formatByte(((StreamMessage)message).readByte()));
- break;
- case "bytes":
- byte[] bytesBuff = new byte[65536];
- int numBytesRead = ((StreamMessage)message).readBytes(bytesBuff);
- if (numBytesRead >= 0) {
- jab.add(new String(Arrays.copyOfRange(bytesBuff, 0, numBytesRead)));
- } else {
- System.out.println("StreamMessage.readBytes() returned " + numBytesRead);
- jab.add("<bytes error>");
- }
- break;
- case "char":
- jab.add(formatChar(((StreamMessage)message).readChar()));
- break;
- case "double":
- long l = Double.doubleToRawLongBits(((StreamMessage)message).readDouble());
- jab.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
- break;
- case "float":
- int i0 = Float.floatToRawIntBits(((StreamMessage)message).readFloat());
- jab.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
- break;
- case "int":
- jab.add(formatInt(((StreamMessage)message).readInt()));
- break;
- case "long":
- jab.add(formatLong(((StreamMessage)message).readLong()));
- break;
- case "object":
- Object obj = ((StreamMessage)message).readObject();
- jab.add(obj.getClass().getName() + ":" + obj.toString());
- break;
- case "short":
- jab.add(formatShort(((StreamMessage)message).readShort()));
- break;
- case "string":
- jab.add(((StreamMessage)message).readString());
- break;
- default:
- throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + key + "\"");
- }
- break;
- case "JMS_MAPMESSAGE_TYPE":
- String name = String.format("%s%03d", key, i);
- switch (key) {
- case "boolean":
- jab.add(((MapMessage)message).getBoolean(name)?"True":"False");
- break;
- case "byte":
- jab.add(formatByte(((MapMessage)message).getByte(name)));
- break;
- case "bytes":
- jab.add(new String(((MapMessage)message).getBytes(name)));
- break;
- case "char":
- jab.add(formatChar(((MapMessage)message).getChar(name)));
- break;
- case "double":
- long l = Double.doubleToRawLongBits(((MapMessage)message).getDouble(name));
- jab.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
- break;
- case "float":
- int i0 = Float.floatToRawIntBits(((MapMessage)message).getFloat(name));
- jab.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
- break;
- case "int":
- jab.add(formatInt(((MapMessage)message).getInt(name)));
- break;
- case "long":
- jab.add(formatLong(((MapMessage)message).getLong(name)));
- break;
- case "object":
- Object obj = ((MapMessage)message).getObject(name);
- jab.add(obj.getClass().getName() + ":" + obj.toString());
- break;
- case "short":
- jab.add(formatShort(((MapMessage)message).getShort(name)));
- break;
- case "string":
- jab.add(((MapMessage)message).getString(name));
- break;
- default:
- throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + key + "\"");
- }
- break;
- case "JMS_OBJECTMESSAGE_TYPE":
- jab.add(((ObjectMessage)message).getObject().toString());
- break;
- case "JMS_TEXTMESSAGE_TYPE":
- jab.add(((TextMessage)message).getText());
- break;
- default:
- connection.close();
- throw new Exception("JmsReceiverShim: Internal error: unknown or unsupported JMS message type \"" + jmsMessageType + "\"");
- }
- }
- job.add(key, jab);
- }
- connection.close();
-
- System.out.println(jmsMessageType);
- StringWriter out = new StringWriter();
- JsonWriter jsonWriter = Json.createWriter(out);
- jsonWriter.writeObject(job.build());
- jsonWriter.close();
- System.out.println(out.toString());
+ for (String key: keyList) {
+ JsonArrayBuilder jab = Json.createArrayBuilder();
+ for (int i=0; i<numTestValuesMap.getJsonNumber(key).intValue(); ++i) {
+ message = messageConsumer.receive(TIMEOUT);
+ if (message == null) break;
+ switch (jmsMessageType) {
+ case "JMS_BYTESMESSAGE_TYPE":
+ switch (key) {
+ case "boolean":
+ jab.add(((BytesMessage)message).readBoolean()?"True":"False");
+ break;
+ case "byte":
+ jab.add(formatByte(((BytesMessage)message).readByte()));
+ break;
+ case "bytes":
+ {
+ byte[] bytesBuff = new byte[65536];
+ int numBytesRead = ((BytesMessage)message).readBytes(bytesBuff);
+ if (numBytesRead >= 0) {
+ jab.add(new String(Arrays.copyOfRange(bytesBuff, 0, numBytesRead)));
+ } else {
+ // NOTE: For this case, an empty byte array has nothing to return
+ jab.add(new String());
+ }
+ }
+ break;
+ case "char":
+ jab.add(formatChar(((BytesMessage)message).readChar()));
+ break;
+ case "double":
+ long l = Double.doubleToRawLongBits(((BytesMessage)message).readDouble());
+ jab.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
+ break;
+ case "float":
+ int i0 = Float.floatToRawIntBits(((BytesMessage)message).readFloat());
+ jab.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
+ break;
+ case "int":
+ jab.add(formatInt(((BytesMessage)message).readInt()));
+ break;
+ case "long":
+ jab.add(formatLong(((BytesMessage)message).readLong()));
+ break;
+ case "object":
+ {
+ byte[] bytesBuff = new byte[65536];
+ int numBytesRead = ((BytesMessage)message).readBytes(bytesBuff);
+ if (numBytesRead >= 0) {
+ ByteArrayInputStream bais = new ByteArrayInputStream(Arrays.copyOfRange(bytesBuff, 0, numBytesRead));
+ ObjectInputStream ois = new ObjectInputStream(bais);
+ Object obj = ois.readObject();
+ jab.add(obj.getClass().getName() + ":" + obj.toString());
+ } else {
+ jab.add("<object error>");
+ }
+ }
+ break;
+ case "short":
+ jab.add(formatShort(((BytesMessage)message).readShort()));
+ break;
+ case "string":
+ jab.add(((BytesMessage)message).readUTF());
+ break;
+ default:
+ throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + key + "\"");
+ }
+ break;
+ case "JMS_STREAMMESSAGE_TYPE":
+ switch (key) {
+ case "boolean":
+ jab.add(((StreamMessage)message).readBoolean()?"True":"False");
+ break;
+ case "byte":
+ jab.add(formatByte(((StreamMessage)message).readByte()));
+ break;
+ case "bytes":
+ byte[] bytesBuff = new byte[65536];
+ int numBytesRead = ((StreamMessage)message).readBytes(bytesBuff);
+ if (numBytesRead >= 0) {
+ jab.add(new String(Arrays.copyOfRange(bytesBuff, 0, numBytesRead)));
+ } else {
+ System.out.println("StreamMessage.readBytes() returned " + numBytesRead);
+ jab.add("<bytes error>");
+ }
+ break;
+ case "char":
+ jab.add(formatChar(((StreamMessage)message).readChar()));
+ break;
+ case "double":
+ long l = Double.doubleToRawLongBits(((StreamMessage)message).readDouble());
+ jab.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
+ break;
+ case "float":
+ int i0 = Float.floatToRawIntBits(((StreamMessage)message).readFloat());
+ jab.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
+ break;
+ case "int":
+ jab.add(formatInt(((StreamMessage)message).readInt()));
+ break;
+ case "long":
+ jab.add(formatLong(((StreamMessage)message).readLong()));
+ break;
+ case "object":
+ Object obj = ((StreamMessage)message).readObject();
+ jab.add(obj.getClass().getName() + ":" + obj.toString());
+ break;
+ case "short":
+ jab.add(formatShort(((StreamMessage)message).readShort()));
+ break;
+ case "string":
+ jab.add(((StreamMessage)message).readString());
+ break;
+ default:
+ throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + key + "\"");
+ }
+ break;
+ case "JMS_MAPMESSAGE_TYPE":
+ String name = String.format("%s%03d", key, i);
+ switch (key) {
+ case "boolean":
+ jab.add(((MapMessage)message).getBoolean(name)?"True":"False");
+ break;
+ case "byte":
+ jab.add(formatByte(((MapMessage)message).getByte(name)));
+ break;
+ case "bytes":
+ jab.add(new String(((MapMessage)message).getBytes(name)));
+ break;
+ case "char":
+ jab.add(formatChar(((MapMessage)message).getChar(name)));
+ break;
+ case "double":
+ long l = Double.doubleToRawLongBits(((MapMessage)message).getDouble(name));
+ jab.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
+ break;
+ case "float":
+ int i0 = Float.floatToRawIntBits(((MapMessage)message).getFloat(name));
+ jab.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
+ break;
+ case "int":
+ jab.add(formatInt(((MapMessage)message).getInt(name)));
+ break;
+ case "long":
+ jab.add(formatLong(((MapMessage)message).getLong(name)));
+ break;
+ case "object":
+ Object obj = ((MapMessage)message).getObject(name);
+ jab.add(obj.getClass().getName() + ":" + obj.toString());
+ break;
+ case "short":
+ jab.add(formatShort(((MapMessage)message).getShort(name)));
+ break;
+ case "string":
+ jab.add(((MapMessage)message).getString(name));
+ break;
+ default:
+ throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + key + "\"");
+ }
+ break;
+ case "JMS_OBJECTMESSAGE_TYPE":
+ jab.add(((ObjectMessage)message).getObject().toString());
+ break;
+ case "JMS_TEXTMESSAGE_TYPE":
+ jab.add(((TextMessage)message).getText());
+ break;
+ default:
+ connection.close();
+ throw new Exception("JmsReceiverShim: Internal error: unknown or unsupported JMS message type \"" + jmsMessageType + "\"");
+ }
+ }
+ job.add(key, jab);
+ }
+ connection.close();
+
+ System.out.println(jmsMessageType);
+ StringWriter out = new StringWriter();
+ JsonWriter jsonWriter = Json.createWriter(out);
+ jsonWriter.writeObject(job.build());
+ jsonWriter.close();
+ System.out.println(out.toString());
} catch (Exception exp) {
- if (connection != null)
- connection.close();
+ if (connection != null)
+ connection.close();
System.out.println("Caught exception, exiting.");
exp.printStackTrace(System.out);
System.exit(1);
@@ -287,55 +287,55 @@ public class JmsReceiverShim {
}
protected static String formatByte(byte b) {
- boolean neg = false;
- if (b < 0) {
- neg = true;
- b = (byte)-b;
- }
- return String.format("%s0x%x", neg?"-":"", b);
+ boolean neg = false;
+ if (b < 0) {
+ neg = true;
+ b = (byte)-b;
+ }
+ return String.format("%s0x%x", neg?"-":"", b);
}
protected static String formatChar(char c) {
- if (Character.isLetterOrDigit(c)) {
- return String.format("%c", c);
- }
- char[] ca = {c};
- return new String(ca);
+ if (Character.isLetterOrDigit(c)) {
+ return String.format("%c", c);
+ }
+ char[] ca = {c};
+ return new String(ca);
}
protected static String formatInt(int i) {
- boolean neg = false;
- if (i < 0) {
- neg = true;
- i = -i;
- }
- return String.format("%s0x%x", neg?"-":"", i);
+ boolean neg = false;
+ if (i < 0) {
+ neg = true;
+ i = -i;
+ }
+ return String.format("%s0x%x", neg?"-":"", i);
}
protected static String formatLong(long l) {
- boolean neg = false;
- if (l < 0) {
- neg = true;
- l = -l;
- }
- return String.format("%s0x%x", neg?"-":"", l);
+ boolean neg = false;
+ if (l < 0) {
+ neg = true;
+ l = -l;
+ }
+ return String.format("%s0x%x", neg?"-":"", l);
}
protected static String formatShort(int s) {
- boolean neg = false;
- if (s < 0) {
- neg = true;
- s = -s;
- }
- return String.format("%s0x%x", neg?"-":"", s);
+ boolean neg = false;
+ if (s < 0) {
+ neg = true;
+ s = -s;
+ }
+ return String.format("%s0x%x", neg?"-":"", s);
}
protected static boolean isSupportedJmsMessageType(String jmsMessageType) {
- for (String supportedJmsMessageType: SUPPORTED_JMS_MESSAGE_TYPES) {
- if (jmsMessageType.equals(supportedJmsMessageType))
- return true;
- }
- return false;
+ for (String supportedJmsMessageType: SUPPORTED_JMS_MESSAGE_TYPES) {
+ if (jmsMessageType.equals(supportedJmsMessageType))
+ return true;
+ }
+ return false;
}
private static class MyExceptionListener implements ExceptionListener {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org