private Message splitAttachment(Message inMessage, String attachmentName, Attachment attachmentHandler) { final Message copy = inMessage.copy(); Map<String, Attachment> attachments = copy.getAttachmentObjects(); attachments.clear(); attachments.put(attachmentName, attachmentHandler); copy.setHeader(HEADER_NAME, attachmentName); return copy; }
@Override public Object evaluate(Exchange exchange) { // must use getAttachments to ensure attachments is initial populated if (exchange.getIn().getAttachments().isEmpty()) { return null; } try { List<Message> answer = new ArrayList<>(); Message inMessage = exchange.getIn(); for (Map.Entry<String, Attachment> entry : inMessage.getAttachmentObjects().entrySet()) { Message attachmentMessage; if (extractAttachments) { attachmentMessage = extractAttachment(inMessage, entry.getKey()); } else { attachmentMessage = splitAttachment(inMessage, entry.getKey(), entry.getValue()); } if (attachmentMessage != null) { answer.add(attachmentMessage); } } return answer; } catch (Exception e) { throw new RuntimeCamelException("Unable to split attachments from MimeMultipart message", e); } }
for (Map.Entry<String, org.apache.camel.Attachment> entry : camelExchange.getIn().getAttachmentObjects().entrySet()) { if (attachments == null) { attachments = new HashSet<>();
LOG.trace("Adding attachments +++ start +++"); int i = 0; for (Map.Entry<String, Attachment> entry : exchange.getIn().getAttachmentObjects().entrySet()) { String attachmentFilename = entry.getKey(); Attachment attachment = entry.getValue();
writeBodyPart(bodyContent, part, contentType); mp.addBodyPart(part); for (Map.Entry<String, Attachment> entry : exchange.getIn().getAttachmentObjects().entrySet()) { String attachmentFilename = entry.getKey(); Attachment attachment = entry.getValue();
getAttachmentObjects().putAll(that.getAttachmentObjects());
for (Map.Entry<String, org.apache.camel.Attachment> entry : camelExchange.getOut().getAttachmentObjects().entrySet()) { if (attachments == null) { attachments = new HashSet<>();