diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2015-04-29 13:41:15 +1200 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2015-04-29 13:41:15 +1200 |
commit | f7198adaf371e08a72a837d417b29531c117c6ba (patch) | |
tree | 853fb51b64cd00aaa6e53d4e510bbf69859e7765 /src/org/traccar/model/Position.java | |
parent | cb0a3831c2d89a22e9f3b68d3ee17f6e2abdd424 (diff) | |
download | trackermap-server-f7198adaf371e08a72a837d417b29531c117c6ba.tar.gz trackermap-server-f7198adaf371e08a72a837d417b29531c117c6ba.tar.bz2 trackermap-server-f7198adaf371e08a72a837d417b29531c117c6ba.zip |
Store other data in position
Diffstat (limited to 'src/org/traccar/model/Position.java')
-rw-r--r-- | src/org/traccar/model/Position.java | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/org/traccar/model/Position.java b/src/org/traccar/model/Position.java index 92d5bbe5e..bfee94c1b 100644 --- a/src/org/traccar/model/Position.java +++ b/src/org/traccar/model/Position.java @@ -18,6 +18,8 @@ package org.traccar.model; import java.sql.ResultSet; import java.text.ParseException; import java.util.Date; +import java.util.LinkedHashMap; +import java.util.Map; import javax.json.Json; import javax.json.JsonObject; import javax.json.JsonObjectBuilder; @@ -30,6 +32,10 @@ public class Position implements Convertable { public long getId() { return id; } public void setId(long id) { this.id = id; } + private String protocol; + public String getProtocol() { return protocol; } + public void setProtocol(String protocol) { this.protocol = protocol; } + private long deviceId; public long getDeviceId() { return deviceId; } public void setDeviceId(long deviceId) { this.deviceId = deviceId; } @@ -79,14 +85,21 @@ public class Position implements Convertable { public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } - private String extendedInfo; - public String getExtendedInfo() { return extendedInfo; } - public void setExtendedInfo(String extendedInfo) { this.extendedInfo = extendedInfo; } + private final Map<String, Object> other = new LinkedHashMap<String, Object>(); + public void set(String key, Object value) { + if (value != null && (!(value instanceof String) || !((String) value).isEmpty())) { + other.put(key, value); + } + } + public String getOther() { + return MiscFormatter.toXmlString(other); + } @Override public JsonObject toJson() { JsonObjectBuilder json = Json.createObjectBuilder(); json.add("id", id); + json.add("protocol", protocol); json.add("deviceId", deviceId); json.add("serverTime", ObjectConverter.dateFormat.format(serverTime)); json.add("deviceTime", ObjectConverter.dateFormat.format(deviceTime)); @@ -105,6 +118,7 @@ public class Position implements Convertable { @Override public void fromJson(JsonObject json) throws ParseException { id = json.getJsonNumber("id").longValue(); + protocol = json.getString("protocol"); deviceId = json.getJsonNumber("deviceId").longValue(); serverTime = ObjectConverter.dateFormat.parse(json.getString("serverTime")); deviceTime = ObjectConverter.dateFormat.parse(json.getString("deviceTime")); |