summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2014-03-03 15:38:05 +0000
committerRobert Godfrey <rgodfrey@apache.org>2014-03-03 15:38:05 +0000
commit3aea090c1019eeb3eec48e45127286bf6a9fdcd9 (patch)
treee63030f96ff77c7fc1edc481460f78539d22a785 /qpid/java
parent0d6d2adbb434f05f63414fc3fb5441345666a862 (diff)
downloadqpid-python-3aea090c1019eeb3eec48e45127286bf6a9fdcd9.tar.gz
QPID-5579 : [Java Broker] allow for attributes to be of type short
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1573587 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractConfiguredObject.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractConfiguredObject.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractConfiguredObject.java
index 81d9478152..0f14c033e2 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractConfiguredObject.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractConfiguredObject.java
@@ -909,6 +909,36 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
}
};
+
+ private static final Converter<Short> SHORT_CONVERTER = new Converter<Short>()
+ {
+
+ @Override
+ public Short convert(final Object value, final ConfiguredObject object)
+ {
+ if(value instanceof Short)
+ {
+ return (Short) value;
+ }
+ else if(value instanceof Number)
+ {
+ return ((Number) value).shortValue();
+ }
+ else if(value instanceof String)
+ {
+ return Short.valueOf((String) value);
+ }
+ else if(value == null)
+ {
+ return null;
+ }
+ else
+ {
+ throw new IllegalArgumentException("Cannot convert type " + value.getClass() + " to an Integer");
+ }
+ }
+ };
+
private static final Converter<Boolean> BOOLEAN_CONVERTER = new Converter<Boolean>()
{
@@ -1095,6 +1125,10 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
{
return (Converter<X>) INT_CONVERTER;
}
+ else if(type == Short.class)
+ {
+ return (Converter<X>) SHORT_CONVERTER;
+ }
else if(type == Long.class)
{
return (Converter<X>) LONG_CONVERTER;