From 3aea090c1019eeb3eec48e45127286bf6a9fdcd9 Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Mon, 3 Mar 2014 15:38:05 +0000 Subject: 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 --- .../model/adapter/AbstractConfiguredObject.java | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'qpid/java') 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> im } }; + + private static final Converter SHORT_CONVERTER = new Converter() + { + + @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_CONVERTER = new Converter() { @@ -1095,6 +1125,10 @@ public abstract class AbstractConfiguredObject> im { return (Converter) INT_CONVERTER; } + else if(type == Short.class) + { + return (Converter) SHORT_CONVERTER; + } else if(type == Long.class) { return (Converter) LONG_CONVERTER; -- cgit v1.2.1