diff options
Diffstat (limited to 'src/org/traccar/BasePipelineFactory.java')
-rw-r--r-- | src/org/traccar/BasePipelineFactory.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/org/traccar/BasePipelineFactory.java b/src/org/traccar/BasePipelineFactory.java index 83207b91f..aba568de6 100644 --- a/src/org/traccar/BasePipelineFactory.java +++ b/src/org/traccar/BasePipelineFactory.java @@ -36,6 +36,7 @@ public abstract class BasePipelineFactory implements ChannelPipelineFactory { private final ReverseGeocoder reverseGeocoder; private FilterHandler filterHandler; private Integer resetDelay; + private Boolean processInvalidPositions; /** * Open channel handler @@ -100,6 +101,12 @@ public abstract class BasePipelineFactory implements ChannelPipelineFactory { if (enableFilter != null && Boolean.valueOf(enableFilter)) { filterHandler = new FilterHandler(serverManager); } + + if (reverseGeocoder != null) { + // Default behavior is to process invalid positions (i.e., the "null" case) + String invalidPositions = serverManager.getProperties().getProperty("geocode.processInvalidPositions"); + processInvalidPositions = (invalidPositions == null || Boolean.valueOf(invalidPositions)); + } } protected DataManager getDataManager() { @@ -123,7 +130,7 @@ public abstract class BasePipelineFactory implements ChannelPipelineFactory { pipeline.addLast("filter", filterHandler); } if (reverseGeocoder != null) { - pipeline.addLast("geocoder", new ReverseGeocoderHandler(reverseGeocoder)); + pipeline.addLast("geocoder", new ReverseGeocoderHandler(reverseGeocoder, processInvalidPositions)); } pipeline.addLast("handler", new TrackerEventHandler(dataManager)); return pipeline; |