aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/notificators
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2022-06-07 06:48:53 -0700
committerAnton Tananaev <anton@traccar.org>2022-06-07 06:48:53 -0700
commit8eecfdcf5c59f92158a6c339d1622e0e9d67968c (patch)
treef0bd5c9d391549ab7b98f87a86938a1341802a23 /src/main/java/org/traccar/notificators
parent669bdccecff50eaca46c815598df092ad0fe143d (diff)
downloadtrackermap-server-8eecfdcf5c59f92158a6c339d1622e0e9d67968c.tar.gz
trackermap-server-8eecfdcf5c59f92158a6c339d1622e0e9d67968c.tar.bz2
trackermap-server-8eecfdcf5c59f92158a6c339d1622e0e9d67968c.zip
Pass user to notificators
Diffstat (limited to 'src/main/java/org/traccar/notificators')
-rw-r--r--src/main/java/org/traccar/notificators/Notificator.java9
-rw-r--r--src/main/java/org/traccar/notificators/NotificatorFirebase.java11
-rw-r--r--src/main/java/org/traccar/notificators/NotificatorMail.java9
-rw-r--r--src/main/java/org/traccar/notificators/NotificatorNull.java7
-rw-r--r--src/main/java/org/traccar/notificators/NotificatorPushover.java12
-rw-r--r--src/main/java/org/traccar/notificators/NotificatorSms.java12
-rw-r--r--src/main/java/org/traccar/notificators/NotificatorTelegram.java11
-rw-r--r--src/main/java/org/traccar/notificators/NotificatorWeb.java7
8 files changed, 38 insertions, 40 deletions
diff --git a/src/main/java/org/traccar/notificators/Notificator.java b/src/main/java/org/traccar/notificators/Notificator.java
index dd888bae9..3903f3008 100644
--- a/src/main/java/org/traccar/notificators/Notificator.java
+++ b/src/main/java/org/traccar/notificators/Notificator.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2018 Anton Tananaev (anton@traccar.org)
+ * Copyright 2018 - 2022 Anton Tananaev (anton@traccar.org)
* Copyright 2018 Andrey Kunitsyn (andrey@traccar.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,23 +20,24 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.traccar.model.Event;
import org.traccar.model.Position;
+import org.traccar.model.User;
import org.traccar.notification.MessageException;
public abstract class Notificator {
private static final Logger LOGGER = LoggerFactory.getLogger(Notificator.class);
- public void sendAsync(final long userId, final Event event, final Position position) {
+ public void sendAsync(User user, Event event, Position position) {
new Thread(() -> {
try {
- sendSync(userId, event, position);
+ sendSync(user, event, position);
} catch (MessageException | InterruptedException error) {
LOGGER.warn("Event send error", error);
}
}).start();
}
- public abstract void sendSync(long userId, Event event, Position position)
+ public abstract void sendSync(User user, Event event, Position position)
throws MessageException, InterruptedException;
}
diff --git a/src/main/java/org/traccar/notificators/NotificatorFirebase.java b/src/main/java/org/traccar/notificators/NotificatorFirebase.java
index bcce9a4d8..ee22b3a22 100644
--- a/src/main/java/org/traccar/notificators/NotificatorFirebase.java
+++ b/src/main/java/org/traccar/notificators/NotificatorFirebase.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2018 - 2020 Anton Tananaev (anton@traccar.org)
+ * Copyright 2018 - 2022 Anton Tananaev (anton@traccar.org)
* Copyright 2018 Andrey Kunitsyn (andrey@traccar.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -67,12 +67,11 @@ public class NotificatorFirebase extends Notificator {
}
@Override
- public void sendSync(long userId, Event event, Position position) {
- final User user = Context.getPermissionsManager().getUser(userId);
+ public void sendSync(User user, Event event, Position position) {
if (user.getAttributes().containsKey("notificationTokens")) {
NotificationMessage shortMessage = NotificationFormatter.formatMessage(
- Main.getInjector().getInstance(CacheManager.class), userId, event, position, "short");
+ Main.getInjector().getInstance(CacheManager.class), user, event, position, "short");
Notification notification = new Notification();
notification.title = shortMessage.getSubject();
@@ -99,8 +98,8 @@ public class NotificatorFirebase extends Notificator {
}
@Override
- public void sendAsync(long userId, Event event, Position position) {
- sendSync(userId, event, position);
+ public void sendAsync(User user, Event event, Position position) {
+ sendSync(user, event, position);
}
}
diff --git a/src/main/java/org/traccar/notificators/NotificatorMail.java b/src/main/java/org/traccar/notificators/NotificatorMail.java
index eb7f399eb..7b85254be 100644
--- a/src/main/java/org/traccar/notificators/NotificatorMail.java
+++ b/src/main/java/org/traccar/notificators/NotificatorMail.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016 - 2018 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,6 +20,7 @@ import org.traccar.Context;
import org.traccar.Main;
import org.traccar.model.Event;
import org.traccar.model.Position;
+import org.traccar.model.User;
import org.traccar.notification.NotificationMessage;
import org.traccar.notification.MessageException;
import org.traccar.notification.NotificationFormatter;
@@ -30,11 +31,11 @@ import javax.mail.MessagingException;
public final class NotificatorMail extends Notificator {
@Override
- public void sendSync(long userId, Event event, Position position) throws MessageException {
+ public void sendSync(User user, Event event, Position position) throws MessageException {
try {
NotificationMessage fullMessage = NotificationFormatter.formatMessage(
- Main.getInjector().getInstance(CacheManager.class), userId, event, position, "full");
- Context.getMailManager().sendMessage(userId, fullMessage.getSubject(), fullMessage.getBody());
+ Main.getInjector().getInstance(CacheManager.class), user, event, position, "full");
+ Context.getMailManager().sendMessage(user, fullMessage.getSubject(), fullMessage.getBody());
} catch (MessagingException e) {
throw new MessageException(e);
}
diff --git a/src/main/java/org/traccar/notificators/NotificatorNull.java b/src/main/java/org/traccar/notificators/NotificatorNull.java
index 9364336be..a03a6e2c9 100644
--- a/src/main/java/org/traccar/notificators/NotificatorNull.java
+++ b/src/main/java/org/traccar/notificators/NotificatorNull.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2018 Anton Tananaev (anton@traccar.org)
+ * Copyright 2018 - 2022 Anton Tananaev (anton@traccar.org)
* Copyright 2018 Andrey Kunitsyn (andrey@traccar.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,18 +20,19 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.traccar.model.Event;
import org.traccar.model.Position;
+import org.traccar.model.User;
public final class NotificatorNull extends Notificator {
private static final Logger LOGGER = LoggerFactory.getLogger(NotificatorNull.class);
@Override
- public void sendAsync(long userId, Event event, Position position) {
+ public void sendAsync(User user, Event event, Position position) {
LOGGER.warn("You are using null notificatior, please check your configuration, notification not sent");
}
@Override
- public void sendSync(long userId, Event event, Position position) {
+ public void sendSync(User user, Event event, Position position) {
LOGGER.warn("You are using null notificatior, please check your configuration, notification not sent");
}
diff --git a/src/main/java/org/traccar/notificators/NotificatorPushover.java b/src/main/java/org/traccar/notificators/NotificatorPushover.java
index 73fad9bd2..ffd9b426f 100644
--- a/src/main/java/org/traccar/notificators/NotificatorPushover.java
+++ b/src/main/java/org/traccar/notificators/NotificatorPushover.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020 Anton Tananaev (anton@traccar.org)
+ * Copyright 2020 - 2022 Anton Tananaev (anton@traccar.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -59,9 +59,7 @@ public class NotificatorPushover extends Notificator {
}
@Override
- public void sendSync(long userId, Event event, Position position) {
-
- final User user = Context.getPermissionsManager().getUser(userId);
+ public void sendSync(User user, Event event, Position position) {
String device = "";
@@ -80,7 +78,7 @@ public class NotificatorPushover extends Notificator {
}
NotificationMessage shortMessage = NotificationFormatter.formatMessage(
- Main.getInjector().getInstance(CacheManager.class), userId, event, position, "short");
+ Main.getInjector().getInstance(CacheManager.class), user, event, position, "short");
Message message = new Message();
message.token = token;
@@ -103,8 +101,8 @@ public class NotificatorPushover extends Notificator {
}
@Override
- public void sendAsync(long userId, Event event, Position position) {
- sendSync(userId, event, position);
+ public void sendAsync(User user, Event event, Position position) {
+ sendSync(user, event, position);
}
}
diff --git a/src/main/java/org/traccar/notificators/NotificatorSms.java b/src/main/java/org/traccar/notificators/NotificatorSms.java
index 09eb65b0c..ae409c558 100644
--- a/src/main/java/org/traccar/notificators/NotificatorSms.java
+++ b/src/main/java/org/traccar/notificators/NotificatorSms.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2017 - 2020 Anton Tananaev (anton@traccar.org)
+ * Copyright 2017 - 2022 Anton Tananaev (anton@traccar.org)
* Copyright 2017 - 2018 Andrey Kunitsyn (andrey@traccar.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -30,11 +30,10 @@ import org.traccar.session.cache.CacheManager;
public final class NotificatorSms extends Notificator {
@Override
- public void sendAsync(long userId, Event event, Position position) {
- final User user = Context.getPermissionsManager().getUser(userId);
+ public void sendAsync(User user, Event event, Position position) {
if (user.getPhone() != null) {
NotificationMessage shortMessage = NotificationFormatter.formatMessage(
- Main.getInjector().getInstance(CacheManager.class), userId, event, position, "short");
+ Main.getInjector().getInstance(CacheManager.class), user, event, position, "short");
Main.getInjector().getInstance(StatisticsManager.class).registerSms();
Context.getSmsManager().sendMessageAsync(user.getPhone(),
shortMessage.getBody(), false);
@@ -42,11 +41,10 @@ public final class NotificatorSms extends Notificator {
}
@Override
- public void sendSync(long userId, Event event, Position position) throws MessageException, InterruptedException {
- final User user = Context.getPermissionsManager().getUser(userId);
+ public void sendSync(User user, Event event, Position position) throws MessageException, InterruptedException {
if (user.getPhone() != null) {
NotificationMessage shortMessage = NotificationFormatter.formatMessage(
- Main.getInjector().getInstance(CacheManager.class), userId, event, position, "short");
+ Main.getInjector().getInstance(CacheManager.class), user, event, position, "short");
Main.getInjector().getInstance(StatisticsManager.class).registerSms();
Context.getSmsManager().sendMessageSync(user.getPhone(),
shortMessage.getBody(), false);
diff --git a/src/main/java/org/traccar/notificators/NotificatorTelegram.java b/src/main/java/org/traccar/notificators/NotificatorTelegram.java
index a8e69e77d..46e29559d 100644
--- a/src/main/java/org/traccar/notificators/NotificatorTelegram.java
+++ b/src/main/java/org/traccar/notificators/NotificatorTelegram.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019 - 2021 Anton Tananaev (anton@traccar.org)
+ * Copyright 2019 - 2022 Anton Tananaev (anton@traccar.org)
* Copyright 2021 Rafael Miquelino (rafaelmiquelino@gmail.com)
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -99,10 +99,9 @@ public class NotificatorTelegram extends Notificator {
}
@Override
- public void sendSync(long userId, Event event, Position position) {
- User user = Context.getPermissionsManager().getUser(userId);
+ public void sendSync(User user, Event event, Position position) {
NotificationMessage shortMessage = NotificationFormatter.formatMessage(
- Main.getInjector().getInstance(CacheManager.class), userId, event, position, "short");
+ Main.getInjector().getInstance(CacheManager.class), user, event, position, "short");
TextMessage message = new TextMessage();
message.chatId = user.getString("telegramChatId");
@@ -117,8 +116,8 @@ public class NotificatorTelegram extends Notificator {
}
@Override
- public void sendAsync(long userId, Event event, Position position) {
- sendSync(userId, event, position);
+ public void sendAsync(User user, Event event, Position position) {
+ sendSync(user, event, position);
}
}
diff --git a/src/main/java/org/traccar/notificators/NotificatorWeb.java b/src/main/java/org/traccar/notificators/NotificatorWeb.java
index 1d11c0b46..c9ab93b6d 100644
--- a/src/main/java/org/traccar/notificators/NotificatorWeb.java
+++ b/src/main/java/org/traccar/notificators/NotificatorWeb.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2018 Anton Tananaev (anton@traccar.org)
+ * Copyright 2018 - 2022 Anton Tananaev (anton@traccar.org)
* Copyright 2018 Andrey Kunitsyn (andrey@traccar.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,12 +19,13 @@ package org.traccar.notificators;
import org.traccar.Context;
import org.traccar.model.Event;
import org.traccar.model.Position;
+import org.traccar.model.User;
public final class NotificatorWeb extends Notificator {
@Override
- public void sendSync(long userId, Event event, Position position) {
- Context.getConnectionManager().updateEvent(userId, event);
+ public void sendSync(User user, Event event, Position position) {
+ Context.getConnectionManager().updateEvent(user.getId(), event);
}
}