CLOUDSTACK-10058: Error while opening the Settings tab in Secondary storage (#2254)

Root Cause:
Some global parameters contains NULL value, where the code doesn't handle NULL check.
So it fails with an exception. Hence nothing appears on the field(ERROR).

Solution:
Added required NULL check.
This commit is contained in:
Nitin Kumar Maharana 2017-09-01 16:43:39 +05:30 committed by Daan Hoogland
parent 6512d393d4
commit 9a53b53aff
2 changed files with 3 additions and 2 deletions

View File

@ -133,7 +133,8 @@ public class ConfigKey<T> {
public T value() {
if (_value == null || isDynamic()) {
ConfigurationVO vo = s_depot != null ? s_depot.global().findById(key()) : null;
_value = valueOf((vo != null && vo.getValue() != null) ? vo.getValue() : defaultValue());
final String value = (vo != null && vo.getValue() != null) ? vo.getValue() : defaultValue();
_value = ((value == null) ? (T)defaultValue() : valueOf(value));
}
return _value;

View File

@ -1726,7 +1726,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
if (configVo != null) {
ConfigKey<?> key = _configDepot.get(param.getName());
if (key != null) {
configVo.setValue(key.valueIn(id).toString());
configVo.setValue(key.valueIn(id) == null ? null : key.valueIn(id).toString());
configVOList.add(configVo);
} else {
s_logger.warn("ConfigDepot could not find parameter " + param.getName() + " for scope " + scope);