diff options
Diffstat (limited to 'src/org/traccar/notification')
-rw-r--r-- | src/org/traccar/notification/NotificationFormatter.java | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/src/org/traccar/notification/NotificationFormatter.java b/src/org/traccar/notification/NotificationFormatter.java index 1e3072d53..df7d73683 100644 --- a/src/org/traccar/notification/NotificationFormatter.java +++ b/src/org/traccar/notification/NotificationFormatter.java @@ -51,39 +51,36 @@ public final class NotificationFormatter { return velocityContext; } - public static MailMessage formatMailMessage(long userId, Event event, Position position) { - VelocityContext velocityContext = prepareContext(userId, event, position); - String mailTemplatesPath = Context.getConfig().getString("mail.templatesPath", "mail") + "/"; - Template template = null; + private static Template getTemplate(Event event, boolean mail) { + Template template; + String subPath = ""; + if (mail) { + subPath = Context.getConfig().getString("mail.templatesPath", "mail") + "/"; + } else { + subPath = Context.getConfig().getString("sms.templatesPath", "sms") + "/"; + } try { - template = Context.getVelocityEngine().getTemplate(mailTemplatesPath + event.getType() + ".vm", + template = Context.getVelocityEngine().getTemplate(subPath + event.getType() + ".vm", StandardCharsets.UTF_8.name()); } catch (ResourceNotFoundException error) { Log.warning(error); - template = Context.getVelocityEngine().getTemplate(mailTemplatesPath + "unknown.vm", + template = Context.getVelocityEngine().getTemplate(subPath + "unknown.vm", StandardCharsets.UTF_8.name()); } + return template; + } + public static MailMessage formatMailMessage(long userId, Event event, Position position) { + VelocityContext velocityContext = prepareContext(userId, event, position); StringWriter writer = new StringWriter(); - template.merge(velocityContext, writer); - String subject = (String) velocityContext.get("subject"); - return new MailMessage(subject, writer.toString()); + getTemplate(event, true).merge(velocityContext, writer); + return new MailMessage((String) velocityContext.get("subject"), writer.toString()); } public static String formatSmsMessage(long userId, Event event, Position position) { VelocityContext velocityContext = prepareContext(userId, event, position); - String smsTemplatesPath = Context.getConfig().getString("sms.templatesPath", "sms") + "/"; - Template template = null; - try { - template = Context.getVelocityEngine().getTemplate(smsTemplatesPath + event.getType() + ".vm", - StandardCharsets.UTF_8.name()); - } catch (ResourceNotFoundException error) { - Log.warning(error); - template = Context.getVelocityEngine().getTemplate(smsTemplatesPath + "unknown.vm", - StandardCharsets.UTF_8.name()); - } StringWriter writer = new StringWriter(); - template.merge(velocityContext, writer); + getTemplate(event, false).merge(velocityContext, writer); return writer.toString(); } } |