aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKhaksar Weqar <wkhaksar1@gmail.com>2021-11-03 09:42:35 +0100
committerKhaksar Weqar <wkhaksar1@gmail.com>2021-11-03 09:42:35 +0100
commit9fd24af30db35411de8d30b96be665f00d75c0ad (patch)
treed37d51cff9e0aefddb242194487ff6435bc61814
parent64d38de4a3c8063ca8aabdc5583843e6db3c9446 (diff)
downloadtraccar-server-9fd24af30db35411de8d30b96be665f00d75c0ad.tar.gz
traccar-server-9fd24af30db35411de8d30b96be665f00d75c0ad.tar.bz2
traccar-server-9fd24af30db35411de8d30b96be665f00d75c0ad.zip
redundant-code-removed
-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
-rw-r--r--templates/short/alarm.vm2
-rw-r--r--templates/short/commandResult.vm2
-rw-r--r--templates/short/deviceFuelDrop.vm2
-rw-r--r--templates/short/deviceInactive.vm2
-rw-r--r--templates/short/deviceMoving.vm2
-rw-r--r--templates/short/deviceOffline.vm2
-rw-r--r--templates/short/deviceOnline.vm2
-rw-r--r--templates/short/deviceOverspeed.vm2
-rw-r--r--templates/short/deviceStopped.vm2
-rw-r--r--templates/short/deviceUnknown.vm2
-rw-r--r--templates/short/driverChanged.vm2
-rw-r--r--templates/short/geofenceEnter.vm2
-rw-r--r--templates/short/geofenceExit.vm2
-rw-r--r--templates/short/ignitionOff.vm2
-rw-r--r--templates/short/ignitionOn.vm2
-rw-r--r--templates/short/maintenance.vm2
-rw-r--r--templates/short/test.vm2
-rw-r--r--templates/short/textMessage.vm2
-rw-r--r--templates/short/unknown.vm2
29 files changed, 71 insertions, 119 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");
diff --git a/templates/short/alarm.vm b/templates/short/alarm.vm
index faab92291..15970dab8 100644
--- a/templates/short/alarm.vm
+++ b/templates/short/alarm.vm
@@ -1,2 +1,2 @@
-#set($title = "Alarm")
+#set($subject = "$device.name: alarm!")
$device.name alarm: $position.getString("alarm") at $dateTool.format("YYYY-MM-dd HH:mm:ss", $event.eventTime, $locale, $timezone)
diff --git a/templates/short/commandResult.vm b/templates/short/commandResult.vm
index 7b3986573..6dc7a5dec 100644
--- a/templates/short/commandResult.vm
+++ b/templates/short/commandResult.vm
@@ -1,2 +1,2 @@
-#set($title = "Command Result")
+#set($subject = "$device.name: command result received")
$device.name command result received: $position.getString("result") at $dateTool.format("YYYY-MM-dd HH:mm:ss", $event.eventTime, $locale, $timezone)
diff --git a/templates/short/deviceFuelDrop.vm b/templates/short/deviceFuelDrop.vm
index 2a4d2c608..babe14351 100644
--- a/templates/short/deviceFuelDrop.vm
+++ b/templates/short/deviceFuelDrop.vm
@@ -1,2 +1,2 @@
-#set($title = "Fuel Drop")
+#set($subject = "$device.name: fuel drop")
$device.name fuel drop at $dateTool.format("YYYY-MM-dd HH:mm:ss", $event.eventTime, $locale, $timezone)
diff --git a/templates/short/deviceInactive.vm b/templates/short/deviceInactive.vm
index f701ba408..c293bf1b2 100644
--- a/templates/short/deviceInactive.vm
+++ b/templates/short/deviceInactive.vm
@@ -1,4 +1,4 @@
-#set($title = "Inactive")
+#set($subject = "$device.name: inactive")
#set($lastUpdate = $dateTool.getDate())
#set($ignore = $lastUpdate.setTime($event.getLong("lastUpdate")))
$device.name inactive from $dateTool.format("YYYY-MM-dd HH:mm:ss", $lastUpdate, $locale, $timezone)
diff --git a/templates/short/deviceMoving.vm b/templates/short/deviceMoving.vm
index 3307326d6..bf6aec340 100644
--- a/templates/short/deviceMoving.vm
+++ b/templates/short/deviceMoving.vm
@@ -1,2 +1,2 @@
-#set($title = "Moving")
+#set($subject = "$device.name: moving")
$device.name moving at $dateTool.format("YYYY-MM-dd HH:mm:ss", $event.eventTime, $locale, $timezone)
diff --git a/templates/short/deviceOffline.vm b/templates/short/deviceOffline.vm
index 1967970b3..e663812ab 100644
--- a/templates/short/deviceOffline.vm
+++ b/templates/short/deviceOffline.vm
@@ -1,2 +1,2 @@
-#set($title = "Offline")
+#set($subject = "$device.name: offline")
$device.name offline at $dateTool.format("YYYY-MM-dd HH:mm:ss", $event.eventTime, $locale, $timezone)
diff --git a/templates/short/deviceOnline.vm b/templates/short/deviceOnline.vm
index 65a59a8b3..bf3b40096 100644
--- a/templates/short/deviceOnline.vm
+++ b/templates/short/deviceOnline.vm
@@ -1,2 +1,2 @@
-#set($title = "Online")
+#set($subject = "$device.name: online")
$device.name online at $dateTool.format("YYYY-MM-dd HH:mm:ss", $event.eventTime, $locale, $timezone)
diff --git a/templates/short/deviceOverspeed.vm b/templates/short/deviceOverspeed.vm
index fa4d7b189..849c6ddb7 100644
--- a/templates/short/deviceOverspeed.vm
+++ b/templates/short/deviceOverspeed.vm
@@ -1,3 +1,4 @@
+#set($subject = "$device.name: exceeds the speed")
#if($speedUnit == 'kmh')
#set($speedValue = $position.speed * 1.852)
#set($speedString = $numberTool.format("0.0 km/h", $speedValue))
@@ -7,5 +8,4 @@
#else
#set($speedString = $numberTool.format("0.0 kn", $position.speed))
#end
-#set($title = "Overspeed")
$device.name exceeds the speed $speedString#{if}($geofence) in $geofence.name#{else}#{end} at $dateTool.format("YYYY-MM-dd HH:mm:ss", $event.eventTime, $locale, $timezone)
diff --git a/templates/short/deviceStopped.vm b/templates/short/deviceStopped.vm
index 42147782b..8fabf89f1 100644
--- a/templates/short/deviceStopped.vm
+++ b/templates/short/deviceStopped.vm
@@ -1,2 +1,2 @@
-#set($title = "Stopped")
+#set($subject = "$device.name: stopped")
$device.name stopped at $dateTool.format("YYYY-MM-dd HH:mm:ss", $event.eventTime, $locale, $timezone)
diff --git a/templates/short/deviceUnknown.vm b/templates/short/deviceUnknown.vm
index b0fd2c42d..b6a6e9c9f 100644
--- a/templates/short/deviceUnknown.vm
+++ b/templates/short/deviceUnknown.vm
@@ -1,2 +1,2 @@
-#set($title = "Status unknown")
+#set($subject = "$device.name: status is unknown")
$device.name status is unknown at $dateTool.format("YYYY-MM-dd HH:mm:ss", $event.eventTime, $locale, $timezone)
diff --git a/templates/short/driverChanged.vm b/templates/short/driverChanged.vm
index fc9a6689e..df96b00a1 100644
--- a/templates/short/driverChanged.vm
+++ b/templates/short/driverChanged.vm
@@ -1,7 +1,7 @@
+#set($subject = "$device.name: driver has changed")
#if($driver)
#set($driverName = $driver.name)
#else
#set($driverName = $event.getString("driverUniqueId"))
#end
-#set($title = "Driver changed")
Driver $driverName has changed in $device.name at $dateTool.format("YYYY-MM-dd HH:mm:ss", $event.eventTime, $locale, $timezone)
diff --git a/templates/short/geofenceEnter.vm b/templates/short/geofenceEnter.vm
index 79736b096..8c250665e 100644
--- a/templates/short/geofenceEnter.vm
+++ b/templates/short/geofenceEnter.vm
@@ -1,2 +1,2 @@
-#set($title = "Geofence entered")
+#set($subject = "$device.name: has entered geofence")
$device.name has entered geofence $geofence.name at $dateTool.format("YYYY-MM-dd HH:mm:ss", $event.eventTime, $locale, $timezone)
diff --git a/templates/short/geofenceExit.vm b/templates/short/geofenceExit.vm
index db5243600..7d3ae6f6e 100644
--- a/templates/short/geofenceExit.vm
+++ b/templates/short/geofenceExit.vm
@@ -1,2 +1,2 @@
-#set($title = "Geofence exited")
+#set($subject = "$device.name: has exited geofence")
$device.name has exited geofence $geofence.name at $dateTool.format("YYYY-MM-dd HH:mm:ss", $event.eventTime, $locale, $timezone)
diff --git a/templates/short/ignitionOff.vm b/templates/short/ignitionOff.vm
index 953e8d0a5..db5a3f3e1 100644
--- a/templates/short/ignitionOff.vm
+++ b/templates/short/ignitionOff.vm
@@ -1,2 +1,2 @@
-#set($title = "Ignition OFF")
+#set($subject = "$device.name: ignition OFF")
$device.name ignition OFF at $dateTool.format("YYYY-MM-dd HH:mm:ss", $event.eventTime, $locale, $timezone)
diff --git a/templates/short/ignitionOn.vm b/templates/short/ignitionOn.vm
index 610b8e272..412ad4d84 100644
--- a/templates/short/ignitionOn.vm
+++ b/templates/short/ignitionOn.vm
@@ -1,2 +1,2 @@
-#set($title = "Ignition ON")
+#set($subject = "$device.name: ignition ON")
$device.name ignition ON at $dateTool.format("YYYY-MM-dd HH:mm:ss", $event.eventTime, $locale, $timezone)
diff --git a/templates/short/maintenance.vm b/templates/short/maintenance.vm
index 917345599..a58e274b8 100644
--- a/templates/short/maintenance.vm
+++ b/templates/short/maintenance.vm
@@ -1,2 +1,2 @@
-#set($title = "Maintenance")
+#set($subject = "$device.name: maintenance is required")
$device.name maintenance $maintenance.name is required at $dateTool.format("YYYY-MM-dd HH:mm:ss", $event.eventTime, $locale, $timezone)
diff --git a/templates/short/test.vm b/templates/short/test.vm
index bd317d97b..c9d93ce67 100644
--- a/templates/short/test.vm
+++ b/templates/short/test.vm
@@ -1,2 +1,2 @@
-#set($title = "Test")
+#set($subject = "Test message")
Test message
diff --git a/templates/short/textMessage.vm b/templates/short/textMessage.vm
index 456dcacd3..54c134df4 100644
--- a/templates/short/textMessage.vm
+++ b/templates/short/textMessage.vm
@@ -1,2 +1,2 @@
-#set($title = "Text message")
+#set($subject = "$device.name: text message received")
Text message received from $device.name at $dateTool.format("YYYY-MM-dd HH:mm:ss", $event.eventTime, $locale, $timezone)
diff --git a/templates/short/unknown.vm b/templates/short/unknown.vm
index a7259f6e9..2f9d5e3af 100644
--- a/templates/short/unknown.vm
+++ b/templates/short/unknown.vm
@@ -1,2 +1,2 @@
-#set($title = "Unknown")
+#set($subject = "Unknown type")
Unknown type