@Override public Optional<ExternalMessage> map(final Adaptable adaptable) { final Optional<ExternalMessage> mappedOpt = delegate.map(adaptable); return mappedOpt.map(mapped -> { final ExternalMessageBuilder messageBuilder = ExternalMessageFactory.newExternalMessageBuilder(mapped); messageBuilder.asResponse(adaptable.getPayload().getStatus().isPresent()); adaptable.getHeaders() .map(h -> h.get(ExternalMessage.REPLY_TO_HEADER)) .ifPresent( replyTo -> messageBuilder.withAdditionalHeaders(ExternalMessage.REPLY_TO_HEADER, replyTo)); return messageBuilder.build(); }); }
@Override public Optional<ExternalMessage> map(final Adaptable adaptable) { final Optional<ExternalMessage> mappedOpt = delegate.map(adaptable); return mappedOpt.map(mapped -> { final ExternalMessageBuilder messageBuilder = ExternalMessageFactory.newExternalMessageBuilder(mapped); messageBuilder.asResponse(adaptable.getPayload().getStatus().isPresent()); adaptable.getHeaders() .map(h -> h.get(ExternalMessage.REPLY_TO_HEADER)) .ifPresent( replyTo -> messageBuilder.withAdditionalHeaders(ExternalMessage.REPLY_TO_HEADER, replyTo)); return messageBuilder.build(); }); }
@Override public Optional<ExternalMessage> apply(final Adaptable adaptable) { final JsonifiableAdaptable jsonifiableAdaptable = ProtocolFactory.wrapAsJsonifiableAdaptable(adaptable); final ExternalMessageBuilder messageBuilder = ExternalMessageFactory.newExternalMessageBuilder( adaptable.getHeaders().orElseGet(adaptable::getDittoHeaders)) .withTopicPath(adaptable.getTopicPath()); messageBuilder.withAdditionalHeaders(ExternalMessage.CONTENT_TYPE_HEADER, DittoConstants.DITTO_PROTOCOL_CONTENT_TYPE); messageBuilder.withText(jsonifiableAdaptable.toJsonString()); return Optional.of(messageBuilder.build()); }
@Override public Optional<ExternalMessage> apply(final Adaptable adaptable) { final JsonifiableAdaptable jsonifiableAdaptable = ProtocolFactory.wrapAsJsonifiableAdaptable(adaptable); final ExternalMessageBuilder messageBuilder = ExternalMessageFactory.newExternalMessageBuilder( adaptable.getHeaders().orElseGet(adaptable::getDittoHeaders)) .withTopicPath(adaptable.getTopicPath()); messageBuilder.withAdditionalHeaders(ExternalMessage.CONTENT_TYPE_HEADER, DittoConstants.DITTO_PROTOCOL_CONTENT_TYPE); messageBuilder.withText(jsonifiableAdaptable.toJsonString()); return Optional.of(messageBuilder.build()); }
final ExternalMessageBuilder messageBuilder = ExternalMessageFactory.newExternalMessageBuilder(originalMessage) .clearHeaders();
final ExternalMessageBuilder messageBuilder = ExternalMessageFactory.newExternalMessageBuilder(originalMessage) .clearHeaders();
@Override public Optional<ExternalMessage> map(final Adaptable adaptable) { final Map<String, String> headers = new LinkedHashMap<>(adaptable.getHeaders().orElse(DittoHeaders.empty())); final String jsonString = ProtocolFactory.wrapAsJsonifiableAdaptable(adaptable).toJsonString(); final boolean isError = TopicPath.Criterion.ERRORS.equals(adaptable.getTopicPath().getCriterion()); final boolean isResponse = adaptable.getPayload().getStatus().isPresent(); return Optional.of( ExternalMessageFactory.newExternalMessageBuilder(headers) .withTopicPath(adaptable.getTopicPath()) .withText(jsonString) .asResponse(isResponse) .asError(isError) .build()); }
@Override public Optional<Adaptable> map(final ExternalMessage message) { final ExternalMessage enhancedMessage; final String correlationId; if (!message.getHeaders().containsKey(DittoHeaderDefinition.CORRELATION_ID.getKey())) { // if no correlation-id was provided in the ExternalMessage, generate one here: correlationId = UUID.randomUUID().toString(); enhancedMessage = ExternalMessageFactory.newExternalMessageBuilder(message) .withAdditionalHeaders(DittoHeaderDefinition.CORRELATION_ID.getKey(), correlationId) .build(); } else { correlationId = message.getHeaders().get(DittoHeaderDefinition.CORRELATION_ID.getKey()); enhancedMessage = message; } final Optional<Adaptable> mappedOpt = delegate.map(enhancedMessage); return mappedOpt.map(mapped -> { final DittoHeadersBuilder headersBuilder = DittoHeaders.newBuilder(); headersBuilder.correlationId(correlationId); Optional.ofNullable(message.getHeaders().get(ExternalMessage.REPLY_TO_HEADER)).ifPresent(replyTo -> headersBuilder.putHeader(ExternalMessage.REPLY_TO_HEADER, replyTo) ); final Optional<DittoHeaders> headersOpt = mapped.getHeaders(); headersOpt.ifPresent(headersBuilder::putHeaders); // overwrite with mapped headers (if any) return ProtocolFactory.newAdaptableBuilder(mapped) .withHeaders(headersBuilder.build()) .build(); }); }
@Override public Optional<Adaptable> map(final ExternalMessage message) { final ExternalMessage enhancedMessage; final String correlationId; if (!message.getHeaders().containsKey(DittoHeaderDefinition.CORRELATION_ID.getKey())) { // if no correlation-id was provided in the ExternalMessage, generate one here: correlationId = UUID.randomUUID().toString(); enhancedMessage = ExternalMessageFactory.newExternalMessageBuilder(message) .withAdditionalHeaders(DittoHeaderDefinition.CORRELATION_ID.getKey(), correlationId) .build(); } else { correlationId = message.getHeaders().get(DittoHeaderDefinition.CORRELATION_ID.getKey()); enhancedMessage = message; } final Optional<Adaptable> mappedOpt = delegate.map(enhancedMessage); return mappedOpt.map(mapped -> { final DittoHeadersBuilder headersBuilder = DittoHeaders.newBuilder(); headersBuilder.correlationId(correlationId); Optional.ofNullable(message.getHeaders().get(ExternalMessage.REPLY_TO_HEADER)).ifPresent(replyTo -> headersBuilder.putHeader(ExternalMessage.REPLY_TO_HEADER, replyTo) ); final Optional<DittoHeaders> headersOpt = mapped.getHeaders(); headersOpt.ifPresent(headersBuilder::putHeaders); // overwrite with mapped headers (if any) return ProtocolFactory.newAdaptableBuilder(mapped) .withHeaders(headersBuilder.build()) .build(); }); }
@Override public Optional<ExternalMessage> map(final Adaptable adaptable) { final Map<String, String> headers = new LinkedHashMap<>(adaptable.getHeaders().orElse(DittoHeaders.empty())); final String jsonString = ProtocolFactory.wrapAsJsonifiableAdaptable(adaptable).toJsonString(); final boolean isError = TopicPath.Criterion.ERRORS.equals(adaptable.getTopicPath().getCriterion()); final boolean isResponse = adaptable.getPayload().getStatus().isPresent(); return Optional.of( ExternalMessageFactory.newExternalMessageBuilder(headers) .withTopicPath(adaptable.getTopicPath()) .withText(jsonString) .asResponse(isResponse) .asError(isError) .build()); }
ExternalMessageFactory.newExternalMessageBuilder(headers);
ExternalMessageFactory.newExternalMessageBuilder(headers);
try { headers = extractHeadersMapFromJmsMessage(message); final ExternalMessageBuilder builder = ExternalMessageFactory.newExternalMessageBuilder(headers); builder.withAuthorizationContext(authorizationContext); extractPayloadFromMessage(message, builder);
try { headers = extractHeadersMapFromJmsMessage(message); final ExternalMessageBuilder builder = ExternalMessageFactory.newExternalMessageBuilder(headers); builder.withAuthorizationContext(authorizationContext); extractPayloadFromMessage(message, builder);
headers = extractHeadersFromMessage(properties, envelope); final ExternalMessageBuilder externalMessageBuilder = ExternalMessageFactory.newExternalMessageBuilder(headers); final String contentType = properties.getContentType(); if (shouldBeInterpretedAsText(contentType)) {
headers = extractHeadersFromMessage(properties, envelope); final ExternalMessageBuilder externalMessageBuilder = ExternalMessageFactory.newExternalMessageBuilder(headers); final String contentType = properties.getContentType(); if (shouldBeInterpretedAsText(contentType)) {
final ExternalMessage externalMessage = ExternalMessageFactory.newExternalMessageBuilder(headers) .withBytes(message.payload().toByteBuffer()) .withAuthorizationContext(sourceAuthorizationContext)
final ExternalMessage externalMessage = ExternalMessageFactory.newExternalMessageBuilder(headers) .withBytes(message.payload().toByteBuffer()) .withAuthorizationContext(sourceAuthorizationContext)