- });
- dbusconnection.addSigHandler(Signal.ReceiptReceived.class, new DBusSigHandler<Signal.ReceiptReceived>() {
- @Override
- public void handle(Signal.ReceiptReceived s) {
- System.out.print(String.format("Receipt from: %s\nTimestamp: %s\n",
- s.getSender(), DateUtils.formatTimestamp(s.getTimestamp())));
+ System.out.println();
+ }
+ });
+
+ 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 {
+ System.out.print(String.format("Sync Envelope from: %s to: %s\nTimestamp: %s\nBody: %s\n",
+ syncReceived.getSource(),
+ syncReceived.getDestination(),
+ DateUtils.formatTimestamp(syncReceived.getTimestamp()),
+ syncReceived.getMessage()));
+ if (syncReceived.getGroupId().length > 0) {
+ System.out.println("Group info:");
+ System.out.println(" Id: " + Base64.getEncoder().encodeToString(syncReceived.getGroupId()));