diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2010-04-19 16:11:12 +0000 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2010-04-19 16:11:12 +0000 |
commit | 59c2c30008edd2a719be59b51d6b115e9ce08962 (patch) | |
tree | 30a441255feb2c0f55f2f5bbf367eb48c02735ff | |
parent | 03e93e4521ca9729de3446f3c002b391c26f9571 (diff) | |
download | trackermap-server-59c2c30008edd2a719be59b51d6b115e9ce08962.tar.gz trackermap-server-59c2c30008edd2a719be59b51d6b115e9ce08962.tar.bz2 trackermap-server-59c2c30008edd2a719be59b51d6b115e9ce08962.zip |
-rw-r--r-- | src/net/sourceforge/opentracking/Server.java | 217 |
1 files changed, 0 insertions, 217 deletions
diff --git a/src/net/sourceforge/opentracking/Server.java b/src/net/sourceforge/opentracking/Server.java index 6109c4f52..d9b182d11 100644 --- a/src/net/sourceforge/opentracking/Server.java +++ b/src/net/sourceforge/opentracking/Server.java @@ -1,4 +1,3 @@ -<<<<<<< .mine /* * Copyright 2010 Anton Tananaev (anton@tananaev.com) * @@ -233,219 +232,3 @@ public class Server implements DataManager { } } -======= -/* - * Copyright 2010 Anton Tananaev (anton@tananaev.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 net.sourceforge.opentracking; - -import java.util.Map; -import java.util.HashMap; -import java.util.List; -import java.util.LinkedList; -import java.util.Properties; -import java.io.FileInputStream; -import java.io.IOException; -import java.sql.DriverManager; -import java.sql.Connection; -import java.sql.ResultSet; -import java.sql.SQLException; -import net.sourceforge.opentracking.helper.NamedParameterStatement; -import org.jboss.netty.handler.codec.string.StringDecoder; -import net.sourceforge.opentracking.protocol.xexun.XexunFrameDecoder; -import net.sourceforge.opentracking.protocol.xexun.XexunProtocolDecoder; - -/** - * Server - */ -public class Server implements DataManager { - - /** - * Server list - */ - private List serverList; - - public Server() { - serverList = new LinkedList(); - } - - /** - * Init - */ - public void init(String[] arguments) - throws IOException, ClassNotFoundException, SQLException { - - // Load properties - Properties properties = new Properties(); - if (arguments.length > 0) { - properties.loadFromXML(new FileInputStream(arguments[0])); - } else { - properties.loadFromXML( - new FileInputStream("/home/user/NetBeansProjects/tracker-server/dev/configuration.xml")); - } - //properties.loadFromXML(Server.class.getResourceAsStream("/configuration.xml")); - - initDatabase(properties); - initXexunServer(properties); - } - - /** - * Database connection - */ - private Connection connection; - - private NamedParameterStatement selectDevice; - - private NamedParameterStatement insertPosition; - - /** - * Init database - */ - private void initDatabase(Properties properties) - throws ClassNotFoundException, SQLException { - - // Load driver - String driver = properties.getProperty("database.driver"); - if (driver != null) { - Class.forName(driver); - } - - // Connect database - String url = properties.getProperty("database.url"); - String user = properties.getProperty("database.user"); - String password = properties.getProperty("database.password"); - - if (user != null && password != null) { - connection = DriverManager.getConnection(url, user, password); - } else { - connection = DriverManager.getConnection(url); - } - - // Init statements - String selectDeviceQuery = properties.getProperty("database.selectDevice"); - if (selectDeviceQuery != null) { - selectDevice = new NamedParameterStatement(connection, selectDeviceQuery); - } - - String insertPositionQuery = properties.getProperty("database.insertPosition"); - if (insertPositionQuery != null) { - insertPosition = new NamedParameterStatement(connection, insertPositionQuery); - } - } - - /** - * Devices - */ - private Map devices; - - public synchronized List getDevices() throws SQLException { - - List deviceList = new LinkedList(); - - ResultSet result = selectDevice.executeQuery(); - while (result.next()) { - Device device = new Device(); - device.setId(result.getLong("id")); - device.setImei(result.getString("imei")); - deviceList.add(device); - } - - return deviceList; - } - - public Device getDeviceByImei(String imei) throws SQLException { - - // Init device list - if (devices == null) { - devices = new HashMap(); - - List deviceList = getDevices(); - - for (Object device: deviceList) { - devices.put(((Device) device).getImei(), device); - } - } - - return (Device) devices.get(imei); - } - - public synchronized void setPosition(Position position) throws SQLException { - - insertPosition.setInt("device_id", position.getDeviceId().intValue()); - insertPosition.setTimestamp("time", position.getTime()); - insertPosition.setBoolean("valid", position.getValid()); - insertPosition.setDouble("latitude", position.getLatitude()); - insertPosition.setDouble("longitude", position.getLongitude()); - insertPosition.setDouble("speed", position.getSpeed()); - insertPosition.setDouble("course", position.getCourse()); - - insertPosition.executeUpdate(); - } - - /** - * Init Xexun server - */ - public void initXexunServer(Properties properties) throws SQLException { - - boolean enable = Boolean.valueOf(properties.getProperty("xexun.enable")); - if (enable) { - - TrackerServer server = new TrackerServer( - Integer.valueOf(properties.getProperty("xexun.port"))); - - server.getPipeline().addLast("frameDecoder", new XexunFrameDecoder()); - server.getPipeline().addLast("stringDecoder", new StringDecoder()); - server.getPipeline().addLast("objectDecoder", new XexunProtocolDecoder(this)); - - server.getPipeline().addLast("handler", new TrackerEventHandler(this)); - - serverList.add(server); - } - } - - /** - * Init Gps103 server - */ - public void initGps103Server(Properties properties) throws SQLException { - - } - - /** - * Start - */ - public void start() { - for (Object server: serverList) { - ((TrackerServer) server).start(); - } - } - - /** - * Stop - */ - public void stop() { - for (Object server: serverList) { - ((TrackerServer) server).stop(); - } - } - - /** - * Destroy - */ - public void destroy() { - serverList.clear(); - } - -} ->>>>>>> .r13 |