Skip to content

Commit 8307dd9

Browse files
anshulgangwarrajesh-battala
authored andcommitted
CLOUDSTACK-7930, CLOUDSTACK-7931: Do not allow to set invalid values for global settings which are of type integer and float
This closes #41
1 parent 4721e66 commit 8307dd9

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

server/src/com/cloud/configuration/ConfigurationManagerImpl.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -725,6 +725,21 @@ private String validateConfigurationValue(String name, String value, String scop
725725
type = c.getType();
726726
}
727727

728+
String errMsg = null;
729+
try {
730+
if (type.equals(Integer.class)) {
731+
errMsg = "There was error in trying to parse value: " + value + ". Please enter a valid integer value for parameter " + name;
732+
Integer.parseInt(value);
733+
} else if (type.equals(Float.class)) {
734+
errMsg = "There was error in trying to parse value: " + value + ". Please enter a valid float value for parameter " + name;
735+
Float.parseFloat(value);
736+
}
737+
} catch (Exception e) {
738+
// catching generic exception as some throws NullPointerException and some throws NumberFormatExcpeion
739+
s_logger.error(errMsg);
740+
return errMsg;
741+
}
742+
728743
if (value == null) {
729744
if (type.equals(Boolean.class)) {
730745
return "Please enter either 'true' or 'false'.";

0 commit comments

Comments
 (0)