INT-891 The Mail header-enricher now supports SpEL expressions within the "expression" attribute.
This commit is contained in:
@@ -210,8 +210,8 @@
|
||||
<xsd:complexType name="headerType">
|
||||
<xsd:attribute name="value" type="xsd:string" />
|
||||
<xsd:attribute name="ref" type="xsd:string" />
|
||||
<!-- TODO add 'overwrite' and the expression below -->
|
||||
<!-- xsd:attribute name="expression" type="xsd:string" / -->
|
||||
<!-- TODO add 'overwrite' -->
|
||||
<xsd:attribute name="expression" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="transformerType">
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
http://www.springframework.org/schema/integration/mail
|
||||
http://www.springframework.org/schema/integration/mail/spring-integration-mail.xsd">
|
||||
|
||||
<header-enricher input-channel="input">
|
||||
<header-enricher input-channel="literalValuesInput">
|
||||
<to value="test.to"/>
|
||||
<cc value="test.cc"/>
|
||||
<bcc value="test.bcc"/>
|
||||
@@ -16,4 +16,13 @@
|
||||
<subject value="test.subject"/>
|
||||
</header-enricher>
|
||||
|
||||
<header-enricher input-channel="expressionsInput">
|
||||
<to expression="payload + '.to'"/>
|
||||
<cc expression="payload + '.cc'"/>
|
||||
<bcc expression="payload + '.bcc'"/>
|
||||
<from expression="payload + '.from'"/>
|
||||
<reply-to expression="payload + '.reply-to'"/>
|
||||
<subject expression="payload + '.subject'"/>
|
||||
</header-enricher>
|
||||
|
||||
</beans:beans>
|
||||
|
||||
@@ -40,12 +40,15 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
public class MailHeaderEnricherTests {
|
||||
|
||||
@Autowired @Qualifier("input")
|
||||
private MessageChannel channel;
|
||||
@Autowired @Qualifier("literalValuesInput")
|
||||
private MessageChannel literalValuesInput;
|
||||
|
||||
@Autowired @Qualifier("expressionsInput")
|
||||
private MessageChannel expressionsInput;
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
MessageChannelTemplate template = new MessageChannelTemplate(channel);
|
||||
public void literalValues() {
|
||||
MessageChannelTemplate template = new MessageChannelTemplate(literalValuesInput);
|
||||
Message<?> result = template.sendAndReceive(new StringMessage("test"));
|
||||
Map<String, Object> headers = result.getHeaders();
|
||||
assertEquals("test.to", headers.get(MailHeaders.TO));
|
||||
@@ -56,4 +59,17 @@ public class MailHeaderEnricherTests {
|
||||
assertEquals("test.subject", headers.get(MailHeaders.SUBJECT));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void expressions() {
|
||||
MessageChannelTemplate template = new MessageChannelTemplate(expressionsInput);
|
||||
Message<?> result = template.sendAndReceive(new StringMessage("foo"));
|
||||
Map<String, Object> headers = result.getHeaders();
|
||||
assertEquals("foo.to", headers.get(MailHeaders.TO));
|
||||
assertEquals("foo.cc", headers.get(MailHeaders.CC));
|
||||
assertEquals("foo.bcc", headers.get(MailHeaders.BCC));
|
||||
assertEquals("foo.from", headers.get(MailHeaders.FROM));
|
||||
assertEquals("foo.reply-to", headers.get(MailHeaders.REPLY_TO));
|
||||
assertEquals("foo.subject", headers.get(MailHeaders.SUBJECT));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user