1 package org
.asamk
.signal
.json
;
3 import org
.asamk
.signal
.manager
.Manager
;
4 import org
.asamk
.signal
.manager
.api
.MessageEnvelope
;
5 import org
.asamk
.signal
.output
.JsonWriter
;
6 import org
.slf4j
.Logger
;
7 import org
.slf4j
.LoggerFactory
;
9 import java
.util
.HashMap
;
11 public class JsonReceiveMessageHandler
implements Manager
.ReceiveMessageHandler
{
13 private final static Logger logger
= LoggerFactory
.getLogger(JsonReceiveMessageHandler
.class);
15 private final Manager m
;
16 private final JsonWriter jsonWriter
;
18 public JsonReceiveMessageHandler(Manager m
, JsonWriter jsonWriter
) {
20 this.jsonWriter
= jsonWriter
;
24 public void handleMessage(MessageEnvelope envelope
, Throwable exception
) {
25 final var object
= new HashMap
<String
, Object
>();
26 object
.put("account", m
.getSelfNumber());
27 if (exception
!= null) {
28 object
.put("exception", JsonError
.from(exception
));
31 if (envelope
!= null) {
32 object
.put("envelope", JsonMessageEnvelope
.from(envelope
, exception
, m
));
35 jsonWriter
.write(object
);