1 package org
.asamk
.signal
;
3 import org
.asamk
.signal
.json
.JsonError
;
4 import org
.asamk
.signal
.json
.JsonMessageEnvelope
;
5 import org
.asamk
.signal
.manager
.Manager
;
6 import org
.asamk
.signal
.manager
.api
.MessageEnvelope
;
7 import org
.slf4j
.Logger
;
8 import org
.slf4j
.LoggerFactory
;
10 import java
.util
.HashMap
;
12 public class JsonReceiveMessageHandler
implements Manager
.ReceiveMessageHandler
{
14 private final static Logger logger
= LoggerFactory
.getLogger(JsonReceiveMessageHandler
.class);
16 private final Manager m
;
17 private final JsonWriter jsonWriter
;
19 public JsonReceiveMessageHandler(Manager m
, JsonWriter jsonWriter
) {
21 this.jsonWriter
= jsonWriter
;
25 public void handleMessage(MessageEnvelope envelope
, Throwable exception
) {
26 final var object
= new HashMap
<String
, Object
>();
27 object
.put("account", m
.getSelfNumber());
28 if (exception
!= null) {
29 object
.put("error", JsonError
.from(exception
));
32 if (envelope
!= null) {
33 object
.put("envelope", JsonMessageEnvelope
.from(envelope
, exception
, m
));
36 jsonWriter
.write(object
);