aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/database
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2015-06-30 09:51:23 +1200
committerAnton Tananaev <anton.tananaev@gmail.com>2015-06-30 09:51:23 +1200
commit727e7bfad908abd899d1114c5405f9bf69b47ebc (patch)
tree5c66197f72f4cbb42a1b5cecd5a71fed4b2ed757 /src/org/traccar/database
parent54c54703d66e8991472c1f7476ba4acb424b27d9 (diff)
downloadtrackermap-server-727e7bfad908abd899d1114c5405f9bf69b47ebc.tar.gz
trackermap-server-727e7bfad908abd899d1114c5405f9bf69b47ebc.tar.bz2
trackermap-server-727e7bfad908abd899d1114c5405f9bf69b47ebc.zip
Active devices in connection manager
Diffstat (limited to 'src/org/traccar/database')
-rw-r--r--src/org/traccar/database/ActiveDevice.java17
-rw-r--r--src/org/traccar/database/ConnectionManager.java (renamed from src/org/traccar/database/DataCache.java)19
-rw-r--r--src/org/traccar/database/DataManager.java12
3 files changed, 33 insertions, 15 deletions
diff --git a/src/org/traccar/database/ActiveDevice.java b/src/org/traccar/database/ActiveDevice.java
index 58c5d210d..f94e1b12a 100644
--- a/src/org/traccar/database/ActiveDevice.java
+++ b/src/org/traccar/database/ActiveDevice.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2015 Anton Tananaev (anton.tananaev@gmail.com)
+ *
+ * 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.database;
import org.jboss.netty.channel.Channel;
@@ -7,6 +22,7 @@ import org.traccar.command.GpsCommand;
import java.net.SocketAddress;
public class ActiveDevice {
+
private String uniqueId;
private Protocol protocol;
private Channel channel;
@@ -34,4 +50,5 @@ public class ActiveDevice {
public void write(Object message) {
getChannel().write(message, remoteAddress);
}
+
}
diff --git a/src/org/traccar/database/DataCache.java b/src/org/traccar/database/ConnectionManager.java
index fc29f0e2e..7ef190fcf 100644
--- a/src/org/traccar/database/DataCache.java
+++ b/src/org/traccar/database/ConnectionManager.java
@@ -15,6 +15,7 @@
*/
package org.traccar.database;
+import java.net.SocketAddress;
import java.sql.SQLException;
import java.util.Collection;
import java.util.HashMap;
@@ -23,11 +24,15 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
+
+import org.jboss.netty.channel.Channel;
+import org.traccar.Protocol;
import org.traccar.helper.Log;
import org.traccar.model.Position;
-public class DataCache {
-
+public class ConnectionManager {
+
+ private Map<String, ActiveDevice> activeDevices = new HashMap<String, ActiveDevice>();
private final Map<Long, Position> positions = new HashMap<Long, Position>();
private final Map<Long, Set<DataCacheListener>> listeners = new HashMap<Long, Set<DataCacheListener>>();
@@ -41,7 +46,15 @@ public class DataCache {
Log.warning(error);
}
}
-
+
+ public void setActiveDevice(String uniqueId, Protocol protocol, Channel channel, SocketAddress remoteAddress) {
+ activeDevices.put(uniqueId, new ActiveDevice(uniqueId, protocol, channel, remoteAddress));
+ }
+
+ public ActiveDevice getActiveDevice(String uniqueId) {
+ return activeDevices.get(uniqueId);
+ }
+
public synchronized void update(Position position) {
long deviceId = position.getDeviceId();
positions.put(deviceId, position);
diff --git a/src/org/traccar/database/DataManager.java b/src/org/traccar/database/DataManager.java
index 62275af3c..07e50ff5d 100644
--- a/src/org/traccar/database/DataManager.java
+++ b/src/org/traccar/database/DataManager.java
@@ -17,7 +17,6 @@ package org.traccar.database;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.io.File;
-import java.net.SocketAddress;
import java.net.URL;
import java.net.URLClassLoader;
import java.sql.Connection;
@@ -34,9 +33,7 @@ import java.util.Properties;
import javax.naming.InitialContext;
import javax.sql.DataSource;
-import org.jboss.netty.channel.Channel;
import org.traccar.Context;
-import org.traccar.Protocol;
import org.traccar.helper.DriverDelegate;
import org.traccar.helper.Log;
import org.traccar.http.AsyncServlet;
@@ -56,7 +53,6 @@ public class DataManager {
private DataSource dataSource;
private final Map<String, Device> devices = new HashMap<String, Device>();
- private Map<String, ActiveDevice> activeDevices = new HashMap<String, ActiveDevice>();
private long devicesLastUpdate;
private long devicesRefreshDelay;
@@ -79,14 +75,6 @@ public class DataManager {
return dataSource;
}
- public void setActiveDevice(String uniqueId, Protocol protocol, Channel channel, SocketAddress remoteAddress) {
- this.activeDevices.put(uniqueId, new ActiveDevice(uniqueId, protocol, channel, remoteAddress));
- }
-
- public ActiveDevice getActiveDevice(String uniqueId) {
- return this.activeDevices.get(uniqueId);
- }
-
private void initDatabase(Properties properties) throws Exception {
String jndiName = properties.getProperty("database.jndi");