aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/reports/ReportUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/traccar/reports/ReportUtils.java')
-rw-r--r--src/main/java/org/traccar/reports/ReportUtils.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/main/java/org/traccar/reports/ReportUtils.java b/src/main/java/org/traccar/reports/ReportUtils.java
index 413d49ad7..98a80a23e 100644
--- a/src/main/java/org/traccar/reports/ReportUtils.java
+++ b/src/main/java/org/traccar/reports/ReportUtils.java
@@ -31,6 +31,8 @@ import org.traccar.database.DeviceManager;
import org.traccar.database.IdentityManager;
import org.traccar.handler.events.MotionEventHandler;
import org.traccar.helper.UnitsConverter;
+import org.traccar.model.BaseModel;
+import org.traccar.model.User;
import org.traccar.session.DeviceState;
import org.traccar.model.Driver;
import org.traccar.model.Event;
@@ -39,6 +41,11 @@ import org.traccar.reports.model.BaseReport;
import org.traccar.reports.model.StopReport;
import org.traccar.reports.model.TripReport;
import org.traccar.reports.model.TripsConfig;
+import org.traccar.storage.Storage;
+import org.traccar.storage.StorageException;
+import org.traccar.storage.query.Columns;
+import org.traccar.storage.query.Condition;
+import org.traccar.storage.query.Request;
import java.io.IOException;
import java.io.InputStream;
@@ -59,6 +66,15 @@ public final class ReportUtils {
private ReportUtils() {
}
+ public static <T extends BaseModel> T getObject(
+ Storage storage, long userId, Class<T> clazz, long objectId) throws StorageException, SecurityException {
+ return storage.getObject(clazz, new Request(
+ new Columns.Include("id"),
+ new Condition.And(
+ new Condition.Equals("id", "id", objectId),
+ new Condition.Permission(User.class, userId, clazz))));
+ }
+
public static void checkPeriodLimit(Date from, Date to) {
long limit = Context.getConfig().getLong(Keys.REPORT_PERIOD_LIMIT) * 1000;
if (limit > 0 && to.getTime() - from.getTime() > limit) {