diff options
Diffstat (limited to 'src/main/java/org/traccar/notification')
-rw-r--r-- | src/main/java/org/traccar/notification/FullMessage.java (renamed from src/main/java/org/traccar/notification/NotificationMessage.java) | 4 | ||||
-rw-r--r-- | src/main/java/org/traccar/notification/NotificationFormatter.java | 9 | ||||
-rw-r--r-- | src/main/java/org/traccar/notification/TextTemplateFormatter.java | 15 |
3 files changed, 22 insertions, 6 deletions
diff --git a/src/main/java/org/traccar/notification/NotificationMessage.java b/src/main/java/org/traccar/notification/FullMessage.java index 0fb8d7654..f66537c6e 100644 --- a/src/main/java/org/traccar/notification/NotificationMessage.java +++ b/src/main/java/org/traccar/notification/FullMessage.java @@ -16,12 +16,12 @@ */ package org.traccar.notification; -public class NotificationMessage { +public class FullMessage { private String subject; private String body; - public NotificationMessage(String subject, String body) { + public FullMessage(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 9a6723a71..dabc75b8b 100644 --- a/src/main/java/org/traccar/notification/NotificationFormatter.java +++ b/src/main/java/org/traccar/notification/NotificationFormatter.java @@ -58,9 +58,14 @@ public final class NotificationFormatter { return velocityContext; } - public static NotificationMessage formatMessage(long userId, Event event, Position position, String templatePath) { + public static FullMessage formatFullMessage(long userId, Event event, Position position) { VelocityContext velocityContext = prepareContext(userId, event, position); - return TextTemplateFormatter.formatMessage(velocityContext, event.getType(), templatePath); + return TextTemplateFormatter.formatFullMessage(velocityContext, event.getType()); + } + + public static String 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/TextTemplateFormatter.java b/src/main/java/org/traccar/notification/TextTemplateFormatter.java index b7058c824..c7cac2d4d 100644 --- a/src/main/java/org/traccar/notification/TextTemplateFormatter.java +++ b/src/main/java/org/traccar/notification/TextTemplateFormatter.java @@ -71,10 +71,21 @@ public final class TextTemplateFormatter { return template; } - public static NotificationMessage formatMessage(VelocityContext velocityContext, String name, String templatePath) { + public static FullMessage formatFullMessage(VelocityContext velocityContext, String name) { + String formattedMessage = formatMessage(velocityContext, name, "full"); + return new FullMessage((String) velocityContext.get("subject"), formattedMessage); + } + + public static String formatShortMessage(VelocityContext velocityContext, String name) { + return formatMessage(velocityContext, name, "short"); + } + + private static String formatMessage( + VelocityContext velocityContext, String name, String templatePath) { + StringWriter writer = new StringWriter(); getTemplate(name, templatePath).merge(velocityContext, writer); - return new NotificationMessage((String) velocityContext.get("subject"), writer.toString()); + return writer.toString(); } } |