aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/notification/NotificationFormatter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/traccar/notification/NotificationFormatter.java')
-rw-r--r--src/main/java/org/traccar/notification/NotificationFormatter.java21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/main/java/org/traccar/notification/NotificationFormatter.java b/src/main/java/org/traccar/notification/NotificationFormatter.java
index 9a6723a71..107426e06 100644
--- a/src/main/java/org/traccar/notification/NotificationFormatter.java
+++ b/src/main/java/org/traccar/notification/NotificationFormatter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016 - 2021 Anton Tananaev (anton@traccar.org)
+ * Copyright 2016 - 2022 Anton Tananaev (anton@traccar.org)
* Copyright 2017 - 2018 Andrey Kunitsyn (andrey@traccar.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,19 +20,23 @@ import org.apache.velocity.VelocityContext;
import org.traccar.Context;
import org.traccar.model.Device;
import org.traccar.model.Event;
+import org.traccar.model.Geofence;
+import org.traccar.model.Maintenance;
import org.traccar.model.Position;
import org.traccar.model.User;
import org.traccar.reports.ReportUtils;
+import org.traccar.session.cache.CacheManager;
public final class NotificationFormatter {
private NotificationFormatter() {
}
- public static VelocityContext prepareContext(long userId, Event event, Position position) {
+ public static NotificationMessage formatMessage(
+ CacheManager cacheManager, long userId, Event event, Position position, String templatePath) {
- User user = Context.getPermissionsManager().getUser(userId);
- Device device = Context.getIdentityManager().getById(event.getDeviceId());
+ User user = cacheManager.getObject(User.class, userId);
+ Device device = cacheManager.getObject(Device.class, event.getDeviceId());
VelocityContext velocityContext = TextTemplateFormatter.prepareContext(user);
@@ -45,21 +49,16 @@ public final class NotificationFormatter {
velocityContext.put("volumeUnit", ReportUtils.getVolumeUnit(userId));
}
if (event.getGeofenceId() != 0) {
- velocityContext.put("geofence", Context.getGeofenceManager().getById(event.getGeofenceId()));
+ velocityContext.put("geofence", cacheManager.getObject(Geofence.class, event.getGeofenceId()));
}
if (event.getMaintenanceId() != 0) {
- velocityContext.put("maintenance", Context.getMaintenancesManager().getById(event.getMaintenanceId()));
+ velocityContext.put("maintenance", cacheManager.getObject(Maintenance.class, event.getMaintenanceId()));
}
String driverUniqueId = event.getString(Position.KEY_DRIVER_UNIQUE_ID);
if (driverUniqueId != null) {
velocityContext.put("driver", Context.getDriversManager().getDriverByUniqueId(driverUniqueId));
}
- return velocityContext;
- }
-
- public static NotificationMessage formatMessage(long userId, Event event, Position position, String templatePath) {
- VelocityContext velocityContext = prepareContext(userId, event, position);
return TextTemplateFormatter.formatMessage(velocityContext, event.getType(), templatePath);
}