This is an automated email from the ASF dual-hosted git repository.
bhaisaab pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/master by this push:
new a52ce36 CLOUDSTACK-10058: Error while opening the Settings tab in
Secondary storage (#2254)
a52ce36 is described below
commit a52ce3628c7121618573a5137c358bdfdc5a229b
Author: Nitin Kumar Maharana <[email protected]>
AuthorDate: Fri Sep 1 16:43:39 2017 +0530
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.
---
.../config/src/org/apache/cloudstack/framework/config/ConfigKey.java | 3 ++-
server/src/com/cloud/server/ManagementServerImpl.java | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git
a/framework/config/src/org/apache/cloudstack/framework/config/ConfigKey.java
b/framework/config/src/org/apache/cloudstack/framework/config/ConfigKey.java
index 4a41306..fb2a57b 100644
--- a/framework/config/src/org/apache/cloudstack/framework/config/ConfigKey.java
+++ b/framework/config/src/org/apache/cloudstack/framework/config/ConfigKey.java
@@ -140,7 +140,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;
diff --git a/server/src/com/cloud/server/ManagementServerImpl.java
b/server/src/com/cloud/server/ManagementServerImpl.java
index 79bc3d5..b135b4e 100644
--- a/server/src/com/cloud/server/ManagementServerImpl.java
+++ b/server/src/com/cloud/server/ManagementServerImpl.java
@@ -1754,7 +1754,7 @@ public class ManagementServerImpl extends ManagerBase
implements ManagementServe
if (configVo != null) {
final 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);
--
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].