diff options
Diffstat (limited to 'java/common')
3 files changed, 48 insertions, 63 deletions
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 44d0268561..193c7adf1c 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 @@ -93,4 +93,6 @@ public interface FieldTable extends Map public Object setObject(String string, Object object); + public boolean isNullStringValue(String name); + } diff --git a/java/common/src/main/java/org/apache/qpid/framing/JMSPropertyFieldTable.java b/java/common/src/main/java/org/apache/qpid/framing/JMSPropertyFieldTable.java index d2b64ec3c5..142a689a01 100644 --- a/java/common/src/main/java/org/apache/qpid/framing/JMSPropertyFieldTable.java +++ b/java/common/src/main/java/org/apache/qpid/framing/JMSPropertyFieldTable.java @@ -174,7 +174,7 @@ public class JMSPropertyFieldTable if (c == null) { - if (_fieldtable.get(string) instanceof Character) + if (_fieldtable.isNullStringValue(string)) { throw new NullPointerException("Cannot convert null char"); } @@ -415,7 +415,7 @@ public class JMSPropertyFieldTable } catch (AMQPInvalidClassException aice) { - throw new JMSException("Only primatives are allowed object is:" + object.getClass()); + throw new MessageFormatException("Only primatives are allowed object is:" + object.getClass()); } } diff --git a/java/common/src/main/java/org/apache/qpid/framing/PropertyFieldTable.java b/java/common/src/main/java/org/apache/qpid/framing/PropertyFieldTable.java index 4dafee910d..1292ff2f6e 100644 --- a/java/common/src/main/java/org/apache/qpid/framing/PropertyFieldTable.java +++ b/java/common/src/main/java/org/apache/qpid/framing/PropertyFieldTable.java @@ -438,72 +438,55 @@ public class PropertyFieldTable implements FieldTable { return setBoolean(string, (Boolean) object); } - else + else if (object instanceof Byte) { - if (object instanceof Byte) - { - return setByte(string, (Byte) object); - } - else - { - if (object instanceof Short) - { - return setShort(string, (Short) object); - } - else - { - if (object instanceof Integer) - { - return setInteger(string, (Integer) object); - } - else - { - if (object instanceof Long) - { - return setLong(string, (Long) object); - } - else - { - if (object instanceof Float) - { - return setFloat(string, (Float) object); - } - else - { - if (object instanceof Double) - { - return setDouble(string, (Double) object); - } - else - { - if (object instanceof String) - { - return setString(string, (String) object); - } - else - { - if (object instanceof Character) - { - return setChar(string, (Character) object); - } - else - { - if (object instanceof byte[]) - { - return setBytes(string, (byte[]) object); - } - } - } - } - } - } - } - } - } + return setByte(string, (Byte) object); + } + else if (object instanceof Short) + { + return setShort(string, (Short) object); + } + else if (object instanceof Integer) + { + return setInteger(string, (Integer) object); + } + else if (object instanceof Long) + { + return setLong(string, (Long) object); + } + else if (object instanceof Float) + { + return setFloat(string, (Float) object); + } + else if (object instanceof Double) + { + return setDouble(string, (Double) object); + } + else if (object instanceof String) + { + return setString(string, (String) object); } + else if (object instanceof Character) + { + return setChar(string, (Character) object); + } + else if (object instanceof byte[]) + { + return setBytes(string, (byte[]) object); + } + throw new AMQPInvalidClassException("Only Primatives objects allowed Object is:" + object.getClass()); } + + public boolean isNullStringValue(String name) + { + return _properties.containsKey(name) && (_properties.get(name) == null) && + _propertyNamesTypeMap.get(name).equals(Prefix.AMQP_NULL_STRING_PROPERTY_PREFIX); + + + } + // ***** Methods public Enumeration getPropertyNames() |
