aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAbyss777 <abyss@fox5.ru>2017-07-11 16:32:39 +0500
committerAbyss777 <abyss@fox5.ru>2017-07-11 16:32:39 +0500
commitaeb9dace63d4c9ae02af80824fe157fa43129595 (patch)
treea5ab84b414ec1ac5ee75259bc9f5d7ff8db72ad6 /src
parent85f7eae47ec4bf6b269305a05a696f9acce31fd5 (diff)
downloadtraccar-server-aeb9dace63d4c9ae02af80824fe157fa43129595.tar.gz
traccar-server-aeb9dace63d4c9ae02af80824fe157fa43129595.tar.bz2
traccar-server-aeb9dace63d4c9ae02af80824fe157fa43129595.zip
Implement Driver models, schema and database
Diffstat (limited to 'src')
-rw-r--r--src/org/traccar/database/DataManager.java84
-rw-r--r--src/org/traccar/model/DeviceDriver.java41
-rw-r--r--src/org/traccar/model/Driver.java40
-rw-r--r--src/org/traccar/model/DriverPermission.java40
-rw-r--r--src/org/traccar/model/GroupDriver.java41
5 files changed, 246 insertions, 0 deletions
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<Driver> 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<DriverPermission> 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<GroupDriver> 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<DeviceDriver> 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();
+ }
+
}
diff --git a/src/org/traccar/model/DeviceDriver.java b/src/org/traccar/model/DeviceDriver.java
new file mode 100644
index 000000000..2008aaddf
--- /dev/null
+++ b/src/org/traccar/model/DeviceDriver.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2017 Anton Tananaev (anton@traccar.org)
+ * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org)
+ *
+ * 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.model;
+
+public class DeviceDriver {
+
+ private long deviceId;
+
+ public long getDeviceId() {
+ return deviceId;
+ }
+
+ public void setDeviceId(long deviceId) {
+ this.deviceId = deviceId;
+ }
+
+ private long driverId;
+
+ public long getDriverId() {
+ return driverId;
+ }
+
+ public void setDriverId(long driverId) {
+ this.driverId = driverId;
+ }
+
+}
diff --git a/src/org/traccar/model/Driver.java b/src/org/traccar/model/Driver.java
new file mode 100644
index 000000000..7a51d9151
--- /dev/null
+++ b/src/org/traccar/model/Driver.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2017 Anton Tananaev (anton@traccar.org)
+ * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org)
+ *
+ * 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.model;
+
+public class Driver extends Extensible {
+
+ private String name;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ private String uniqueId;
+
+ public String getUniqueId() {
+ return uniqueId;
+ }
+
+ public void setUniqueId(String uniqueId) {
+ this.uniqueId = uniqueId;
+ }
+}
diff --git a/src/org/traccar/model/DriverPermission.java b/src/org/traccar/model/DriverPermission.java
new file mode 100644
index 000000000..cdbcc4a50
--- /dev/null
+++ b/src/org/traccar/model/DriverPermission.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2017 Anton Tananaev (anton@traccar.org)
+ * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org)
+ *
+ * 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.model;
+
+public class DriverPermission {
+
+ private long userId;
+
+ public long getUserId() {
+ return userId;
+ }
+
+ public void setUserId(long userId) {
+ this.userId = userId;
+ }
+
+ private long driverId;
+
+ public long getDriverId() {
+ return driverId;
+ }
+
+ public void setDriverId(long driverId) {
+ this.driverId = driverId;
+ }
+}
diff --git a/src/org/traccar/model/GroupDriver.java b/src/org/traccar/model/GroupDriver.java
new file mode 100644
index 000000000..91b205923
--- /dev/null
+++ b/src/org/traccar/model/GroupDriver.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2017 Anton Tananaev (anton@traccar.org)
+ * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org)
+ *
+ * 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.model;
+
+public class GroupDriver {
+
+ private long groupId;
+
+ public long getGroupId() {
+ return groupId;
+ }
+
+ public void setGroupId(long groupId) {
+ this.groupId = groupId;
+ }
+
+ private long driverId;
+
+ public long getDriverId() {
+ return driverId;
+ }
+
+ public void setDriverId(long driverId) {
+ this.driverId = driverId;
+ }
+
+}