Added the 'header-enricher' element to the core namespace (INT-489).

This commit is contained in:
Mark Fisher
2008-11-22 15:43:39 +00:00
parent d943af0e87
commit abb370b257
7 changed files with 179 additions and 29 deletions

View File

@@ -7,17 +7,33 @@
http://www.springframework.org/schema/integration
http://www.springframework.org/schema/integration/spring-integration-1.0.xsd">
<channel id="input"/>
<channel id="filterInput"/>
<channel id="output">
<queue/>
</channel>
<chain input-channel="input" output-channel="output">
<channel id="replyOutput">
<queue/>
</channel>
<chain input-channel="filterInput" output-channel="output">
<filter ref="typeSelector"/>
<service-activator ref="testHandler"/>
</chain>
<chain input-channel="headerEnricherInput">
<header-enricher reply-channel="replyOutput" correlation-id="ABC">
<header name="testValue" value="XYZ"/>
<header name="testRef" ref="testHeaderValue"/>
</header-enricher>
<service-activator ref="testHandler"/>
</chain>
<beans:bean id="testHeaderValue" class="java.lang.Integer">
<beans:constructor-arg value="123"/>
</beans:bean>
<beans:bean id="typeSelector" class="org.springframework.integration.selector.PayloadTypeSelector">
<beans:constructor-arg value="java.lang.String"/>
</beans:bean>

View File

@@ -38,19 +38,27 @@ import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
public class ChainParserTests extends AbstractJUnit4SpringContextTests {
@Autowired
@Qualifier("input")
private MessageChannel inputChannel;
@Qualifier("filterInput")
private MessageChannel filterInput;
@Autowired
@Qualifier("headerEnricherInput")
private MessageChannel headerEnricherInput;
@Autowired
@Qualifier("output")
private PollableChannel outputChannel;
private PollableChannel output;
@Autowired
@Qualifier("replyOutput")
private PollableChannel replyOutput;
@Test
public void testChainWithAcceptingFilter() {
public void chainWithAcceptingFilter() {
Message<?> message = MessageBuilder.withPayload("test").build();
this.inputChannel.send(message);
Message<?> reply = this.outputChannel.receive(0);
this.filterInput.send(message);
Message<?> reply = this.output.receive(0);
assertNotNull(reply);
assertEquals("foo", reply.getPayload());
}
@@ -58,9 +66,21 @@ public class ChainParserTests extends AbstractJUnit4SpringContextTests {
@Test
public void chainWithRejectingFilter() {
Message<?> message = MessageBuilder.withPayload(123).build();
this.inputChannel.send(message);
Message<?> reply = this.outputChannel.receive(0);
this.filterInput.send(message);
Message<?> reply = this.output.receive(0);
assertNull(reply);
}
@Test
public void chainWithHeaderEnricher() {
Message<?> message = MessageBuilder.withPayload(123).build();
this.headerEnricherInput.send(message);
Message<?> reply = this.replyOutput.receive(0);
assertNotNull(reply);
assertEquals("foo", reply.getPayload());
assertEquals("ABC", reply.getHeaders().getCorrelationId());
assertEquals("XYZ", reply.getHeaders().get("testValue"));
assertEquals(123, reply.getHeaders().get("testRef"));
}
}