From aeb9dace63d4c9ae02af80824fe157fa43129595 Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Tue, 11 Jul 2017 16:32:39 +0500 Subject: Implement Driver models, schema and database --- src/org/traccar/database/DataManager.java | 84 +++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) (limited to 'src/org/traccar/database') diff --git a/src/org/traccar/database/DataManager.java b/src/org/traccar/database/DataManager.java index dd65289e4..1c2a66bcf 100644 --- a/src/org/traccar/database/DataManager.java +++ b/src/org/traccar/database/DataManager.java @@ -44,11 +44,15 @@ import org.traccar.model.CalendarPermission; import org.traccar.model.Attribute; import org.traccar.model.Device; import org.traccar.model.DeviceAttribute; +import org.traccar.model.DeviceDriver; import org.traccar.model.DevicePermission; +import org.traccar.model.Driver; +import org.traccar.model.DriverPermission; import org.traccar.model.Event; import org.traccar.model.Geofence; import org.traccar.model.Group; import org.traccar.model.GroupAttribute; +import org.traccar.model.GroupDriver; import org.traccar.model.GroupGeofence; import org.traccar.model.GroupPermission; import org.traccar.model.Notification; @@ -638,4 +642,84 @@ public class DataManager { .executeUpdate(); } + public Collection getDrivers() throws SQLException { + return QueryBuilder.create(dataSource, getQuery("database.selectDrivers")) + .executeQuery(Driver.class); + } + + public void addDriver(Driver driver) throws SQLException { + driver.setId(QueryBuilder.create(dataSource, getQuery("database.insertDriver"), true) + .setObject(driver) + .executeUpdate()); + } + + public void updateDriver(Driver driver) throws SQLException { + QueryBuilder.create(dataSource, getQuery("database.updateDriver")) + .setObject(driver) + .executeUpdate(); + } + + public void removeDriver(long driverId) throws SQLException { + QueryBuilder.create(dataSource, getQuery("database.deleteDriver")) + .setLong("id", driverId) + .executeUpdate(); + } + + public Collection getDriverPermissions() throws SQLException { + return QueryBuilder.create(dataSource, getQuery("database.selectDriverPermissions")) + .executeQuery(DriverPermission.class); + } + + public void linkDriver(long userId, long driverId) throws SQLException { + QueryBuilder.create(dataSource, getQuery("database.linkDriver")) + .setLong("userId", userId) + .setLong("driverId", driverId) + .executeUpdate(); + } + + public void unlinkDriver(long userId, long driverId) throws SQLException { + QueryBuilder.create(dataSource, getQuery("database.unlinkDriver")) + .setLong("userId", userId) + .setLong("driverId", driverId) + .executeUpdate(); + } + + public Collection getGroupDrivers() throws SQLException { + return QueryBuilder.create(dataSource, getQuery("database.selectGroupDrivers")) + .executeQuery(GroupDriver.class); + } + + public void linkGroupDriver(long groupId, long driverId) throws SQLException { + QueryBuilder.create(dataSource, getQuery("database.linkGroupDriver")) + .setLong("groupId", groupId) + .setLong("driverId", driverId) + .executeUpdate(); + } + + public void unlinkGroupDriver(long groupId, long driverId) throws SQLException { + QueryBuilder.create(dataSource, getQuery("database.unlinkGroupDriver")) + .setLong("groupId", groupId) + .setLong("driverId", driverId) + .executeUpdate(); + } + + public Collection getDeviceDrivers() throws SQLException { + return QueryBuilder.create(dataSource, getQuery("database.selectDeviceDrivers")) + .executeQuery(DeviceDriver.class); + } + + public void linkDeviceDriver(long deviceId, long driverId) throws SQLException { + QueryBuilder.create(dataSource, getQuery("database.linkDeviceDriver")) + .setLong("deviceId", deviceId) + .setLong("driverId", driverId) + .executeUpdate(); + } + + public void unlinkDeviceDriver(long deviceId, long driverId) throws SQLException { + QueryBuilder.create(dataSource, getQuery("database.unlinkDeviceDriver")) + .setLong("deviceId", deviceId) + .setLong("driverId", driverId) + .executeUpdate(); + } + } -- cgit v1.2.3