aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator/impl/configuration/JdbcConfigService.java
diff options
context:
space:
mode:
authorIngo Bauersachs <ingo@jitsi.org>2014-02-18 18:56:39 +0100
committerIngo Bauersachs <ingo@jitsi.org>2014-02-18 18:56:39 +0100
commit6ea8865e4769465df08796984e2f965c4cae2aa6 (patch)
tree9c09981b28f9e63f83bd41036c6e077cc82106a5 /src/net/java/sip/communicator/impl/configuration/JdbcConfigService.java
parent72d8ff7bf6e1a6918286ba8432ee4f081ad379d9 (diff)
downloadjitsi-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.java28
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;
+ }
}
/*