diff options
author | Renaud Allard <renaud@allard.it> | 2016-12-21 00:31:44 +0100 |
---|---|---|
committer | Renaud Allard <renaud@allard.it> | 2016-12-21 00:31:44 +0100 |
commit | 444d74eac0f05756de4367b783b57a60b6ba39b6 (patch) | |
tree | b39e27c101e7f9c2bbcf10b171504e06458f8378 | |
parent | 22fdf5388719120b84ce981807d17d68e87a0c07 (diff) | |
download | trackermap-server-444d74eac0f05756de4367b783b57a60b6ba39b6.tar.gz trackermap-server-444d74eac0f05756de4367b783b57a60b6ba39b6.tar.bz2 trackermap-server-444d74eac0f05756de4367b783b57a60b6ba39b6.zip |
Allow setting the interval in Future filter
-rw-r--r-- | src/org/traccar/FilterHandler.java | 16 | ||||
-rw-r--r-- | test/org/traccar/FilterHandlerTest.java | 2 |
2 files changed, 8 insertions, 10 deletions
diff --git a/src/org/traccar/FilterHandler.java b/src/org/traccar/FilterHandler.java index 898651837..0a54cfeca 100644 --- a/src/org/traccar/FilterHandler.java +++ b/src/org/traccar/FilterHandler.java @@ -21,16 +21,14 @@ import org.traccar.model.Position; public class FilterHandler extends BaseDataHandler { - private static final long FILTER_FUTURE_LIMIT = 5 * 60 * 1000; - private boolean filterInvalid; private boolean filterZero; private boolean filterDuplicate; - private boolean filterFuture; private boolean filterApproximate; private boolean filterStatic; private int filterDistance; private long filterLimit; + private long filterFuture; public void setFilterInvalid(boolean filterInvalid) { this.filterInvalid = filterInvalid; @@ -44,10 +42,6 @@ public class FilterHandler extends BaseDataHandler { this.filterDuplicate = filterDuplicate; } - public void setFilterFuture(boolean filterFuture) { - this.filterFuture = filterFuture; - } - public void setFilterApproximate(boolean filterApproximate) { this.filterApproximate = filterApproximate; } @@ -64,17 +58,21 @@ public class FilterHandler extends BaseDataHandler { this.filterLimit = filterLimit; } + public void setFilterFuture(long filterFuture) { + this.filterFuture = filterFuture; + } + public FilterHandler() { Config config = Context.getConfig(); if (config != null) { filterInvalid = config.getBoolean("filter.invalid"); filterZero = config.getBoolean("filter.zero"); filterDuplicate = config.getBoolean("filter.duplicate"); - filterFuture = config.getBoolean("filter.future"); filterApproximate = config.getBoolean("filter.approximate"); filterStatic = config.getBoolean("filter.static"); filterDistance = config.getInteger("filter.distance"); filterLimit = config.getLong("filter.limit") * 1000; + filterFuture = config.getLong("filter.future") * 1000; } } @@ -107,7 +105,7 @@ public class FilterHandler extends BaseDataHandler { } private boolean filterFuture(Position position) { - return filterFuture && position.getFixTime().getTime() > System.currentTimeMillis() + FILTER_FUTURE_LIMIT; + return filterFuture != 0 && position.getFixTime().getTime() > System.currentTimeMillis() + filterFuture; } private boolean filterApproximate(Position position) { diff --git a/test/org/traccar/FilterHandlerTest.java b/test/org/traccar/FilterHandlerTest.java index ea06a490d..11b4163a1 100644 --- a/test/org/traccar/FilterHandlerTest.java +++ b/test/org/traccar/FilterHandlerTest.java @@ -22,11 +22,11 @@ public class FilterHandlerTest extends BaseTest { filtingHandler.setFilterInvalid(true); filtingHandler.setFilterZero(true); filtingHandler.setFilterDuplicate(true); - filtingHandler.setFilterFuture(true); filtingHandler.setFilterApproximate(true); filtingHandler.setFilterStatic(true); filtingHandler.setFilterDistance(10); filtingHandler.setFilterLimit(10); + filtingHandler.setFilterFuture(5 * 60); } @After |