aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/protocol/commands/StringCommandTemplate.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/traccar/protocol/commands/StringCommandTemplate.java')
-rw-r--r--src/org/traccar/protocol/commands/StringCommandTemplate.java56
1 files changed, 0 insertions, 56 deletions
diff --git a/src/org/traccar/protocol/commands/StringCommandTemplate.java b/src/org/traccar/protocol/commands/StringCommandTemplate.java
deleted file mode 100644
index 2ac0ce9a8..000000000
--- a/src/org/traccar/protocol/commands/StringCommandTemplate.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.traccar.protocol.commands;
-
-import org.traccar.database.ActiveDevice;
-import org.traccar.http.commands.GpsCommand;
-import org.traccar.protocol.commands.CommandValueConversion;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class StringCommandTemplate<T extends GpsCommand> implements CommandTemplate<T> {
-
- private String messageTemplate;
- private Map<Class<?>, CommandValueConversion> converters = new HashMap<Class<?>, CommandValueConversion>();
-
- public StringCommandTemplate(String template, Object... replacements) {
- this.messageTemplate = String.format(template, replacements);
- }
-
- @Override
- public Object applyTo(ActiveDevice activeDevice, T command) {
- String currentMessage = messageTemplate;
- currentMessage = this.replace(currentMessage, GpsCommand.UNIQUE_ID, activeDevice.getUniqueId());
-
- Map<String, Object> replacements = command.getReplacements();
-
- for (Map.Entry<String, Object> entry : replacements.entrySet()) {
- currentMessage = this.replace(currentMessage, entry.getKey(), entry.getValue());
- }
-
- return currentMessage;
- }
-
- public CommandTemplate addConverter(Class<?> type, CommandValueConversion converter) {
- converters.put(type, converter);
- return this;
- }
-
- protected CommandValueConversion getConverter(Class<?> type) {
- return converters.containsKey(type) ? converters.get(type) : idConverter();
- }
-
- private CommandValueConversion idConverter() {
- return new CommandValueConversion() {
- @Override
- public String convert(Object value) {
- return value.toString();
- }
- };
- }
-
- private String replace(String currentMessage, String key, Object value) {
- String replacementValue = getConverter(value.getClass()).convert(value);
- return currentMessage.replace("[" + key + "]", replacementValue);
- }
-
-}