diff options
author | Ingo Bauersachs <ingo@jitsi.org> | 2014-02-18 18:56:39 +0100 |
---|---|---|
committer | Ingo Bauersachs <ingo@jitsi.org> | 2014-02-18 18:56:39 +0100 |
commit | 6ea8865e4769465df08796984e2f965c4cae2aa6 (patch) | |
tree | 9c09981b28f9e63f83bd41036c6e077cc82106a5 /src/net/java/sip/communicator/impl/configuration/JdbcConfigService.java | |
parent | 72d8ff7bf6e1a6918286ba8432ee4f081ad379d9 (diff) | |
download | jitsi-6ea8865e4769465df08796984e2f965c4cae2aa6.zip jitsi-6ea8865e4769465df08796984e2f965c4cae2aa6.tar.gz jitsi-6ea8865e4769465df08796984e2f965c4cae2aa6.tar.bz2 |
Gracefully handle stored non-int/long values for int/long properties
Diffstat (limited to 'src/net/java/sip/communicator/impl/configuration/JdbcConfigService.java')
-rw-r--r-- | src/net/java/sip/communicator/impl/configuration/JdbcConfigService.java | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/src/net/java/sip/communicator/impl/configuration/JdbcConfigService.java b/src/net/java/sip/communicator/impl/configuration/JdbcConfigService.java index d290503..35f7e01 100644 --- a/src/net/java/sip/communicator/impl/configuration/JdbcConfigService.java +++ b/src/net/java/sip/communicator/impl/configuration/JdbcConfigService.java @@ -548,12 +548,22 @@ public final class JdbcConfigService public int getInt(String propertyName, int defaultValue) { Object value = this.getProperty(propertyName); - if (value == null) + if (value == null || "".equals(value.toString())) { return defaultValue; } - return Integer.parseInt(value.toString()); + try + { + return Integer.parseInt(value.toString()); + } + catch (NumberFormatException ex) + { + logger.error(String.format( + "'%s' for property %s not an integer, returning default (%s)", + value, propertyName, defaultValue), ex); + return defaultValue; + } } /* @@ -567,12 +577,22 @@ public final class JdbcConfigService public long getLong(String propertyName, long defaultValue) { Object value = this.getProperty(propertyName); - if (value == null) + if (value == null || "".equals(value.toString())) { return defaultValue; } - return Long.parseLong(value.toString()); + try + { + return Long.parseLong(value.toString()); + } + catch (NumberFormatException ex) + { + logger.error(String.format( + "'%s' for property %s not a long, returning default (%s)", + value, propertyName, defaultValue), ex); + return defaultValue; + } } /* |