aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/handler
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2019-02-23 15:40:41 -0800
committerAnton Tananaev <anton.tananaev@gmail.com>2019-02-23 15:40:41 -0800
commita129cfd3159c02b4f3996dbdfb5299ac95a6720c (patch)
tree1d85533a859e444eff32d92730d0805f6aac08c5 /src/org/traccar/handler
parentb7d48127e60bcaa5d01f45d8df5203f28f9a1667 (diff)
downloadtrackermap-server-a129cfd3159c02b4f3996dbdfb5299ac95a6720c.tar.gz
trackermap-server-a129cfd3159c02b4f3996dbdfb5299ac95a6720c.tar.bz2
trackermap-server-a129cfd3159c02b4f3996dbdfb5299ac95a6720c.zip
Refactor remote address handler
Diffstat (limited to 'src/org/traccar/handler')
-rw-r--r--src/org/traccar/handler/ComputedAttributesHandler.java2
-rw-r--r--src/org/traccar/handler/CopyAttributesHandler.java2
-rw-r--r--src/org/traccar/handler/RemoteAddressHandler.java42
3 files changed, 44 insertions, 2 deletions
diff --git a/src/org/traccar/handler/ComputedAttributesHandler.java b/src/org/traccar/handler/ComputedAttributesHandler.java
index 4b5b8c20d..5ceadafdd 100644
--- a/src/org/traccar/handler/ComputedAttributesHandler.java
+++ b/src/org/traccar/handler/ComputedAttributesHandler.java
@@ -51,7 +51,7 @@ public class ComputedAttributesHandler extends BaseDataHandler {
engine.setStrict(true);
engine.setFunctions(Collections.singletonMap("math", (Object) Math.class));
if (Context.getConfig() != null) {
- mapDeviceAttributes = Context.getConfig().getBoolean("handler.computedAttributes.deviceAttributes");
+ mapDeviceAttributes = Context.getConfig().getBoolean("processing.computedAttributes.deviceAttributes");
}
}
diff --git a/src/org/traccar/handler/CopyAttributesHandler.java b/src/org/traccar/handler/CopyAttributesHandler.java
index ce37e09cc..73642d81b 100644
--- a/src/org/traccar/handler/CopyAttributesHandler.java
+++ b/src/org/traccar/handler/CopyAttributesHandler.java
@@ -34,7 +34,7 @@ public class CopyAttributesHandler extends BaseDataHandler {
@Override
protected Position handlePosition(Position position) {
String attributesString = Context.getDeviceManager().lookupAttributeString(
- position.getDeviceId(), "handler.copyAttributes", "", true);
+ position.getDeviceId(), "processing.copyAttributes", "", true);
Position last = getLastPosition(position.getDeviceId());
if (attributesString.isEmpty()) {
attributesString = Position.KEY_DRIVER_UNIQUE_ID;
diff --git a/src/org/traccar/handler/RemoteAddressHandler.java b/src/org/traccar/handler/RemoteAddressHandler.java
new file mode 100644
index 000000000..c09b8c39a
--- /dev/null
+++ b/src/org/traccar/handler/RemoteAddressHandler.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2015 - 2018 Anton Tananaev (anton@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.handler;
+
+import io.netty.channel.ChannelHandler;
+import io.netty.channel.ChannelHandlerContext;
+import io.netty.channel.ChannelInboundHandlerAdapter;
+import org.traccar.model.Position;
+
+import java.net.InetSocketAddress;
+
+@ChannelHandler.Sharable
+public class RemoteAddressHandler extends ChannelInboundHandlerAdapter {
+
+ @Override
+ public void channelRead(ChannelHandlerContext ctx, Object msg) {
+
+ InetSocketAddress remoteAddress = (InetSocketAddress) ctx.channel().remoteAddress();
+ String hostAddress = remoteAddress != null ? remoteAddress.getAddress().getHostAddress() : null;
+
+ if (msg instanceof Position) {
+ Position position = (Position) msg;
+ position.set(Position.KEY_IP, hostAddress);
+ }
+
+ ctx.fireChannelRead(msg);
+ }
+
+}