Added removeHeader() method to MessageBuilder.
This commit is contained in:
@@ -96,6 +96,16 @@ public final class MessageBuilder<T> {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the value for the given header name.
|
||||
*/
|
||||
public MessageBuilder<T> removeHeader(String headerName) {
|
||||
if (StringUtils.hasLength(headerName)) {
|
||||
this.headers.remove(headerName);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy the name-value pairs from the provided Map. This operation will
|
||||
* overwrite any existing values. Use {{@link #copyHeadersIfAbsent(Map)}
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package org.springframework.integration.message;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@@ -116,4 +117,24 @@ public class MessageBuilderTests {
|
||||
assertEquals(past, expiredMessage.getHeaders().getExpirationDate());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemove() {
|
||||
Message<Integer> message1 = MessageBuilder.fromPayload(1)
|
||||
.setHeader("foo", "bar").build();
|
||||
Message<Integer> message2 = MessageBuilder.fromMessage(message1)
|
||||
.removeHeader("foo")
|
||||
.build();
|
||||
assertFalse(message2.getHeaders().containsKey("foo"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSettingToNullRemoves() {
|
||||
Message<Integer> message1 = MessageBuilder.fromPayload(1)
|
||||
.setHeader("foo", "bar").build();
|
||||
Message<Integer> message2 = MessageBuilder.fromMessage(message1)
|
||||
.setHeader("foo", null)
|
||||
.build();
|
||||
assertFalse(message2.getHeaders().containsKey("foo"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user