diff options
author | jon-stumpf <jon.stumpf@gmail.com> | 2014-10-10 19:23:21 -0400 |
---|---|---|
committer | jon-stumpf <jon.stumpf@gmail.com> | 2014-10-21 16:01:41 -0400 |
commit | 1948e0f63202dddca607dcb51fa9a92a83e49154 (patch) | |
tree | 3771c3d64b219704cbbb2cb8f69ac941dbb34da0 /src/org/traccar/protocol/GlobalSatProtocolDecoder.java | |
parent | 8876e964cf26a090d11fd855642c95bc02a17c7f (diff) | |
download | trackermap-server-1948e0f63202dddca607dcb51fa9a92a83e49154.tar.gz trackermap-server-1948e0f63202dddca607dcb51fa9a92a83e49154.tar.bz2 trackermap-server-1948e0f63202dddca607dcb51fa9a92a83e49154.zip |
Eliminated the need for hardcoded protocol strings in the src/org/traccar/protocol/*ProtocolDecoder.java files.
Diffstat (limited to 'src/org/traccar/protocol/GlobalSatProtocolDecoder.java')
-rw-r--r-- | src/org/traccar/protocol/GlobalSatProtocolDecoder.java | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/org/traccar/protocol/GlobalSatProtocolDecoder.java b/src/org/traccar/protocol/GlobalSatProtocolDecoder.java index 5b4dc5e9b..bd56fde1f 100644 --- a/src/org/traccar/protocol/GlobalSatProtocolDecoder.java +++ b/src/org/traccar/protocol/GlobalSatProtocolDecoder.java @@ -36,6 +36,10 @@ public class GlobalSatProtocolDecoder extends BaseProtocolDecoder { public GlobalSatProtocolDecoder(ServerManager serverManager) { super(serverManager); + // This is now only called by test classes. + // This will be deleted in the next commit. + assert (serverManager == null); + // Initialize format strings format0 = "TSPRXAB27GHKLMnaicz*U!"; format1 = "SARY*U!"; @@ -49,6 +53,23 @@ public class GlobalSatProtocolDecoder extends BaseProtocolDecoder { } } } + + public GlobalSatProtocolDecoder(ServerManager serverManager, String protocol) { + super(serverManager, protocol); + + // Initialize format strings + format0 = "TSPRXAB27GHKLMnaicz*U!"; + format1 = "SARY*U!"; + if (getServerManager() != null) { + Properties p = getServerManager().getProperties(); + if (p.containsKey(protocol + ".format0")) { + format0 = p.getProperty(protocol + ".format0"); + } + if (p.containsKey(protocol + ".format1")) { + format1 = p.getProperty(protocol + ".format1"); + } + } + } private Position decodeOriginal(Channel channel, String sentence) { @@ -83,7 +104,7 @@ public class GlobalSatProtocolDecoder extends BaseProtocolDecoder { // Parse data Position position = new Position(); - ExtendedInfoFormatter extendedInfo = new ExtendedInfoFormatter("globalsat"); + ExtendedInfoFormatter extendedInfo = new ExtendedInfoFormatter(getProtocol()); for (int formatIndex = 0, valueIndex = 1; formatIndex < format.length() && valueIndex < values.length; formatIndex++) { String value = values[valueIndex]; @@ -204,7 +225,7 @@ public class GlobalSatProtocolDecoder extends BaseProtocolDecoder { // Create new position Position position = new Position(); - ExtendedInfoFormatter extendedInfo = new ExtendedInfoFormatter("globalsat"); + ExtendedInfoFormatter extendedInfo = new ExtendedInfoFormatter(getProtocol()); Integer index = 1; // Identification |