INT-1568 removed '$' prefix for headers. Now there is NO prefix.
This commit is contained in:
@@ -11,6 +11,6 @@
|
||||
default-request-channel="requestChannel"
|
||||
service-interface="org.springframework.integration.gateway.GatewayWithHeaderAnnotations$TestService" />
|
||||
|
||||
<service-activator input-channel="requestChannel" expression="payload + headers.$priority"/>
|
||||
<service-activator input-channel="requestChannel" expression="payload + headers.priority + headers.$custom"/>
|
||||
|
||||
</beans:beans>
|
||||
|
||||
@@ -43,13 +43,14 @@ public class GatewayWithHeaderAnnotations {
|
||||
@Test // INT-1205
|
||||
public void priorityAsArgument() {
|
||||
TestService gateway = (TestService) applicationContext.getBean("gateway");
|
||||
String result = gateway.test("foo", 99);
|
||||
assertEquals("foo99", result);
|
||||
String result = gateway.test("foo", 99, "bar");
|
||||
assertEquals("foo99bar", result);
|
||||
}
|
||||
|
||||
|
||||
public static interface TestService {
|
||||
public String test(String str, @Header(MessageHeaders.PRIORITY) int priority);
|
||||
// wrt INT-1205, priority no longer has a $ prefix, so here we are testing the $custom header as well
|
||||
public String test(String str, @Header(MessageHeaders.PRIORITY) int priority, @Header("$custom") String custom);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -37,7 +37,9 @@ import org.springframework.expression.Expression;
|
||||
import org.springframework.expression.ExpressionParser;
|
||||
import org.springframework.expression.spel.SpelParserConfiguration;
|
||||
import org.springframework.expression.spel.standard.SpelExpressionParser;
|
||||
import org.springframework.integration.Message;
|
||||
import org.springframework.integration.message.GenericMessage;
|
||||
import org.springframework.integration.support.MessageBuilder;
|
||||
import org.springframework.integration.test.util.TestUtils;
|
||||
|
||||
/**
|
||||
@@ -112,18 +114,18 @@ public class ExpressionEvaluatingMessageProcessorTests {
|
||||
|
||||
@Test
|
||||
public void testProcessMessageWithDollarInBrackets() {
|
||||
Expression expression = expressionParser.parseExpression("headers['$id']");
|
||||
Expression expression = expressionParser.parseExpression("headers['$foo_id']");
|
||||
ExpressionEvaluatingMessageProcessor processor = new ExpressionEvaluatingMessageProcessor(expression);
|
||||
GenericMessage<String> message = new GenericMessage<String>("foo");
|
||||
assertEquals(message.getHeaders().getId(), processor.processMessage(message));
|
||||
Message<String> message = MessageBuilder.withPayload("foo").setHeader("$foo_id", "abc").build();
|
||||
assertEquals("abc", processor.processMessage(message));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProcessMessageWithDollarPropertyAccess() {
|
||||
Expression expression = expressionParser.parseExpression("headers.$id");
|
||||
Expression expression = expressionParser.parseExpression("headers.$foo_id");
|
||||
ExpressionEvaluatingMessageProcessor processor = new ExpressionEvaluatingMessageProcessor(expression);
|
||||
GenericMessage<String> message = new GenericMessage<String>("foo");
|
||||
assertEquals(message.getHeaders().getId(), processor.processMessage(message));
|
||||
Message<String> message = MessageBuilder.withPayload("foo").setHeader("$foo_id", "xyz").build();
|
||||
assertEquals("xyz", processor.processMessage(message));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -59,7 +59,7 @@ public class JsonInboundMessageMapperTests {
|
||||
@Test
|
||||
public void testToMessageWithHeadersAndStringPayload() throws Exception {
|
||||
UUID id = UUID.randomUUID();
|
||||
String jsonMessage = "{\"headers\":{\"$timestamp\":1,\"$id\":\"" + id + "\"},\"payload\":\"myPayloadStuff\"}";
|
||||
String jsonMessage = "{\"headers\":{\"timestamp\":1,\"id\":\"" + id + "\"},\"payload\":\"myPayloadStuff\"}";
|
||||
Message<String> expected = MessageBuilder.withPayload("myPayloadStuff").setHeader(MessageHeaders.TIMESTAMP, new Long(1)).setHeader(MessageHeaders.ID, id).build();
|
||||
JsonInboundMessageMapper mapper = new JsonInboundMessageMapper(String.class);
|
||||
Message<?> result = mapper.toMessage(jsonMessage);
|
||||
@@ -80,7 +80,7 @@ public class JsonInboundMessageMapperTests {
|
||||
public void testToMessageWithHeadersAndBeanPayload() throws Exception {
|
||||
TestBean bean = new TestBean();
|
||||
UUID id = UUID.randomUUID();
|
||||
String jsonMessage = "{\"headers\":{\"$timestamp\":1,\"$id\":\"" + id + "\"},\"payload\":" + getBeanAsJson(bean) + "}";
|
||||
String jsonMessage = "{\"headers\":{\"timestamp\":1,\"id\":\"" + id + "\"},\"payload\":" + getBeanAsJson(bean) + "}";
|
||||
Message<TestBean> expected = MessageBuilder.withPayload(bean).setHeader(MessageHeaders.TIMESTAMP, new Long(1)).setHeader(MessageHeaders.ID, id).build();
|
||||
JsonInboundMessageMapper mapper = new JsonInboundMessageMapper(TestBean.class);
|
||||
Message<?> result = mapper.toMessage(jsonMessage);
|
||||
@@ -101,7 +101,7 @@ public class JsonInboundMessageMapperTests {
|
||||
public void testToMessageWithBeanHeaderAndStringPayload() throws Exception {
|
||||
TestBean bean = new TestBean();
|
||||
UUID id = UUID.randomUUID();
|
||||
String jsonMessage = "{\"headers\":{\"$timestamp\":1,\"$id\":\"" + id + "\", \"myHeader\":" + getBeanAsJson(bean) + "},\"payload\":\"myPayloadStuff\"}";
|
||||
String jsonMessage = "{\"headers\":{\"timestamp\":1,\"id\":\"" + id + "\", \"myHeader\":" + getBeanAsJson(bean) + "},\"payload\":\"myPayloadStuff\"}";
|
||||
Message<String> expected = MessageBuilder.withPayload("myPayloadStuff").
|
||||
setHeader(MessageHeaders.TIMESTAMP, new Long(1)).setHeader(MessageHeaders.ID, id).setHeader("myHeader", bean).build();
|
||||
JsonInboundMessageMapper mapper = new JsonInboundMessageMapper(String.class);
|
||||
@@ -115,7 +115,7 @@ public class JsonInboundMessageMapperTests {
|
||||
@Test
|
||||
public void testToMessageWithHeadersAndListOfStringsPayload() throws Exception {
|
||||
UUID id = UUID.randomUUID();
|
||||
String jsonMessage = "{\"headers\":{\"$timestamp\":1,\"$id\":\"" + id + "\"},\"payload\":[\"myPayloadStuff1\",\"myPayloadStuff2\",\"myPayloadStuff3\"]}";
|
||||
String jsonMessage = "{\"headers\":{\"timestamp\":1,\"id\":\"" + id + "\"},\"payload\":[\"myPayloadStuff1\",\"myPayloadStuff2\",\"myPayloadStuff3\"]}";
|
||||
List<String> expectedList = Arrays.asList(new String[]{"myPayloadStuff1", "myPayloadStuff2", "myPayloadStuff3"});
|
||||
Message<List<String>> expected = MessageBuilder.withPayload(expectedList).setHeader(MessageHeaders.TIMESTAMP, new Long(1)).setHeader(MessageHeaders.ID, id).build();
|
||||
JsonInboundMessageMapper mapper = new JsonInboundMessageMapper(new TypeReference<List<String>>(){});
|
||||
@@ -128,7 +128,7 @@ public class JsonInboundMessageMapperTests {
|
||||
TestBean bean1 = new TestBean();
|
||||
TestBean bean2 = new TestBean();
|
||||
UUID id = UUID.randomUUID();
|
||||
String jsonMessage = "{\"headers\":{\"$timestamp\":1,\"$id\":\"" + id + "\"},\"payload\":[" + getBeanAsJson(bean1) + "," + getBeanAsJson(bean2) + "]}";
|
||||
String jsonMessage = "{\"headers\":{\"timestamp\":1,\"id\":\"" + id + "\"},\"payload\":[" + getBeanAsJson(bean1) + "," + getBeanAsJson(bean2) + "]}";
|
||||
List<TestBean> expectedList = Arrays.asList(new TestBean[]{bean1, bean2});
|
||||
Message<List<TestBean>> expected = MessageBuilder.withPayload(expectedList).setHeader(MessageHeaders.TIMESTAMP, new Long(1)).setHeader(MessageHeaders.ID, id).build();
|
||||
JsonInboundMessageMapper mapper = new JsonInboundMessageMapper(new TypeReference<List<TestBean>>(){});
|
||||
|
||||
@@ -50,8 +50,8 @@ public class JsonOutboundMessageMapperTests {
|
||||
JsonOutboundMessageMapper mapper = new JsonOutboundMessageMapper();
|
||||
String result = mapper.fromMessage(testMessage);
|
||||
assertTrue(result.contains("\"headers\":{"));
|
||||
assertTrue(result.contains("\"$timestamp\":"+testMessage.getHeaders().getTimestamp()));
|
||||
assertTrue(result.contains("\"$id\":\""+testMessage.getHeaders().getId()+"\""));
|
||||
assertTrue(result.contains("\"timestamp\":"+testMessage.getHeaders().getTimestamp()));
|
||||
assertTrue(result.contains("\"id\":\""+testMessage.getHeaders().getId()+"\""));
|
||||
assertTrue(result.contains("\"payload\":\"myPayloadStuff\""));
|
||||
}
|
||||
|
||||
@@ -64,10 +64,10 @@ public class JsonOutboundMessageMapperTests {
|
||||
JsonOutboundMessageMapper mapper = new JsonOutboundMessageMapper();
|
||||
String result = mapper.fromMessage(testMessage);
|
||||
assertTrue(result.contains("\"headers\":{"));
|
||||
assertTrue(result.contains("\"$timestamp\":"+testMessage.getHeaders().getTimestamp()));
|
||||
assertTrue(result.contains("\"$id\":\""+testMessage.getHeaders().getId()+"\""));
|
||||
assertTrue(result.contains("\"timestamp\":"+testMessage.getHeaders().getTimestamp()));
|
||||
assertTrue(result.contains("\"id\":\""+testMessage.getHeaders().getId()+"\""));
|
||||
assertTrue(result.contains("\"payload\":\"myPayloadStuff\""));
|
||||
assertTrue(result.contains("\"$history\":"));
|
||||
assertTrue(result.contains("\"history\":"));
|
||||
assertTrue(result.contains("testName-1"));
|
||||
assertTrue(result.contains("testType-1"));
|
||||
assertTrue(result.contains("testName-2"));
|
||||
@@ -93,8 +93,8 @@ public class JsonOutboundMessageMapperTests {
|
||||
JsonOutboundMessageMapper mapper = new JsonOutboundMessageMapper();
|
||||
String result = mapper.fromMessage(testMessage);
|
||||
assertTrue(result.contains("\"headers\":{"));
|
||||
assertTrue(result.contains("\"$timestamp\":"+testMessage.getHeaders().getTimestamp()));
|
||||
assertTrue(result.contains("\"$id\":\""+testMessage.getHeaders().getId()+"\""));
|
||||
assertTrue(result.contains("\"timestamp\":"+testMessage.getHeaders().getTimestamp()));
|
||||
assertTrue(result.contains("\"id\":\""+testMessage.getHeaders().getId()+"\""));
|
||||
TestBean parsedPayload = extractJsonPayloadToTestBean(result);
|
||||
assertEquals(payload, parsedPayload);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user