aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/traccar')
-rw-r--r--src/main/java/org/traccar/api/resource/PasswordResource.java4
-rw-r--r--src/main/java/org/traccar/notification/Message.java (renamed from src/main/java/org/traccar/notification/FullMessage.java)4
-rw-r--r--src/main/java/org/traccar/notification/NotificationFormatter.java10
-rw-r--r--src/main/java/org/traccar/notification/ShortMessage.java36
-rw-r--r--src/main/java/org/traccar/notification/TextTemplateFormatter.java13
-rw-r--r--src/main/java/org/traccar/notificators/NotificatorFirebase.java17
-rw-r--r--src/main/java/org/traccar/notificators/NotificatorMail.java4
-rw-r--r--src/main/java/org/traccar/notificators/NotificatorPushover.java38
-rw-r--r--src/main/java/org/traccar/notificators/NotificatorSms.java6
-rw-r--r--src/main/java/org/traccar/notificators/NotificatorTelegram.java20
10 files changed, 52 insertions, 100 deletions
diff --git a/src/main/java/org/traccar/api/resource/PasswordResource.java b/src/main/java/org/traccar/api/resource/PasswordResource.java
index 20e8d768d..16b0afc12 100644
--- a/src/main/java/org/traccar/api/resource/PasswordResource.java
+++ b/src/main/java/org/traccar/api/resource/PasswordResource.java
@@ -19,7 +19,7 @@ import org.apache.velocity.VelocityContext;
import org.traccar.Context;
import org.traccar.api.BaseResource;
import org.traccar.model.User;
-import org.traccar.notification.FullMessage;
+import org.traccar.notification.Message;
import org.traccar.notification.TextTemplateFormatter;
import javax.annotation.security.PermitAll;
@@ -53,7 +53,7 @@ public class PasswordResource extends BaseResource {
Context.getUsersManager().updateItem(user);
VelocityContext velocityContext = TextTemplateFormatter.prepareContext(null);
velocityContext.put("token", token);
- FullMessage message = TextTemplateFormatter.formatFullMessage(velocityContext, "passwordReset");
+ Message message = TextTemplateFormatter.formatMessage(velocityContext, "passwordReset", "full");
Context.getMailManager().sendMessage(userId, message.getSubject(), message.getBody());
break;
}
diff --git a/src/main/java/org/traccar/notification/FullMessage.java b/src/main/java/org/traccar/notification/Message.java
index f66537c6e..33f38007c 100644
--- a/src/main/java/org/traccar/notification/FullMessage.java
+++ b/src/main/java/org/traccar/notification/Message.java
@@ -16,12 +16,12 @@
*/
package org.traccar.notification;
-public class FullMessage {
+public class Message {
private String subject;
private String body;
- public FullMessage(String subject, String body) {
+ public Message(String subject, String body) {
this.subject = subject;
this.body = body;
}
diff --git a/src/main/java/org/traccar/notification/NotificationFormatter.java b/src/main/java/org/traccar/notification/NotificationFormatter.java
index f33961c8b..3170d1204 100644
--- a/src/main/java/org/traccar/notification/NotificationFormatter.java
+++ b/src/main/java/org/traccar/notification/NotificationFormatter.java
@@ -58,14 +58,8 @@ public final class NotificationFormatter {
return velocityContext;
}
- public static FullMessage formatFullMessage(long userId, Event event, Position position) {
+ public static Message formatMessage(long userId, Event event, Position position, String templatePath) {
VelocityContext velocityContext = prepareContext(userId, event, position);
- return TextTemplateFormatter.formatFullMessage(velocityContext, event.getType());
+ return TextTemplateFormatter.formatMessage(velocityContext, event.getType(), templatePath);
}
-
- public static ShortMessage formatShortMessage(long userId, Event event, Position position) {
- VelocityContext velocityContext = prepareContext(userId, event, position);
- return TextTemplateFormatter.formatShortMessage(velocityContext, event.getType());
- }
-
}
diff --git a/src/main/java/org/traccar/notification/ShortMessage.java b/src/main/java/org/traccar/notification/ShortMessage.java
deleted file mode 100644
index 28812a1f1..000000000
--- a/src/main/java/org/traccar/notification/ShortMessage.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2016 Anton Tananaev (anton@traccar.org)
- * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.traccar.notification;
-
-public class ShortMessage {
-
- private String title;
- private String body;
-
- public ShortMessage(String title, String body) {
- this.title = title;
- this.body = body;
- }
-
- public String getTitle() {
- return title;
- }
-
- public String getBody() {
- return body;
- }
-}
diff --git a/src/main/java/org/traccar/notification/TextTemplateFormatter.java b/src/main/java/org/traccar/notification/TextTemplateFormatter.java
index 8a4d35677..77a2fea05 100644
--- a/src/main/java/org/traccar/notification/TextTemplateFormatter.java
+++ b/src/main/java/org/traccar/notification/TextTemplateFormatter.java
@@ -71,17 +71,12 @@ public final class TextTemplateFormatter {
return template;
}
- public static FullMessage formatFullMessage(VelocityContext velocityContext, String name) {
- String formattedMessage = formatMessage(velocityContext, name, "full");
- return new FullMessage((String) velocityContext.get("subject"), formattedMessage);
+ public static Message formatMessage(VelocityContext velocityContext, String name, String templatePath) {
+ String formattedMessage = format(velocityContext, name, templatePath);
+ return new Message((String) velocityContext.get("subject"), formattedMessage);
}
- public static ShortMessage formatShortMessage(VelocityContext velocityContext, String name) {
- String formattedMessage = formatMessage(velocityContext, name, "short");
- return new ShortMessage((String) velocityContext.get("title"), formattedMessage);
- }
-
- private static String formatMessage(
+ private static String format(
VelocityContext velocityContext, String name, String templatePath) {
StringWriter writer = new StringWriter();
diff --git a/src/main/java/org/traccar/notificators/NotificatorFirebase.java b/src/main/java/org/traccar/notificators/NotificatorFirebase.java
index 9d1982f9c..0f189a330 100644
--- a/src/main/java/org/traccar/notificators/NotificatorFirebase.java
+++ b/src/main/java/org/traccar/notificators/NotificatorFirebase.java
@@ -24,9 +24,8 @@ import org.traccar.config.Keys;
import org.traccar.model.Event;
import org.traccar.model.Position;
import org.traccar.model.User;
-import org.traccar.notification.FullMessage;
+import org.traccar.notification.Message;
import org.traccar.notification.NotificationFormatter;
-import org.traccar.notification.ShortMessage;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.InvocationCallback;
@@ -47,7 +46,7 @@ public class NotificatorFirebase extends Notificator {
private String sound;
}
- public static class Message {
+ public static class Payload {
@JsonProperty("registration_ids")
private String[] tokens;
@JsonProperty("notification")
@@ -70,20 +69,20 @@ public class NotificatorFirebase extends Notificator {
final User user = Context.getPermissionsManager().getUser(userId);
if (user.getAttributes().containsKey("notificationTokens")) {
- ShortMessage shortMessage = NotificationFormatter.formatShortMessage(userId, event, position);
+ Message shortMessage = NotificationFormatter.formatMessage(userId, event, position, "short");
Notification notification = new Notification();
- notification.title= shortMessage.getTitle();
+ notification.title = shortMessage.getSubject();
notification.body = shortMessage.getBody();
notification.sound = "default";
- Message message = new Message();
- message.tokens = user.getString("notificationTokens").split("[, ]");
- message.notification = notification;
+ Payload payload = new Payload();
+ payload.tokens = user.getString("notificationTokens").split("[, ]");
+ payload.notification = notification;
Context.getClient().target(url).request()
.header("Authorization", "key=" + key)
- .async().post(Entity.json(message), new InvocationCallback<Object>() {
+ .async().post(Entity.json(payload), new InvocationCallback<Object>() {
@Override
public void completed(Object o) {
}
diff --git a/src/main/java/org/traccar/notificators/NotificatorMail.java b/src/main/java/org/traccar/notificators/NotificatorMail.java
index 6b9774c58..339445622 100644
--- a/src/main/java/org/traccar/notificators/NotificatorMail.java
+++ b/src/main/java/org/traccar/notificators/NotificatorMail.java
@@ -19,7 +19,7 @@ package org.traccar.notificators;
import org.traccar.Context;
import org.traccar.model.Event;
import org.traccar.model.Position;
-import org.traccar.notification.FullMessage;
+import org.traccar.notification.Message;
import org.traccar.notification.MessageException;
import org.traccar.notification.NotificationFormatter;
@@ -30,7 +30,7 @@ public final class NotificatorMail extends Notificator {
@Override
public void sendSync(long userId, Event event, Position position) throws MessageException {
try {
- FullMessage message = NotificationFormatter.formatFullMessage(userId, event, position);
+ Message message = NotificationFormatter.formatMessage(userId, event, position, "full");
Context.getMailManager().sendMessage(userId, message.getSubject(), message.getBody());
} catch (MessagingException e) {
throw new MessageException(e);
diff --git a/src/main/java/org/traccar/notificators/NotificatorPushover.java b/src/main/java/org/traccar/notificators/NotificatorPushover.java
index e541ea525..4a3099d7c 100644
--- a/src/main/java/org/traccar/notificators/NotificatorPushover.java
+++ b/src/main/java/org/traccar/notificators/NotificatorPushover.java
@@ -23,8 +23,8 @@ import org.traccar.config.Keys;
import org.traccar.model.Event;
import org.traccar.model.Position;
import org.traccar.model.User;
+import org.traccar.notification.Message;
import org.traccar.notification.NotificationFormatter;
-import org.traccar.notification.ShortMessage;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.InvocationCallback;
@@ -37,7 +37,7 @@ public class NotificatorPushover extends Notificator {
private final String token;
private final String user;
- public static class Message {
+ public static class Payload {
@JsonProperty("token")
private String token;
@JsonProperty("user")
@@ -77,26 +77,26 @@ public class NotificatorPushover extends Notificator {
return;
}
- ShortMessage shortMessage = NotificationFormatter.formatShortMessage(userId, event, position);
+ Message shortMessage = NotificationFormatter.formatMessage(userId, event, position, "short");
- Message message = new Message();
- message.token = token;
- message.user = this.user;
- message.device = device;
- message.title= shortMessage.getTitle();
- message.message = shortMessage.getBody();
+ Payload payload = new Payload();
+ payload.token = token;
+ payload.user = this.user;
+ payload.device = device;
+ payload.title = shortMessage.getSubject();
+ payload.message = shortMessage.getBody();
Context.getClient().target(url).request()
- .async().post(Entity.json(message), new InvocationCallback<Object>() {
- @Override
- public void completed(Object o) {
- }
-
- @Override
- public void failed(Throwable throwable) {
- LOGGER.warn("Pushover API error", throwable);
- }
- });
+ .async().post(Entity.json(payload), new InvocationCallback<Object>() {
+ @Override
+ public void completed(Object o) {
+ }
+
+ @Override
+ public void failed(Throwable throwable) {
+ LOGGER.warn("Pushover API error", throwable);
+ }
+ });
}
@Override
diff --git a/src/main/java/org/traccar/notificators/NotificatorSms.java b/src/main/java/org/traccar/notificators/NotificatorSms.java
index 360eb44ff..1a4739c1a 100644
--- a/src/main/java/org/traccar/notificators/NotificatorSms.java
+++ b/src/main/java/org/traccar/notificators/NotificatorSms.java
@@ -22,9 +22,9 @@ import org.traccar.database.StatisticsManager;
import org.traccar.model.Event;
import org.traccar.model.Position;
import org.traccar.model.User;
+import org.traccar.notification.Message;
import org.traccar.notification.MessageException;
import org.traccar.notification.NotificationFormatter;
-import org.traccar.notification.ShortMessage;
public final class NotificatorSms extends Notificator {
@@ -32,7 +32,7 @@ public final class NotificatorSms extends Notificator {
public void sendAsync(long userId, Event event, Position position) {
final User user = Context.getPermissionsManager().getUser(userId);
if (user.getPhone() != null) {
- ShortMessage shortMessage = NotificationFormatter.formatShortMessage(userId, event, position);
+ Message shortMessage = NotificationFormatter.formatMessage(userId, event, position, "short");
Main.getInjector().getInstance(StatisticsManager.class).registerSms();
Context.getSmsManager().sendMessageAsync(user.getPhone(),
shortMessage.getBody(), false);
@@ -43,7 +43,7 @@ public final class NotificatorSms extends Notificator {
public void sendSync(long userId, Event event, Position position) throws MessageException, InterruptedException {
final User user = Context.getPermissionsManager().getUser(userId);
if (user.getPhone() != null) {
- ShortMessage shortMessage = NotificationFormatter.formatShortMessage(userId, event, position);
+ Message shortMessage = NotificationFormatter.formatMessage(userId, 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 a8cdacfbf..c85e2be3d 100644
--- a/src/main/java/org/traccar/notificators/NotificatorTelegram.java
+++ b/src/main/java/org/traccar/notificators/NotificatorTelegram.java
@@ -24,8 +24,8 @@ import org.traccar.model.User;
import org.traccar.config.Keys;
import org.traccar.model.Event;
import org.traccar.model.Position;
+import org.traccar.notification.Message;
import org.traccar.notification.NotificationFormatter;
-import org.traccar.notification.ShortMessage;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.InvocationCallback;
@@ -75,15 +75,15 @@ public class NotificatorTelegram extends Notificator {
private void executeRequest(String url, Object message) {
Context.getClient().target(url).request()
.async().post(Entity.json(message), new InvocationCallback<Object>() {
- @Override
- public void completed(Object o) {
- }
+ @Override
+ public void completed(Object o) {
+ }
- @Override
- public void failed(Throwable throwable) {
- LOGGER.warn("Telegram API error", throwable);
- }
- });
+ @Override
+ public void failed(Throwable throwable) {
+ LOGGER.warn("Telegram API error", throwable);
+ }
+ });
}
private LocationMessage createLocationMessage(String messageChatId, Position position) {
@@ -99,7 +99,7 @@ public class NotificatorTelegram extends Notificator {
@Override
public void sendSync(long userId, Event event, Position position) {
User user = Context.getPermissionsManager().getUser(userId);
- ShortMessage shortMessage = NotificationFormatter.formatShortMessage(userId, event, position);
+ Message shortMessage = NotificationFormatter.formatMessage(userId, event, position, "short");
TextMessage message = new TextMessage();
message.chatId = user.getString("telegramChatId");