INT-1919 added support for treating '*' as literal value via 'pattern-match' boolean attribute on header-filter with default value 'true'

This commit is contained in:
Oleg Zhurakousky
2011-06-01 07:16:17 -04:00
parent bd896ab986
commit 6c7755b688
5 changed files with 82 additions and 1 deletions

View File

@@ -14,5 +14,11 @@
<header-filter input-channel="inputC" header-names="ba*, *oo"/>
<header-filter input-channel="inputD" header-names="bar*, *oo"/>
<header-filter input-channel="inputE" pattern-match="false" header-names="bar*, foo"/>
</beans:beans>

View File

@@ -47,6 +47,12 @@ public class HeaderFilterParserTests {
@Autowired
private MessageChannel inputC;
@Autowired
private MessageChannel inputD;
@Autowired
private MessageChannel inputE;
@Test
public void verifyHeadersRemoved() {
@@ -113,5 +119,49 @@ public class HeaderFilterParserTests {
assertNull(result.getHeaders().get("goo"));
assertNotNull(result.getHeaders().get("e"));
}
@Test
public void verifyHeadersRemovedWhereHeaderNameContainsWildCard() {
QueueChannel replyChannel = new QueueChannel();
Message<?> message = MessageBuilder.withPayload("test")
.setReplyChannel(replyChannel)
.setHeader("bar*", 1)
.setHeader("bart", 2)
.setHeader("foo", 3)
.setHeader("goo", 4)
.setHeader("e", 5)
.build();
inputD.send(message);
Message<?> result = replyChannel.receive(0);
assertNotNull(result);
assertEquals("test", result.getPayload());
assertNull(result.getHeaders().get("bar*"));
assertNull(result.getHeaders().get("bart"));
assertNull(result.getHeaders().get("foo"));
assertNull(result.getHeaders().get("goo"));
assertNotNull(result.getHeaders().get("e"));
}
@Test
public void verifyHeadersRemovedWhereHeaderNameIsLiteral() {
QueueChannel replyChannel = new QueueChannel();
Message<?> message = MessageBuilder.withPayload("test")
.setReplyChannel(replyChannel)
.setHeader("bar*", 1)
.setHeader("bart", 2)
.setHeader("foo", 3)
.setHeader("goo", 4)
.setHeader("e", 5)
.build();
inputE.send(message);
Message<?> result = replyChannel.receive(0);
assertNotNull(result);
assertEquals("test", result.getPayload());
assertNull(result.getHeaders().get("bar*"));
assertNotNull(result.getHeaders().get("bart"));
assertNull(result.getHeaders().get("foo"));
assertNotNull(result.getHeaders().get("goo"));
assertNotNull(result.getHeaders().get("e"));
}
}