diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2017-02-25 17:55:09 +1300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-25 17:55:09 +1300 |
commit | e4aa15f0eb0646d6158fd8386f8f9c5477db6bfe (patch) | |
tree | 05c597d59b9dde5199721e0076a372cfbceab419 /src/org/traccar/database/NotificationManager.java | |
parent | 981ab9d051d0b84cdc256fa48883f2c214e8bc3c (diff) | |
parent | e8500e8f6c440277d60e0418ab6a82f4bf80b887 (diff) | |
download | trackermap-server-e4aa15f0eb0646d6158fd8386f8f9c5477db6bfe.tar.gz trackermap-server-e4aa15f0eb0646d6158fd8386f8f9c5477db6bfe.tar.bz2 trackermap-server-e4aa15f0eb0646d6158fd8386f8f9c5477db6bfe.zip |
Merge pull request #2942 from Abyss777/smpp
Implement SMS notifications with help of smpp protocol
Diffstat (limited to 'src/org/traccar/database/NotificationManager.java')
-rw-r--r-- | src/org/traccar/database/NotificationManager.java | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/org/traccar/database/NotificationManager.java b/src/org/traccar/database/NotificationManager.java index 4ae173c6a..48caa615c 100644 --- a/src/org/traccar/database/NotificationManager.java +++ b/src/org/traccar/database/NotificationManager.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 Anton Tananaev (anton@traccar.org) + * Copyright 2016 - 2017 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. @@ -32,6 +32,7 @@ import org.traccar.model.Event; import org.traccar.model.Notification; import org.traccar.model.Position; import org.traccar.notification.NotificationMail; +import org.traccar.notification.NotificationSms; public class NotificationManager { @@ -65,6 +66,9 @@ public class NotificationManager { if (notification.getMail()) { NotificationMail.sendMailAsync(userId, event, position); } + if (notification.getSms()) { + NotificationSms.sendSmsAsync(userId, event, position); + } } } } @@ -131,8 +135,9 @@ public class NotificationManager { Notification cachedNotification = getUserNotificationByType(notification.getUserId(), notification.getType()); if (cachedNotification != null) { if (cachedNotification.getWeb() != notification.getWeb() - || cachedNotification.getMail() != notification.getMail()) { - if (!notification.getWeb() && !notification.getMail()) { + || cachedNotification.getMail() != notification.getMail() + || cachedNotification.getSms() != notification.getSms()) { + if (!notification.getWeb() && !notification.getMail() && !notification.getSms()) { try { dataManager.removeNotification(cachedNotification); } catch (SQLException error) { @@ -149,6 +154,7 @@ public class NotificationManager { try { cachedNotification.setWeb(notification.getWeb()); cachedNotification.setMail(notification.getMail()); + cachedNotification.setSms(notification.getSms()); cachedNotification.setAttributes(notification.getAttributes()); } finally { notificationsLock.writeLock().unlock(); @@ -162,7 +168,7 @@ public class NotificationManager { } else { notification.setId(cachedNotification.getId()); } - } else if (notification.getWeb() || notification.getMail()) { + } else if (notification.getWeb() || notification.getMail() || notification.getSms()) { try { dataManager.addNotification(notification); } catch (SQLException error) { |