diff options
-rw-r--r-- | setup/unix/traccar.xml | 4 | ||||
-rw-r--r-- | setup/windows/traccar.xml | 4 | ||||
-rw-r--r-- | src/org/traccar/api/resource/SupportedCommandResource.java | 6 | ||||
-rw-r--r-- | src/org/traccar/database/DataManager.java | 6 |
4 files changed, 3 insertions, 17 deletions
diff --git a/setup/unix/traccar.xml b/setup/unix/traccar.xml index 8dfcf6386..2ddf6551f 100644 --- a/setup/unix/traccar.xml +++ b/setup/unix/traccar.xml @@ -152,10 +152,6 @@ SELECT * FROM positions WHERE deviceId = :deviceId AND fixTime BETWEEN :from AND :to ORDER BY fixTime; </entry> - <entry key='database.selectLatestPosition'> - SELECT TOP 1 * FROM positions WHERE deviceId = :deviceId AND protocol IS NOT NULL; - </entry> - <entry key='database.insertPosition'> INSERT INTO positions (deviceId, protocol, serverTime, deviceTime, fixTime, valid, latitude, longitude, altitude, speed, course, address, attributes) VALUES (:deviceId, :protocol, :now, :deviceTime, :fixTime, :valid, :latitude, :longitude, :altitude, :speed, :course, :address, :attributes); diff --git a/setup/windows/traccar.xml b/setup/windows/traccar.xml index 80351325b..bf1b216af 100644 --- a/setup/windows/traccar.xml +++ b/setup/windows/traccar.xml @@ -161,10 +161,6 @@ SELECT * FROM positions WHERE id IN (SELECT positionId FROM devices);
</entry>
- <entry key='database.selectLatestPosition'>
- SELECT TOP 1 * FROM positions WHERE deviceId = :deviceId AND protocol IS NOT NULL;
- </entry>
-
<entry key='database.updateLatestPosition'>
UPDATE devices SET positionId = :id WHERE id = :deviceId;
</entry>
diff --git a/src/org/traccar/api/resource/SupportedCommandResource.java b/src/org/traccar/api/resource/SupportedCommandResource.java index 849447060..bf4fd4969 100644 --- a/src/org/traccar/api/resource/SupportedCommandResource.java +++ b/src/org/traccar/api/resource/SupportedCommandResource.java @@ -34,9 +34,9 @@ public class SupportedCommandResource extends BaseResource { @GET public Collection<SupportedCommand> get(@QueryParam("deviceId") long deviceId) throws SQLException { Context.getPermissionsManager().checkDevice(getUserId(), deviceId); - Position latestPosition = Context.getDataManager().getLatestPosition(deviceId); - if (latestPosition != null) { - return Context.getServerManager().getProtocolSuppportedCommands(latestPosition.getProtocol()); + Position lastPosition = Context.getConnectionManager().getLastPosition(deviceId); + if (lastPosition != null) { + return Context.getServerManager().getProtocolSuppportedCommands(lastPosition.getProtocol()); } else { return Collections.EMPTY_LIST; } diff --git a/src/org/traccar/database/DataManager.java b/src/org/traccar/database/DataManager.java index 3dba215f6..3732c82eb 100644 --- a/src/org/traccar/database/DataManager.java +++ b/src/org/traccar/database/DataManager.java @@ -472,12 +472,6 @@ public class DataManager implements IdentityManager { .executeQuery(Position.class); } - public Position getLatestPosition(long deviceId) throws SQLException { - return QueryBuilder.create(dataSource, getQuery("database.selectLatestPosition")) - .setLong("deviceId", deviceId) - .executeQuerySingle(Position.class); - } - public Server getServer() throws SQLException { return QueryBuilder.create(dataSource, getQuery("database.selectServers")) .executeQuerySingle(Server.class); |