@Override public Optional<Adaptable> apply(final ExternalMessage message) { return Optional.ofNullable( message.getTextPayload() .orElseGet(() -> message.getBytePayload() .map(b -> StandardCharsets.UTF_8.decode(b).toString()) .orElse(null)) ).map(plainString -> DittoJsonException.wrapJsonRuntimeException(() -> { final JsonObject jsonObject = JsonFactory.readFrom(plainString).asObject(); return ProtocolFactory.jsonifiableAdaptableFromJson(jsonObject); })); } }
@Override public Optional<Adaptable> apply(final ExternalMessage message) { return Optional.ofNullable( message.getTextPayload() .orElseGet(() -> message.getBytePayload() .map(b -> StandardCharsets.UTF_8.decode(b).toString()) .orElse(null)) ).map(plainString -> DittoJsonException.wrapJsonRuntimeException(() -> { final JsonObject jsonObject = JsonFactory.readFrom(plainString).asObject(); return ProtocolFactory.jsonifiableAdaptableFromJson(jsonObject); })); } }
@Override public Optional<Adaptable> map(final ExternalMessage message) { final String payload = extractPayloadAsString(message); final JsonifiableAdaptable jsonifiableAdaptable = DittoJsonException.wrapJsonRuntimeException(() -> ProtocolFactory.jsonifiableAdaptableFromJson(JsonFactory.newObject(payload)) ); final DittoHeaders mergedHeaders = mergeHeaders(message, jsonifiableAdaptable); return Optional.of( ProtocolFactory.newAdaptableBuilder(jsonifiableAdaptable).withHeaders(mergedHeaders).build()); }
@Override public Optional<Adaptable> map(final ExternalMessage message) { final String payload = extractPayloadAsString(message); final JsonifiableAdaptable jsonifiableAdaptable = DittoJsonException.wrapJsonRuntimeException(() -> ProtocolFactory.jsonifiableAdaptableFromJson(JsonFactory.newObject(payload)) ); final DittoHeaders mergedHeaders = mergeHeaders(message, jsonifiableAdaptable); return Optional.of( ProtocolFactory.newAdaptableBuilder(jsonifiableAdaptable).withHeaders(mergedHeaders).build()); }
(s, unused) -> ProtocolFactory.jsonifiableAdaptableFromJson(JsonFactory.newObject(s)));
return ProtocolFactory.jsonifiableAdaptableFromJson(jsonObject); }); }));
return ProtocolFactory.jsonifiableAdaptableFromJson(jsonObject); }); }));
ProtocolFactory.jsonifiableAdaptableFromJson(publicCommandJsonObject);