diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2015-07-17 22:51:09 +1200 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2015-07-17 22:51:09 +1200 |
commit | 466e704934894ed44458bec798fa9fad0532bb4c (patch) | |
tree | eaf48175234c9d4d1b0456a542887a90c1377d00 /src/org/traccar/command | |
parent | 6bfaa4bdedcf6719de75afa905a309296aa1bd9d (diff) | |
parent | ff640cf8eb19cfeb3c8475ffd9b0aeccbd769f96 (diff) | |
download | trackermap-server-466e704934894ed44458bec798fa9fad0532bb4c.tar.gz trackermap-server-466e704934894ed44458bec798fa9fad0532bb4c.tar.bz2 trackermap-server-466e704934894ed44458bec798fa9fad0532bb4c.zip |
Merge commands implementation (fix #7)
Diffstat (limited to 'src/org/traccar/command')
-rw-r--r-- | src/org/traccar/command/CommandTemplate.java | 8 | ||||
-rw-r--r-- | src/org/traccar/command/CommandType.java | 25 | ||||
-rw-r--r-- | src/org/traccar/command/CommandValueConversion.java | 5 | ||||
-rw-r--r-- | src/org/traccar/command/Duration.java | 38 | ||||
-rw-r--r-- | src/org/traccar/command/FixPositioningCommand.java | 25 | ||||
-rw-r--r-- | src/org/traccar/command/GpsCommand.java | 27 | ||||
-rw-r--r-- | src/org/traccar/command/NoParameterCommand.java | 11 | ||||
-rw-r--r-- | src/org/traccar/command/StringCommandTemplate.java | 54 |
8 files changed, 0 insertions, 193 deletions
diff --git a/src/org/traccar/command/CommandTemplate.java b/src/org/traccar/command/CommandTemplate.java deleted file mode 100644 index cdc9be7ab..000000000 --- a/src/org/traccar/command/CommandTemplate.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.traccar.command; - -import org.traccar.database.ActiveDevice; -import org.traccar.command.GpsCommand; - -public interface CommandTemplate<T extends GpsCommand> { - Object applyTo(ActiveDevice activeDevice, T command); -} diff --git a/src/org/traccar/command/CommandType.java b/src/org/traccar/command/CommandType.java deleted file mode 100644 index 56596fa41..000000000 --- a/src/org/traccar/command/CommandType.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.traccar.command; - -import org.traccar.model.Factory; - -public enum CommandType implements Factory { - STOP_POSITIONING(NoParameterCommand.class), - FIX_POSITIONING(FixPositioningCommand.class), - STOP_ENGINE(NoParameterCommand.class), - RESUME_ENGINE(NoParameterCommand.class); - - private final Class<? extends GpsCommand> commandClass; - - CommandType(Class<? extends GpsCommand> commandClass) { - this.commandClass = commandClass; - } - - @Override - public Object create() { - try { - return commandClass.newInstance(); - } catch (InstantiationException | IllegalAccessException error) { - throw new RuntimeException(error); - } - } -} diff --git a/src/org/traccar/command/CommandValueConversion.java b/src/org/traccar/command/CommandValueConversion.java deleted file mode 100644 index 5c8b75313..000000000 --- a/src/org/traccar/command/CommandValueConversion.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.traccar.command; - -public interface CommandValueConversion<T> { - public String convert(T value); -} diff --git a/src/org/traccar/command/Duration.java b/src/org/traccar/command/Duration.java deleted file mode 100644 index a2ed2c991..000000000 --- a/src/org/traccar/command/Duration.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.traccar.command; - -public class Duration { - - public enum TimeUnit { - SECOND("s"), MINUTE("m"), HOUR("h"); - - private final String commandFormat; - - TimeUnit(String commandFormat) { - this.commandFormat = commandFormat; - } - - public String getCommandFormat() { - return commandFormat; - } - } - - - private TimeUnit unit; - private int value; - - public TimeUnit getUnit() { - return unit; - } - - public void setUnit(TimeUnit unit) { - this.unit = unit; - } - - public int getValue() { - return value; - } - - public void setValue(int value) { - this.value = value; - } -} diff --git a/src/org/traccar/command/FixPositioningCommand.java b/src/org/traccar/command/FixPositioningCommand.java deleted file mode 100644 index 18d5f32fb..000000000 --- a/src/org/traccar/command/FixPositioningCommand.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.traccar.command; - -import java.util.HashMap; -import java.util.Map; - -public class FixPositioningCommand extends GpsCommand { - public static final String FREQUENCY = "frequency"; - - private Duration data; - - @Override - public Map<String, Object> getReplacements() { - Map<String, Object> replacements = new HashMap<>(); - replacements.put(FREQUENCY, data); - return replacements; - } - - public Duration getData() { - return data; - } - - public void setData(Duration data) { - this.data = data; - } -} diff --git a/src/org/traccar/command/GpsCommand.java b/src/org/traccar/command/GpsCommand.java deleted file mode 100644 index 7097c4807..000000000 --- a/src/org/traccar/command/GpsCommand.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.traccar.command; - -import java.util.Map; - -public abstract class GpsCommand { - public static final String UNIQUE_ID = "uniqueId"; - private String uniqueId; - private CommandType type; - - public String getUniqueId() { - return uniqueId; - } - - public void setUniqueId(String uniqueId) { - this.uniqueId = uniqueId; - } - - public CommandType getType() { - return type; - } - - public void setType(CommandType type) { - this.type = type; - } - - public abstract Map<String, Object> getReplacements(); -} diff --git a/src/org/traccar/command/NoParameterCommand.java b/src/org/traccar/command/NoParameterCommand.java deleted file mode 100644 index f4e139b7b..000000000 --- a/src/org/traccar/command/NoParameterCommand.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.traccar.command; - -import java.util.HashMap; -import java.util.Map; - -public class NoParameterCommand extends GpsCommand { - @Override - public Map<String, Object> getReplacements() { - return new HashMap<>(); - } -} diff --git a/src/org/traccar/command/StringCommandTemplate.java b/src/org/traccar/command/StringCommandTemplate.java deleted file mode 100644 index 3f326e534..000000000 --- a/src/org/traccar/command/StringCommandTemplate.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.traccar.command; - -import org.traccar.database.ActiveDevice; - -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<>(); - - 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); - } - -} |