aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbyss777 <abyss@fox5.ru>2017-07-14 10:56:20 +0500
committerAbyss777 <abyss@fox5.ru>2017-07-14 10:56:20 +0500
commit44691a373200b0e265df5a24e159f5cdff89fb96 (patch)
tree3caab981542ccb98e43636e83ddf741b1974b60d
parent48fee3a5e9c5f99a0195e4c06a058d33eba4e072 (diff)
downloadtrackermap-server-44691a373200b0e265df5a24e159f5cdff89fb96.tar.gz
trackermap-server-44691a373200b0e265df5a24e159f5cdff89fb96.tar.bz2
trackermap-server-44691a373200b0e265df5a24e159f5cdff89fb96.zip
Populate driverUniqueId in CopyAttributesHanler
-rw-r--r--src/org/traccar/BasePipelineFactory.java8
-rw-r--r--src/org/traccar/processing/CopyAttributesHandler.java1
-rw-r--r--src/org/traccar/processing/PopulateDriverHandler.java45
-rw-r--r--test/org/traccar/processing/PopulateDriverTest.java21
4 files changed, 1 insertions, 74 deletions
diff --git a/src/org/traccar/BasePipelineFactory.java b/src/org/traccar/BasePipelineFactory.java
index 98a327220..edbebc9e2 100644
--- a/src/org/traccar/BasePipelineFactory.java
+++ b/src/org/traccar/BasePipelineFactory.java
@@ -41,7 +41,6 @@ import org.traccar.events.AlertEventHandler;
import org.traccar.helper.Log;
import org.traccar.processing.ComputedAttributesHandler;
import org.traccar.processing.CopyAttributesHandler;
-import org.traccar.processing.PopulateDriverHandler;
import java.net.InetSocketAddress;
@@ -56,7 +55,6 @@ public abstract class BasePipelineFactory implements ChannelPipelineFactory {
private GeocoderHandler geocoderHandler;
private GeolocationHandler geolocationHandler;
private HemisphereHandler hemisphereHandler;
- private PopulateDriverHandler populateDriverHandler;
private CopyAttributesHandler copyAttributesHandler;
private ComputedAttributesHandler computedAttributesHandler;
@@ -156,8 +154,6 @@ public abstract class BasePipelineFactory implements ChannelPipelineFactory {
hemisphereHandler = new HemisphereHandler();
}
- populateDriverHandler = new PopulateDriverHandler();
-
if (Context.getConfig().getBoolean("processing.copyAttributes.enable")) {
copyAttributesHandler = new CopyAttributesHandler();
}
@@ -221,10 +217,6 @@ public abstract class BasePipelineFactory implements ChannelPipelineFactory {
pipeline.addLast("motion", motionHandler);
}
- if (populateDriverHandler != null) {
- pipeline.addLast("populateDriver", populateDriverHandler);
- }
-
if (copyAttributesHandler != null) {
pipeline.addLast("copyAttributes", copyAttributesHandler);
}
diff --git a/src/org/traccar/processing/CopyAttributesHandler.java b/src/org/traccar/processing/CopyAttributesHandler.java
index 3a96ca98d..a9e761c3d 100644
--- a/src/org/traccar/processing/CopyAttributesHandler.java
+++ b/src/org/traccar/processing/CopyAttributesHandler.java
@@ -35,6 +35,7 @@ public class CopyAttributesHandler extends BaseDataHandler {
position.getDeviceId(), "processing.copyAttributes", null, true);
Position last = getLastPosition(position.getDeviceId());
if (attributesString != null && last != null) {
+ attributesString += Position.KEY_DRIVER_UNIQUE_ID + ",";
for (String attribute : attributesString.split("[ ,]")) {
if (last.getAttributes().containsKey(attribute) && !position.getAttributes().containsKey(attribute)) {
position.getAttributes().put(attribute, last.getAttributes().get(attribute));
diff --git a/src/org/traccar/processing/PopulateDriverHandler.java b/src/org/traccar/processing/PopulateDriverHandler.java
deleted file mode 100644
index 339cc5548..000000000
--- a/src/org/traccar/processing/PopulateDriverHandler.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2017 Anton Tananaev (anton@traccar.org)
- * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.traccar.processing;
-
-import org.traccar.BaseDataHandler;
-import org.traccar.Context;
-import org.traccar.model.Position;
-
-public class PopulateDriverHandler extends BaseDataHandler {
-
- private Position getLastPosition(long deviceId) {
- if (Context.getIdentityManager() != null) {
- return Context.getIdentityManager().getLastPosition(deviceId);
- }
- return null;
- }
-
- @Override
- protected Position handlePosition(Position position) {
- if (position.getAttributes().containsKey(Position.KEY_RFID)) {
- position.set(Position.KEY_DRIVER_UNIQUE_ID, position.getString(Position.KEY_RFID));
- } else {
- Position last = getLastPosition(position.getDeviceId());
- if (last != null && last.getAttributes().containsKey(Position.KEY_DRIVER_UNIQUE_ID)) {
- position.set(Position.KEY_DRIVER_UNIQUE_ID, last.getString(Position.KEY_DRIVER_UNIQUE_ID));
- }
- }
- return position;
- }
-
-}
diff --git a/test/org/traccar/processing/PopulateDriverTest.java b/test/org/traccar/processing/PopulateDriverTest.java
deleted file mode 100644
index 7c6ee9f06..000000000
--- a/test/org/traccar/processing/PopulateDriverTest.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.traccar.processing;
-
-import org.junit.Assert;
-import org.junit.Test;
-import org.traccar.model.Position;
-
-public class PopulateDriverTest {
-
- @Test
- public void testPopulateDriver() {
- Position position = new Position();
- PopulateDriverHandler populateDriverHandler = new PopulateDriverHandler();
- Assert.assertNull(populateDriverHandler.handlePosition(position).getString(Position.KEY_DRIVER_UNIQUE_ID));
- position.set(Position.KEY_DRIVER_UNIQUE_ID, "123");
- Assert.assertEquals("123",
- populateDriverHandler.handlePosition(position).getString(Position.KEY_DRIVER_UNIQUE_ID));
- position.set(Position.KEY_RFID, "321");
- Assert.assertEquals("321",
- populateDriverHandler.handlePosition(position).getString(Position.KEY_DRIVER_UNIQUE_ID));
- }
-}