List of usage examples for org.springframework.integration.support MessageBuilder build
@Override @SuppressWarnings("unchecked") public Message<T> build()
From source file:org.springframework.integration.mail.transformer.AbstractMailMessageTransformer.java
public Message<?> transform(Message<?> message) { Object payload = message.getPayload(); if (!(payload instanceof javax.mail.Message)) { throw new MessageTransformationException(message, this.getClass().getSimpleName() + " requires a javax.mail.Message payload"); }/*from ww w.j a v a 2 s.c o m*/ javax.mail.Message mailMessage = (javax.mail.Message) payload; MessageBuilder<T> builder = null; try { builder = this.doTransform(mailMessage); } catch (Exception e) { throw new MessageTransformationException(message, "failed to transform mail message", e); } if (builder == null) { throw new MessageTransformationException(message, "failed to transform mail message"); } builder.copyHeaders(this.extractHeaderMapFromMailMessage(mailMessage)); return builder.build(); }
From source file:org.springframework.integration.smpp.core.SmesMessageSpecification.java
/** * this method takes an inbound SMS message and converts it to a Spring Integration message * * @param dsm the {@link DeliverSm} from {@link AbstractReceivingMessageListener#onTextMessage(org.jsmpp.bean.DeliverSm, String)} * @param txtMessage the String from {@link AbstractReceivingMessageListener#onTextMessage(org.jsmpp.bean.DeliverSm, String)} * @return a Spring Integration message/*from w ww. j a va 2s.co m*/ */ public static Message<?> toMessageFromSms(DeliverSm dsm, String txtMessage) { Assert.isTrue(!dsm.isSmscDeliveryReceipt(), "the message should not be a delivery confirmation receipt!"); MessageBuilder<String> mb = MessageBuilder.withPayload(txtMessage); mb.setHeader(SmppConstants.SMS, dsm); mb.setHeader(SmppConstants.REPLACE_IF_PRESENT, dsm.getReplaceIfPresent()); mb.setHeader(SmppConstants.SHORT_MESSAGE, dsm.getShortMessage()); mb.setHeader(SmppConstants.OPTIONAL_PARAMETERS, dsm.getOptionalParameters()); mb.setHeader(SmppConstants.UDHI_AND_REPLY_PATH, dsm.isUdhiAndReplyPath()); mb.setHeader(SmppConstants.VALIDITY_PERIOD, dsm.getValidityPeriod()); mb.setHeader(SmppConstants.COMMAND_LENGTH, dsm.getCommandLength()); mb.setHeader(SmppConstants.COMMAND_ID, dsm.getCommandId()); mb.setHeader(SmppConstants.SME_ACK_NOT_REQUESTED, dsm.isSmeAckNotRequested()); mb.setHeader(SmppConstants.DATA_CODING, dsm.getDataCoding()); mb.setHeader(SmppConstants.REPLY_PATH, dsm.isReplyPath()); mb.setHeader(SmppConstants.SOURCE_ADDR_TON, dsm.getSourceAddrTon()); mb.setHeader(SmppConstants.SM_DEFAULT_MSG_ID, dsm.getSmDefaultMsgId()); mb.setHeader(SmppConstants.UDHI, dsm.isUdhi()); mb.setHeader(SmppConstants.SME_MANUAL_ACKNOWLEDGMENT, dsm.isSmeManualAcknowledgment()); mb.setHeader(SmppConstants.CONVERSATION_ABORT, dsm.isConversationAbort()); mb.setHeader(SmppConstants.DEST_ADDRESS, dsm.getDestAddress()); mb.setHeader(SmppConstants.ESM_CLASS, dsm.getEsmClass()); mb.setHeader(SmppConstants.COMMAND_ID_AS_HEX, dsm.getCommandIdAsHex()); mb.setHeader(SmppConstants.SME_DELIVERY_AND_MANUAL_ACK_REQUESTED, dsm.isSmeDeliveryAndManualAckRequested()); mb.setHeader(SmppConstants.SMSC_DELIVERY_RECEIPT, dsm.isSmscDeliveryReceipt()); mb.setHeader(SmppConstants.SME_MANUAL_ACK_REQUESTED, dsm.isSmeManualAckRequested()); mb.setHeader(SmppConstants.PRIORITY_FLAG, dsm.getPriorityFlag()); mb.setHeader(SmppConstants.DEST_ADDR_TON, dsm.getDestAddrTon()); mb.setHeader(SmppConstants.COMMAND_STATUS_AS_HEX, dsm.getCommandStatusAsHex()); mb.setHeader(SmppConstants.SERVICE_TYPE, dsm.getServiceType()); mb.setHeader(SmppConstants.INTERMEDIATE_DELIVERY_NOTIFICATION, dsm.isIntermedietDeliveryNotification()); mb.setHeader(SmppConstants.SOURCE_ADDR_NPI, dsm.getSourceAddrNpi()); mb.setHeader(SmppConstants.REGISTERED_DELIVERY, dsm.getRegisteredDelivery()); mb.setHeader(SmppConstants.DEST_ADDR_NPI, dsm.getDestAddrNpi()); mb.setHeader(SmppConstants.COMMAND_STATUS, dsm.getCommandStatus()); mb.setHeader(SmppConstants.DEFAULT_MESSAGE_TYPE, dsm.isDefaultMessageType()); mb.setHeader(SmppConstants.PROTOCOL_ID, dsm.getProtocolId()); mb.setHeader(SmppConstants.SOURCE_ADDR, dsm.getSourceAddr()); mb.setHeader(SmppConstants.SEQUENCE_NUMBER, dsm.getSequenceNumber()); mb.setHeader(SmppConstants.SCHEDULE_DELIVERY_TIME, dsm.getScheduleDeliveryTime()); mb.setHeader(SmppConstants.SME_DELIVERY_ACK_REQUESTED, dsm.isSmeDeliveryAckRequested()); return mb.build(); }
From source file:org.springframework.integration.x.bus.MessageBusSupport.java
protected final Message<?> serializePayloadIfNecessary(Message<?> message, MediaType 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)) { contentType = resolveContentType(originalPayload); Object payload = serializePayloadIfNecessary(originalPayload); MessageBuilder<Object> messageBuilder = MessageBuilder.withPayload(payload) .copyHeaders(message.getHeaders()).setHeader(MessageHeaders.CONTENT_TYPE, contentType); if (originalContentType != null) { messageBuilder.setHeader(ORIGINAL_CONTENT_TYPE_HEADER, originalContentType); }// w w w .j a 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.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(); }// w ww . j a v a 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;// w w w . j av a 2s. 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); }/*from w w w . j a v a 2 s . c o m*/ messageToSend = transformed.build(); } return messageToSend; }
From source file:org.springframework.integration.xmpp.messages.XmppMessageDrivenEndpoint.java
private void forwardXmppMessage(Chat chat, Message xmppMessage) { Object payload = (this.extractPayload ? xmppMessage.getBody() : xmppMessage); MessageBuilder<?> messageBuilder = MessageBuilder.withPayload(payload) .setHeader(XmppHeaders.TYPE, xmppMessage.getType()).setHeader(XmppHeaders.CHAT, chat); messagingTemplate.send(requestChannel, messageBuilder.build()); }
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 www .j a v a 2 s. c om * @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.j a v a 2 s . co 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(); }/*from w ww .j av a 2s . c om*/ return messageToSend; }