From 34979a692739994fff25bf7fd9f8e5624b94a72b Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Fri, 26 Sep 2008 21:08:57 +0000 Subject: [PATCH] MailSendingMessageConsumer now fails with an IllegalStateException if no value is available for MailHeaders.TO. The array-based header values (e.g. to, cc, bcc) are now converted from comma-delimited Strings if necessary. --- .../integration/mail/MailSendingMessageConsumer.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/org.springframework.integration.mail/src/main/java/org/springframework/integration/mail/MailSendingMessageConsumer.java b/org.springframework.integration.mail/src/main/java/org/springframework/integration/mail/MailSendingMessageConsumer.java index fc4b990a2a..37a173ae57 100644 --- a/org.springframework.integration.mail/src/main/java/org/springframework/integration/mail/MailSendingMessageConsumer.java +++ b/org.springframework.integration.mail/src/main/java/org/springframework/integration/mail/MailSendingMessageConsumer.java @@ -30,6 +30,7 @@ import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMailMessage; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.util.Assert; +import org.springframework.util.StringUtils; /** * A {@link MessageConsumer} implementation for sending mail. @@ -120,9 +121,8 @@ public class MailSendingMessageConsumer implements MessageConsumer { mailMessage.setSubject(subject); } String[] to = this.retrieveHeaderValueAsStringArray(headers, MailHeaders.TO); - if (to != null) { - mailMessage.setTo(to); - } + Assert.state(to != null, "no value available for the 'MailHeaders.TO' header"); + mailMessage.setTo(to); String[] cc = this.retrieveHeaderValueAsStringArray(headers, MailHeaders.CC); if (cc != null) { mailMessage.setCc(cc); @@ -148,7 +148,7 @@ public class MailSendingMessageConsumer implements MessageConsumer { return (String[]) value; } if (value instanceof String) { - return new String[] { (String) value }; + return StringUtils.commaDelimitedListToStringArray((String) value); } } return null;