- });
- dbusconnection.addSigHandler(Signal.ReceiptReceived.class,
- receiptReceived -> System.out.print(String.format("Receipt from: %s\nTimestamp: %s\n",
- receiptReceived.getSender(), DateUtils.formatTimestamp(receiptReceived.getTimestamp()))));
- dbusconnection.addSigHandler(Signal.SyncMessageReceived.class, syncReceived -> {
+ }
+ });
+
+ dbusconnection.addSigHandler(Signal.ReceiptReceived.class, receiptReceived -> {
+ if (jsonWriter != null) {
+ JsonMessageEnvelope envelope = new JsonMessageEnvelope(receiptReceived);
+ final Map<String, JsonMessageEnvelope> object = Map.of("envelope", envelope);
+ try {
+ jsonWriter.write(object);
+ } catch (IOException e) {
+ logger.error("Failed to write json object: {}", e.getMessage());
+ }
+ } else {
+ System.out.print(String.format("Receipt from: %s\nTimestamp: %s\n",
+ receiptReceived.getSender(),
+ DateUtils.formatTimestamp(receiptReceived.getTimestamp())));
+ }
+ });
+
+ dbusconnection.addSigHandler(Signal.SyncMessageReceived.class, syncReceived -> {
+ if (jsonWriter != null) {
+ JsonMessageEnvelope envelope = new JsonMessageEnvelope(syncReceived);
+ final Map<String, JsonMessageEnvelope> object = Map.of("envelope", envelope);
+ try {
+ jsonWriter.write(object);
+ } catch (IOException e) {
+ logger.error("Failed to write json object: {}", e.getMessage());
+ }
+ } else {