aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/Server.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/traccar/Server.java')
-rw-r--r--src/org/traccar/Server.java29
1 files changed, 9 insertions, 20 deletions
diff --git a/src/org/traccar/Server.java b/src/org/traccar/Server.java
index a747df536..f2c5752f5 100644
--- a/src/org/traccar/Server.java
+++ b/src/org/traccar/Server.java
@@ -22,8 +22,6 @@ 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 java.text.DateFormat;
@@ -53,6 +51,7 @@ import org.jboss.netty.channel.ChannelPipelineFactory;
import org.jboss.netty.channel.ChannelStateEvent;
import org.jboss.netty.channel.Channels;
import org.jboss.netty.channel.SimpleChannelHandler;
+import org.traccar.helper.AdvancedConnection;
import org.traccar.protocol.gl100.Gl100ProtocolDecoder;
import org.traccar.protocol.xexun2.Xexun2ProtocolDecoder;
@@ -102,13 +101,10 @@ public class Server implements DataManager {
}
/**
- * Database connection
+ * Database statements
*/
- private Connection connection;
-
- private String selectDeviceQuery;
-
- private String insertPositionQuery;
+ private NamedParameterStatement selectDevice;
+ private NamedParameterStatement insertPosition;
/**
* Init database
@@ -126,15 +122,13 @@ public class Server implements DataManager {
String url = properties.getProperty("database.url");
String user = properties.getProperty("database.user");
String password = properties.getProperty("database.password");
+ AdvancedConnection connection = new AdvancedConnection(url, user, password);
- if (user != null && password != null) {
- connection = DriverManager.getConnection(url, user, password);
- } else {
- connection = DriverManager.getConnection(url);
- }
+ String query = properties.getProperty("database.selectDevice");
+ selectDevice = new NamedParameterStatement(connection, query);
- selectDeviceQuery = properties.getProperty("database.selectDevice");
- insertPositionQuery = properties.getProperty("database.insertPosition");
+ query = properties.getProperty("database.insertPosition");
+ insertPosition = new NamedParameterStatement(connection, query);
}
/**
@@ -148,8 +142,6 @@ public class Server implements DataManager {
List deviceList = new LinkedList();
- NamedParameterStatement selectDevice =
- new NamedParameterStatement(connection, selectDeviceQuery);
ResultSet result = selectDevice.executeQuery();
while (result.next()) {
Device device = new Device();
@@ -177,9 +169,6 @@ public class Server implements DataManager {
public synchronized void setPosition(Position position) throws SQLException {
- NamedParameterStatement insertPosition =
- new NamedParameterStatement(connection, insertPositionQuery);
-
insertPosition.setLong("device_id", position.getDeviceId());
insertPosition.setTimestamp("time", position.getTime());
insertPosition.setBoolean("valid", position.getValid());