diff options
author | Abyss777 <abyss@fox5.ru> | 2018-03-20 16:30:08 +0500 |
---|---|---|
committer | Abyss777 <abyss@fox5.ru> | 2018-03-20 16:30:08 +0500 |
commit | 02e3f0f196c9dc1227b1074ff39f52efd7ab418c (patch) | |
tree | 9eaca738af355bc2c92471820080c871c1bd0d2a /src/org/traccar/notification/EventForwarder.java | |
parent | 38c1ff9bccc1c417a0c2b412271aa7240a3b7db7 (diff) | |
download | trackermap-server-02e3f0f196c9dc1227b1074ff39f52efd7ab418c.tar.gz trackermap-server-02e3f0f196c9dc1227b1074ff39f52efd7ab418c.tar.bz2 trackermap-server-02e3f0f196c9dc1227b1074ff39f52efd7ab418c.zip |
Add user objects to Event forward payload
Diffstat (limited to 'src/org/traccar/notification/EventForwarder.java')
-rw-r--r-- | src/org/traccar/notification/EventForwarder.java | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/org/traccar/notification/EventForwarder.java b/src/org/traccar/notification/EventForwarder.java index 8be4c23b0..b13f8fe43 100644 --- a/src/org/traccar/notification/EventForwarder.java +++ b/src/org/traccar/notification/EventForwarder.java @@ -30,6 +30,8 @@ import org.traccar.model.Position; import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; +import java.util.Set; + import com.ning.http.client.FluentCaseInsensitiveStringsMap; public abstract class EventForwarder { @@ -46,8 +48,9 @@ public abstract class EventForwarder { private static final String KEY_EVENT = "event"; private static final String KEY_GEOFENCE = "geofence"; private static final String KEY_DEVICE = "device"; + private static final String KEY_USERS = "users"; - public final void forwardEvent(Event event, Position position) { + public final void forwardEvent(Event event, Position position, Set<Long> users) { BoundRequestBuilder requestBuilder = Context.getAsyncHttpClient().preparePost(url); requestBuilder.setBodyEncoding(StandardCharsets.UTF_8.name()); @@ -60,7 +63,7 @@ public abstract class EventForwarder { requestBuilder.setHeaders(params); } - setContent(event, position, requestBuilder); + setContent(event, position, users, requestBuilder); requestBuilder.execute(); } @@ -79,7 +82,7 @@ public abstract class EventForwarder { return paramsMap; } - protected String prepareJsonPayload(Event event, Position position) { + protected String prepareJsonPayload(Event event, Position position, Set<Long> users) { Map<String, Object> data = new HashMap<>(); data.put(KEY_EVENT, event); if (position != null) { @@ -95,6 +98,7 @@ public abstract class EventForwarder { data.put(KEY_GEOFENCE, geofence); } } + data.put(KEY_USERS, Context.getUsersManager().getItems(users)); try { return Context.getObjectMapper().writeValueAsString(data); } catch (JsonProcessingException e) { @@ -104,6 +108,7 @@ public abstract class EventForwarder { } protected abstract String getContentType(); - protected abstract void setContent(Event event, Position position, BoundRequestBuilder requestBuilder); + protected abstract void setContent( + Event event, Position position, Set<Long> users, BoundRequestBuilder requestBuilder); } |