- dbusconnection.addSigHandler(Signal.MessageReceived.class, messageReceived -> {
- if (jsonProcessor != null) {
- JsonMessageEnvelope envelope = new JsonMessageEnvelope(messageReceived);
- ObjectNode result = jsonProcessor.createObjectNode();
- result.putPOJO("envelope", envelope);
- try {
- jsonProcessor.writeValue(System.out, result);
- System.out.println();
- } catch (IOException e) {
- e.printStackTrace();
- }
- } else {
- System.out.print(String.format("Envelope from: %s\nTimestamp: %s\nBody: %s\n",
- messageReceived.getSender(),
- DateUtils.formatTimestamp(messageReceived.getTimestamp()),
- messageReceived.getMessage()));
+ if (inJson) {
+ final var jsonWriter = new JsonWriter(System.out);
+
+ dbusconnection.addSigHandler(Signal.MessageReceived.class, signal, messageReceived -> {
+ var envelope = new JsonMessageEnvelope(messageReceived);
+ final var object = Map.of("envelope", envelope);
+ jsonWriter.write(object);
+ });
+
+ dbusconnection.addSigHandler(Signal.ReceiptReceived.class, signal, receiptReceived -> {
+ var envelope = new JsonMessageEnvelope(receiptReceived);
+ final var object = Map.of("envelope", envelope);
+ jsonWriter.write(object);
+ });
+
+ dbusconnection.addSigHandler(Signal.SyncMessageReceived.class, signal, syncReceived -> {
+ var envelope = new JsonMessageEnvelope(syncReceived);
+ final var object = Map.of("envelope", envelope);
+ jsonWriter.write(object);
+ });
+ } else {
+ final var writer = new PlainTextWriterImpl(System.out);
+
+ dbusconnection.addSigHandler(Signal.MessageReceived.class, signal, messageReceived -> {
+ writer.println("Envelope from: {}", messageReceived.getSender());
+ writer.println("Timestamp: {}", DateUtils.formatTimestamp(messageReceived.getTimestamp()));
+ writer.println("Body: {}", messageReceived.getMessage());