List of usage examples for org.springframework.integration.support MessageBuilder setHeader
@Override
public MessageBuilder<T> setHeader(String headerName, @Nullable Object headerValue)
From source file:org.springframework.integration.x.bus.MessageBusSupport.java
protected final Message<?> deserializePayloadIfNecessary(Message<?> message) { Message<?> messageToSend = message; Object originalPayload = message.getPayload(); MimeType contentType = contentTypeResolver.resolve(message.getHeaders()); Object payload = deserializePayload(originalPayload, contentType); if (payload != null) { MessageBuilder<Object> transformed = MessageBuilder.withPayload(payload) .copyHeaders(message.getHeaders()); Object originalContentType = message.getHeaders().get(ORIGINAL_CONTENT_TYPE_HEADER); transformed.setHeader(MessageHeaders.CONTENT_TYPE, originalContentType); transformed.setHeader(ORIGINAL_CONTENT_TYPE_HEADER, null); messageToSend = transformed.build(); }//ww w .ja va 2 s. com return messageToSend; }
From source file:org.springframework.integration.x.channel.registry.ChannelRegistrySupport.java
protected final Message<?> transformOutboundIfNecessary(Message<?> message, MediaType to) { Message<?> messageToSend = message; Object originalPayload = message.getPayload(); Object payload = null;/*from w w w . ja va 2 s . c o m*/ Object originalContentType = message.getHeaders().get(MessageHeaders.CONTENT_TYPE); String originalContentTypeString = null; if (originalContentType instanceof MediaType) { originalContentTypeString = originalContentType.toString(); } else if (originalContentType instanceof String) { originalContentTypeString = (String) originalContentType; } String contentType = originalContentTypeString; if (to.equals(MediaType.ALL)) { return message; } else if (to.equals(MediaType.APPLICATION_OCTET_STREAM)) { if (originalPayload instanceof byte[]) { payload = originalPayload; contentType = XD_OCTET_STREAM_VALUE; } else if (originalPayload instanceof String) { try { payload = ((String) originalPayload).getBytes("UTF-8"); contentType = XD_TEXT_PLAIN_UTF8_VALUE; } catch (UnsupportedEncodingException e) { logger.error("Could not convert String to bytes", e); } } else { payload = this.jsonMapper.toBytes(originalPayload); contentType = XD_JSON_OCTET_STREAM_VALUE; } } else { throw new IllegalArgumentException("'to' can only be 'ALL' or 'APPLICATION_OCTET_STREAM'"); } if (payload != null) { MessageBuilder<Object> messageBuilder = MessageBuilder.withPayload(payload) .copyHeaders(message.getHeaders()).setHeader(MessageHeaders.CONTENT_TYPE, contentType); if (originalContentTypeString != null) { messageBuilder.setHeader(ORIGINAL_CONTENT_TYPE_HEADER, originalContentTypeString); } messageToSend = messageBuilder.build(); } return messageToSend; }
From source file:org.springframework.integration.x.channel.registry.ChannelRegistrySupport.java
protected final Message<?> transformInboundIfNecessary(Message<?> message, Collection<MediaType> acceptedMediaTypes) { Message<?> messageToSend = message; Object originalPayload = message.getPayload(); String contentType = message.getHeaders().get(MessageHeaders.CONTENT_TYPE, String.class); Object payload = transformPayloadForInputChannel(originalPayload, contentType, acceptedMediaTypes); if (payload != null) { MessageBuilder<Object> transformed = MessageBuilder.withPayload(payload) .copyHeaders(message.getHeaders()); Object originalContentType = message.getHeaders().get(ORIGINAL_CONTENT_TYPE_HEADER); if (originalContentType != null) { transformed.setHeader(MessageHeaders.CONTENT_TYPE, originalContentType); transformed.setHeader(ORIGINAL_CONTENT_TYPE_HEADER, null); } else if (contentType != null && contentType.contains("/x-xd-")) { transformed.setHeader(MessageHeaders.CONTENT_TYPE, null); }// w w w .j a v a 2 s .c om messageToSend = transformed.build(); } return messageToSend; }
From source file:org.springframework.integration.xmpp.presence.XmppPresenceMessageMapper.java
/** * Returns a {@link org.springframework.integration.Message} with payload {@link org.jivesoftware.smack.packet.Presence} * * @param presence the presence object that can be used to present the priority, status, mode, and type of a given roster entry. This will be decomposed into a series of headers, as well as a payload * @return the Message/*from ww w . ja va 2s . c o m*/ * @throws Exception thrown if conversion should fail */ public Message<?> toMessage(Presence presence) throws Exception { MessageBuilder<?> presenceMessageBuilder = MessageBuilder.withPayload(presence); presenceMessageBuilder.setHeader(XmppHeaders.PRESENCE_PRIORITY, presence.getPriority()); presenceMessageBuilder.setHeader(XmppHeaders.PRESENCE_STATUS, presence.getStatus()); presenceMessageBuilder.setHeader(XmppHeaders.PRESENCE_MODE, presence.getMode()); presenceMessageBuilder.setHeader(XmppHeaders.PRESENCE_TYPE, presence.getType()); presenceMessageBuilder.setHeader(XmppHeaders.PRESENCE_FROM, presence.getFrom()); return presenceMessageBuilder.build(); }
From source file:org.springframework.xd.dirt.integration.bus.MessageBusSupport.java
protected final Message<?> serializePayloadIfNecessary(Message<?> message, MimeType to) { Object originalPayload = message.getPayload(); Object originalContentType = message.getHeaders().get(MessageHeaders.CONTENT_TYPE); Object contentType = originalContentType; if (to.equals(ALL)) { return message; } else if (to.equals(APPLICATION_OCTET_STREAM)) { //Pass content type as String since some transport adapters will exclude CONTENT_TYPE Header otherwise contentType = JavaClassMimeTypeConversion.mimeTypeFromObject(originalPayload).toString(); Object payload = serializePayloadIfNecessary(originalPayload); MessageBuilder<Object> messageBuilder = MessageBuilder.withPayload(payload) .copyHeaders(message.getHeaders()).setHeader(MessageHeaders.CONTENT_TYPE, contentType); if (originalContentType != null) { messageBuilder.setHeader(XdHeaders.XD_ORIGINAL_CONTENT_TYPE, originalContentType); }//w w w. ja v a 2 s . c o m return messageBuilder.build(); } else { throw new IllegalArgumentException("'to' can only be 'ALL' or 'APPLICATION_OCTET_STREAM'"); } }
From source file:org.springframework.xd.dirt.integration.bus.MessageBusSupport.java
protected final Message<?> deserializePayloadIfNecessary(Message<?> message) { Message<?> messageToSend = message; Object originalPayload = message.getPayload(); MimeType contentType = contentTypeResolver.resolve(message.getHeaders()); Object payload = deserializePayload(originalPayload, contentType); if (payload != null) { MessageBuilder<Object> transformed = MessageBuilder.withPayload(payload) .copyHeaders(message.getHeaders()); Object originalContentType = message.getHeaders().get(XdHeaders.XD_ORIGINAL_CONTENT_TYPE); transformed.setHeader(MessageHeaders.CONTENT_TYPE, originalContentType); transformed.setHeader(XdHeaders.XD_ORIGINAL_CONTENT_TYPE, null); messageToSend = transformed.build(); }/* w ww.ja v a2 s . c om*/ return messageToSend; }