diff options
author | Anton Tananaev <anton@traccar.org> | 2024-02-24 16:58:07 -0800 |
---|---|---|
committer | Anton Tananaev <anton@traccar.org> | 2024-02-24 16:58:07 -0800 |
commit | 77b3f9f4b05dfc44809b578eaae55645f496b65c (patch) | |
tree | 1186b3bf043e5268d0cd65589de4834b4b0c716e /src/main/java/org/traccar/notificators/Notificator.java | |
parent | 500a312d968b5e0a59ba2218df09b9e4c22ea1d4 (diff) | |
download | trackermap-server-77b3f9f4b05dfc44809b578eaae55645f496b65c.tar.gz trackermap-server-77b3f9f4b05dfc44809b578eaae55645f496b65c.tar.bz2 trackermap-server-77b3f9f4b05dfc44809b578eaae55645f496b65c.zip |
Refactor notificator classes
Diffstat (limited to 'src/main/java/org/traccar/notificators/Notificator.java')
-rw-r--r-- | src/main/java/org/traccar/notificators/Notificator.java | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/src/main/java/org/traccar/notificators/Notificator.java b/src/main/java/org/traccar/notificators/Notificator.java index cf71141c0..59216b1b6 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 - 2023 Anton Tananaev (anton@traccar.org) + * Copyright 2018 - 2024 Anton Tananaev (anton@traccar.org) * Copyright 2018 Andrey Kunitsyn (andrey@traccar.org) * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -21,9 +21,26 @@ import org.traccar.model.Notification; import org.traccar.model.Position; import org.traccar.model.User; import org.traccar.notification.MessageException; +import org.traccar.notification.NotificationFormatter; +import org.traccar.notification.NotificationMessage; -public interface Notificator { +public abstract class Notificator { - void send(Notification notification, User user, Event event, Position position) throws MessageException; + private final NotificationFormatter notificationFormatter; + private final String templatePath; + + public Notificator(NotificationFormatter notificationFormatter, String templatePath) { + this.notificationFormatter = notificationFormatter; + this.templatePath = templatePath; + } + + public void send(Notification notification, User user, Event event, Position position) throws MessageException { + var message = notificationFormatter.formatMessage(notification, user, event, position, templatePath); + send(user, message, event, position); + } + + public void send(User user, NotificationMessage message, Event event, Position position) throws MessageException { + throw new UnsupportedOperationException(); + } } |