aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/config
diff options
context:
space:
mode:
authorAnton Tananaev <atananaev@lyft.com>2020-12-28 14:34:05 -0800
committerAnton Tananaev <atananaev@lyft.com>2020-12-28 14:34:05 -0800
commit45a98c81bc5c9510dfe25f91b0e84d7608eaf7eb (patch)
tree21ae76e3f914eff0850862cf258f43a8473852d3 /src/main/java/org/traccar/config
parentea0e6285be71112c5049d4712a2a31c8348dc9cc (diff)
downloadtraccar-server-45a98c81bc5c9510dfe25f91b0e84d7608eaf7eb.tar.gz
traccar-server-45a98c81bc5c9510dfe25f91b0e84d7608eaf7eb.tar.bz2
traccar-server-45a98c81bc5c9510dfe25f91b0e84d7608eaf7eb.zip
Refactor double keys
Diffstat (limited to 'src/main/java/org/traccar/config')
-rw-r--r--src/main/java/org/traccar/config/Config.java20
-rw-r--r--src/main/java/org/traccar/config/ConfigKey.java4
-rw-r--r--src/main/java/org/traccar/config/Keys.java6
3 files changed, 21 insertions, 9 deletions
diff --git a/src/main/java/org/traccar/config/Config.java b/src/main/java/org/traccar/config/Config.java
index 1231918c6..c6d87bfd6 100644
--- a/src/main/java/org/traccar/config/Config.java
+++ b/src/main/java/org/traccar/config/Config.java
@@ -134,16 +134,22 @@ public class Config {
return hasKey(key) ? Long.parseLong(getString(key)) : defaultValue;
}
- public double getDouble(ConfigKey key) {
- return getDouble(key, 0.0);
- }
-
- public double getDouble(ConfigKey key, double defaultValue) {
- return hasKey(key.getKey()) ? Double.parseDouble(getString(key.getKey())) : defaultValue;
+ public double getDouble(ConfigKey<Double> key) {
+ String value = getString(key.getKey());
+ if (value != null) {
+ return Double.parseDouble(value);
+ } else {
+ Double defaultValue = key.getDefaultValue();
+ if (defaultValue != null) {
+ return defaultValue;
+ } else {
+ return 0;
+ }
+ }
}
@VisibleForTesting
- public void setString(ConfigKey key, String value) {
+ public void setString(ConfigKey<?> key, String value) {
properties.put(key.getKey(), value);
}
diff --git a/src/main/java/org/traccar/config/ConfigKey.java b/src/main/java/org/traccar/config/ConfigKey.java
index 926b46851..cc095c087 100644
--- a/src/main/java/org/traccar/config/ConfigKey.java
+++ b/src/main/java/org/traccar/config/ConfigKey.java
@@ -37,4 +37,8 @@ public class ConfigKey<T> {
return key;
}
+ public T getDefaultValue() {
+ return defaultValue;
+ }
+
}
diff --git a/src/main/java/org/traccar/config/Keys.java b/src/main/java/org/traccar/config/Keys.java
index b6b78d4d7..dc204b2f5 100644
--- a/src/main/java/org/traccar/config/Keys.java
+++ b/src/main/java/org/traccar/config/Keys.java
@@ -91,7 +91,8 @@ public final class Keys {
*/
public static final ConfigKey<Double> EVENT_MOTION_SPEED_THRESHOLD = new ConfigKey<>(
"event.motion.speedThreshold",
- Collections.singletonList(KeyType.FILE));
+ Collections.singletonList(KeyType.FILE),
+ 0.01);
/**
* Global polyline geofence distance. Within that distance from the polyline, point is considered within the
@@ -99,7 +100,8 @@ public final class Keys {
*/
public static final ConfigKey<Double> GEOFENCE_POLYLINE_DISTANCE = new ConfigKey<>(
"geofence.polylineDistance",
- Collections.singletonList(KeyType.FILE));
+ Collections.singletonList(KeyType.FILE),
+ 25.0);
/**
* Path to the database driver JAR file. Traccar includes drivers for MySQL, PostgreSQL and H2 databases. If you use