From aba7cfe71c1ed3290d3b331169c5d56010763b15 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Wed, 31 Dec 2014 12:04:28 +1300 Subject: Add filter unit tests --- src/org/traccar/BasePipelineFactory.java | 2 +- src/org/traccar/FilterHandler.java | 17 +++++++++++++++-- src/org/traccar/model/Position.java | 24 ++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 3 deletions(-) (limited to 'src/org/traccar') diff --git a/src/org/traccar/BasePipelineFactory.java b/src/org/traccar/BasePipelineFactory.java index aba568de6..585f3e273 100644 --- a/src/org/traccar/BasePipelineFactory.java +++ b/src/org/traccar/BasePipelineFactory.java @@ -99,7 +99,7 @@ public abstract class BasePipelineFactory implements ChannelPipelineFactory { String enableFilter = serverManager.getProperties().getProperty("filter.enable"); if (enableFilter != null && Boolean.valueOf(enableFilter)) { - filterHandler = new FilterHandler(serverManager); + filterHandler = new FilterHandler(serverManager.getProperties()); } if (reverseGeocoder != null) { diff --git a/src/org/traccar/FilterHandler.java b/src/org/traccar/FilterHandler.java index 5298f1d7f..5e1910210 100644 --- a/src/org/traccar/FilterHandler.java +++ b/src/org/traccar/FilterHandler.java @@ -36,9 +36,22 @@ public class FilterHandler extends OneToOneDecoder { private long filterLimit; private final Map lastPositions = new HashMap(); + + public FilterHandler( + boolean filterInvalid, + boolean filterZero, + boolean filterDuplicate, + int filterDistance, + long filterLimit) { + + this.filterInvalid = filterInvalid; + this.filterZero = filterZero; + this.filterDuplicate = filterDuplicate; + this.filterDistance = filterDistance; + this.filterLimit = filterLimit; + } - public FilterHandler(ServerManager serverManager) { - Properties properties = serverManager.getProperties(); + public FilterHandler(Properties properties) { String value = properties.getProperty("filter.invalid"); if (value != null) filterInvalid = Boolean.valueOf(value); diff --git a/src/org/traccar/model/Position.java b/src/org/traccar/model/Position.java index 0ee79b744..898b0d144 100644 --- a/src/org/traccar/model/Position.java +++ b/src/org/traccar/model/Position.java @@ -22,6 +22,30 @@ import java.util.Date; */ public class Position extends Data { + public Position() { + } + + public Position( + long deviceId, + Date time, + boolean valid, + double latitude, + double longitude, + double altitude, + double speed, + double course) { + + setDeviceId(deviceId); + setTime(time); + setValid(valid); + setLatitude(latitude); + setLongitude(longitude); + setAltitude(altitude); + setSpeed(speed); + setCourse(course); + } + + /** * Time (UTC) */ -- cgit v1.2.3