From 679f838e8bd0caaea94b1d4d1cd9b740ea3b9606 Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Mon, 6 Mar 2017 10:07:43 +0500 Subject: Introduce terms "data" and "text" commands --- src/org/traccar/BaseProtocol.java | 44 ++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 19 deletions(-) (limited to 'src/org/traccar/BaseProtocol.java') diff --git a/src/org/traccar/BaseProtocol.java b/src/org/traccar/BaseProtocol.java index bccc4e184..90b9f21f2 100644 --- a/src/org/traccar/BaseProtocol.java +++ b/src/org/traccar/BaseProtocol.java @@ -29,10 +29,10 @@ import java.util.Set; public abstract class BaseProtocol implements Protocol { private final String name; - private final Set supportedCommands = new HashSet<>(); - private final Set supportedSmsCommands = new HashSet<>(); + private final Set supportedDataCommands = new HashSet<>(); + private final Set supportedTextCommands = new HashSet<>(); - private StringProtocolEncoder smsEncoder = null; + private StringProtocolEncoder textCommandEncoder = null; public BaseProtocol(String name) { this.name = name; @@ -43,31 +43,36 @@ public abstract class BaseProtocol implements Protocol { return name; } - public void setSupportedCommands(String... commands) { - supportedCommands.addAll(Arrays.asList(commands)); + public void setSupportedDataCommands(String... commands) { + supportedDataCommands.addAll(Arrays.asList(commands)); + } + + public void setSupportedTextCommands(String... commands) { + supportedTextCommands.addAll(Arrays.asList(commands)); } - public void setSupportedSmsCommands(String... commands) { - supportedSmsCommands.addAll(Arrays.asList(commands)); + public void setSupportedCommands(String... commands) { + supportedDataCommands.addAll(Arrays.asList(commands)); + supportedTextCommands.addAll(Arrays.asList(commands)); } @Override - public Collection getSupportedCommands() { - Set commands = new HashSet<>(supportedCommands); + public Collection getSupportedDataCommands() { + Set commands = new HashSet<>(supportedDataCommands); commands.add(Command.TYPE_CUSTOM); return commands; } @Override - public Collection getSupportedSmsCommands() { - Set commands = new HashSet<>(supportedSmsCommands); + public Collection getSupportedTextCommands() { + Set commands = new HashSet<>(supportedTextCommands); commands.add(Command.TYPE_CUSTOM); return commands; } @Override - public void sendCommand(ActiveDevice activeDevice, Command command) { - if (supportedCommands.contains(command.getType())) { + public void sendDataCommand(ActiveDevice activeDevice, Command command) { + if (supportedDataCommands.contains(command.getType())) { activeDevice.write(command); } else if (command.getType().equals(Command.TYPE_CUSTOM)) { String data = command.getString(Command.KEY_DATA); @@ -81,17 +86,18 @@ public abstract class BaseProtocol implements Protocol { } } - public void setSmsEncoder(StringProtocolEncoder smsEncoder) { - this.smsEncoder = smsEncoder; + public void setTextCommandEncoder(StringProtocolEncoder textCommandEncoder) { + this.textCommandEncoder = textCommandEncoder; } @Override - public void sendSmsCommand(String phone, Command command) throws Exception { + public void sendTextCommand(String destAddress, Command command) throws Exception { if (Context.getSmppManager() != null) { if (command.getType().equals(Command.TYPE_CUSTOM)) { - Context.getSmppManager().sendMessageSync(phone, command.getString(Command.KEY_DATA), true); - } else if (supportedSmsCommands.contains(command.getType()) && smsEncoder != null) { - Context.getSmppManager().sendMessageSync(phone, (String) smsEncoder.encodeCommand(command), true); + Context.getSmppManager().sendMessageSync(destAddress, command.getString(Command.KEY_DATA), true); + } else if (supportedTextCommands.contains(command.getType()) && textCommandEncoder != null) { + Context.getSmppManager().sendMessageSync(destAddress, + (String) textCommandEncoder.encodeCommand(command), true); } else { throw new RuntimeException( "Command " + command.getType() + " is not supported in protocol " + getName()); -- cgit v1.2.3