You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2016/06/27 12:56:58 UTC
svn commit: r1750328 -
/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AttributeValueConverter.java
Author: rgodfrey
Date: Mon Jun 27 12:56:58 2016
New Revision: 1750328
URL: http://svn.apache.org/viewvc?rev=1750328&view=rev
Log:
QPID-6954 : When converting an ManagedAttributeValue from a map, use the labguage defaults for primitive values if the attribute is not in the map
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AttributeValueConverter.java
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AttributeValueConverter.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AttributeValueConverter.java?rev=1750328&r1=1750327&r2=1750328&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AttributeValueConverter.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AttributeValueConverter.java Mon Jun 27 12:56:58 2016
@@ -50,6 +50,7 @@ import java.util.regex.Pattern;
import javax.xml.bind.DatatypeConverter;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.base.Defaults;
import org.apache.qpid.server.util.ServerScopedRuntimeException;
@@ -1166,7 +1167,7 @@ abstract class AttributeValueConverter<T
AttributeValueConverter<?> conv = entry.getValue();
Method meth = entry.getKey();
- Object lvalue = conv.convert(map.get(getNameFromMethod(meth, getTypeFromMethod(meth))), object);
+ Object lvalue = convertValue(map, conv, meth);
Object rvalue = meth.invoke(args[0]);
if((lvalue == null && rvalue != null) || (lvalue != null && !lvalue.equals(rvalue)))
{
@@ -1180,7 +1181,17 @@ abstract class AttributeValueConverter<T
return false;
}
}
- return converter == null ? null : converter.convert(map.get(getNameFromMethod(method, getTypeFromMethod(method))), object);
+ return converter == null ? null : convertValue(map, converter, method);
+ }
+
+ private Object convertValue(final Map map,
+ final AttributeValueConverter<?> converter,
+ final Method method)
+ {
+ String attributeName = getNameFromMethod(method, getTypeFromMethod(method));
+ return map.containsKey(attributeName)
+ ? converter.convert(map.get(attributeName), object)
+ : Defaults.defaultValue(method.getReturnType());
}
});
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org