aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/protocol/GlobalSatProtocolDecoder.java
diff options
context:
space:
mode:
authorjon-stumpf <jon.stumpf@gmail.com>2014-10-10 19:23:21 -0400
committerjon-stumpf <jon.stumpf@gmail.com>2014-10-21 16:01:41 -0400
commit1948e0f63202dddca607dcb51fa9a92a83e49154 (patch)
tree3771c3d64b219704cbbb2cb8f69ac941dbb34da0 /src/org/traccar/protocol/GlobalSatProtocolDecoder.java
parent8876e964cf26a090d11fd855642c95bc02a17c7f (diff)
downloadtraccar-server-1948e0f63202dddca607dcb51fa9a92a83e49154.tar.gz
traccar-server-1948e0f63202dddca607dcb51fa9a92a83e49154.tar.bz2
traccar-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.java25
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