INT-681, INT-710 more refactoring of code for mapping between Messages and argument arrays
This commit is contained in:
@@ -28,6 +28,7 @@ import org.junit.Test;
|
||||
import org.springframework.integration.annotation.Header;
|
||||
import org.springframework.integration.annotation.Headers;
|
||||
import org.springframework.integration.core.Message;
|
||||
import org.springframework.integration.handler.MethodArgumentMessageMapper;
|
||||
|
||||
/**
|
||||
* @author Mark Fisher
|
||||
@@ -38,7 +39,7 @@ public class MethodParameterMessageMapperFromMessageTests {
|
||||
@Test
|
||||
public void fromMessageWithOptionalHeader() throws Exception {
|
||||
Method method = TestService.class.getMethod("optionalHeader", Integer.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Object[] args = mapper.fromMessage(new StringMessage("foo"));
|
||||
assertEquals(1, args.length);
|
||||
assertNull(args[0]);
|
||||
@@ -47,14 +48,14 @@ public class MethodParameterMessageMapperFromMessageTests {
|
||||
@Test(expected = MessageHandlingException.class)
|
||||
public void fromMessageWithRequiredHeaderNotProvided() throws Exception {
|
||||
Method method = TestService.class.getMethod("requiredHeader", Integer.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
mapper.fromMessage(new StringMessage("foo"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fromMessageWithRequiredHeaderProvided() throws Exception {
|
||||
Method method = TestService.class.getMethod("requiredHeader", Integer.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Message<String> message = MessageBuilder.withPayload("foo")
|
||||
.setHeader("num", new Integer(123)).build();
|
||||
Object[] args = mapper.fromMessage(message);
|
||||
@@ -65,7 +66,7 @@ public class MethodParameterMessageMapperFromMessageTests {
|
||||
@Test(expected = MessageHandlingException.class)
|
||||
public void fromMessageWithOptionalAndRequiredHeaderAndOnlyOptionalHeaderProvided() throws Exception {
|
||||
Method method = TestService.class.getMethod("optionalAndRequiredHeader", String.class, Integer.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Message<String> message = MessageBuilder.withPayload("foo")
|
||||
.setHeader("prop", "bar").build();
|
||||
mapper.fromMessage(message);
|
||||
@@ -74,7 +75,7 @@ public class MethodParameterMessageMapperFromMessageTests {
|
||||
@Test
|
||||
public void fromMessageWithOptionalAndRequiredHeaderAndOnlyRequiredHeaderProvided() throws Exception {
|
||||
Method method = TestService.class.getMethod("optionalAndRequiredHeader", String.class, Integer.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Message<String> message = MessageBuilder.withPayload("foo")
|
||||
.setHeader("num", new Integer(123)).build();
|
||||
Object[] args = mapper.fromMessage(message);
|
||||
@@ -86,7 +87,7 @@ public class MethodParameterMessageMapperFromMessageTests {
|
||||
@Test
|
||||
public void fromMessageWithOptionalAndRequiredHeaderAndBothHeadersProvided() throws Exception {
|
||||
Method method = TestService.class.getMethod("optionalAndRequiredHeader", String.class, Integer.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Message<String> message = MessageBuilder.withPayload("foo")
|
||||
.setHeader("num", new Integer(123))
|
||||
.setHeader("prop", "bar")
|
||||
@@ -100,7 +101,7 @@ public class MethodParameterMessageMapperFromMessageTests {
|
||||
@Test
|
||||
public void fromMessageWithPropertiesMethodAndHeadersAnnotation() throws Exception {
|
||||
Method method = TestService.class.getMethod("propertiesHeaders", Properties.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Message<String> message = MessageBuilder.withPayload("test")
|
||||
.setHeader("prop1", "foo").setHeader("prop2", "bar").build();
|
||||
Object[] args = mapper.fromMessage(message);
|
||||
@@ -113,7 +114,7 @@ public class MethodParameterMessageMapperFromMessageTests {
|
||||
@Test
|
||||
public void fromMessageWithPropertiesAndObjectMethod() throws Exception {
|
||||
Method method = TestService.class.getMethod("propertiesHeadersAndPayload", Properties.class, Object.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Message<String> message = MessageBuilder.withPayload("test")
|
||||
.setHeader("prop1", "foo").setHeader("prop2", "bar").build();
|
||||
Object[] args = mapper.fromMessage(message);
|
||||
@@ -128,7 +129,7 @@ public class MethodParameterMessageMapperFromMessageTests {
|
||||
@Test
|
||||
public void fromMessageWithMapAndObjectMethod() throws Exception {
|
||||
Method method = TestService.class.getMethod("mapHeadersAndPayload", Map.class, Object.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Message<String> message = MessageBuilder.withPayload("test")
|
||||
.setHeader("prop1", "foo").setHeader("prop2", "bar").build();
|
||||
Object[] args = mapper.fromMessage(message);
|
||||
@@ -143,7 +144,7 @@ public class MethodParameterMessageMapperFromMessageTests {
|
||||
@Test
|
||||
public void fromMessageWithPropertiesMethodAndPropertiesPayload() throws Exception {
|
||||
Method method = TestService.class.getMethod("propertiesPayload", Properties.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Properties payload = new Properties();
|
||||
payload.setProperty("prop1", "foo");
|
||||
payload.setProperty("prop2", "bar");
|
||||
@@ -160,7 +161,7 @@ public class MethodParameterMessageMapperFromMessageTests {
|
||||
@SuppressWarnings("unchecked")
|
||||
public void fromMessageWithMapMethodAndHeadersAnnotation() throws Exception {
|
||||
Method method = TestService.class.getMethod("mapHeaders", Map.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Message<String> message = MessageBuilder.withPayload("test")
|
||||
.setHeader("attrib1", new Integer(123))
|
||||
.setHeader("attrib2", new Integer(456)).build();
|
||||
@@ -174,7 +175,7 @@ public class MethodParameterMessageMapperFromMessageTests {
|
||||
@SuppressWarnings("unchecked")
|
||||
public void fromMessageWithMapMethodAndMapPayload() throws Exception {
|
||||
Method method = TestService.class.getMethod("mapPayload", Map.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Map<String, Integer> payload = new HashMap<String, Integer>();
|
||||
payload.put("attrib1", new Integer(88));
|
||||
payload.put("attrib2", new Integer(99));
|
||||
@@ -189,6 +190,7 @@ public class MethodParameterMessageMapperFromMessageTests {
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private static class TestService {
|
||||
|
||||
public String messageOnly(Message<?> message) {
|
||||
|
||||
@@ -19,8 +19,8 @@ package org.springframework.integration.message;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.integration.core.Message;
|
||||
import org.springframework.integration.handler.MethodArgumentMessageMapper;
|
||||
|
||||
/**
|
||||
* @author Mark Fisher
|
||||
@@ -30,19 +30,19 @@ public class MethodParameterMessageMapperInitializationTests {
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void messageAndPayload() throws Exception {
|
||||
Method method = TestService.class.getMethod("messageAndPayload", Message.class, String.class);
|
||||
new MethodParameterMessageMapper(method);
|
||||
new MethodArgumentMessageMapper(method);
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void twoMessages() throws Exception {
|
||||
Method method = TestService.class.getMethod("twoMessages", Message.class, Message.class);
|
||||
new MethodParameterMessageMapper(method);
|
||||
new MethodArgumentMessageMapper(method);
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void twoPayloads() throws Exception {
|
||||
Method method = TestService.class.getMethod("twoPayloads", String.class, String.class);
|
||||
new MethodParameterMessageMapper(method);
|
||||
new MethodArgumentMessageMapper(method);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ import org.junit.Test;
|
||||
import org.springframework.integration.annotation.Header;
|
||||
import org.springframework.integration.annotation.Headers;
|
||||
import org.springframework.integration.core.Message;
|
||||
import org.springframework.integration.handler.MethodArgumentMessageMapper;
|
||||
|
||||
/**
|
||||
* @author Mark Fisher
|
||||
@@ -37,7 +38,7 @@ public class MethodParameterMessageMapperToMessageTests {
|
||||
@Test
|
||||
public void toMessageWithPayload() throws Exception {
|
||||
Method method = TestService.class.getMethod("sendPayload", String.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Message<?> message = mapper.toMessage(new Object[] { "test" });
|
||||
assertEquals("test", message.getPayload());
|
||||
}
|
||||
@@ -45,14 +46,14 @@ public class MethodParameterMessageMapperToMessageTests {
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void toMessageWithTooManyParameters() throws Exception {
|
||||
Method method = TestService.class.getMethod("sendPayload", String.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
mapper.toMessage(new Object[] { "test" , "oops" });
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void toMessageWithEmptyParameterArray() throws Exception {
|
||||
Method method = TestService.class.getMethod("sendPayload", String.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
mapper.toMessage(new Object[] {});
|
||||
}
|
||||
|
||||
@@ -60,7 +61,7 @@ public class MethodParameterMessageMapperToMessageTests {
|
||||
public void toMessageWithPayloadAndHeader() throws Exception {
|
||||
Method method = TestService.class.getMethod(
|
||||
"sendPayloadAndHeader", String.class, String.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Message<?> message = mapper.toMessage(new Object[] { "test", "bar" });
|
||||
assertEquals("test", message.getPayload());
|
||||
assertEquals("bar", message.getHeaders().get("foo"));
|
||||
@@ -70,7 +71,7 @@ public class MethodParameterMessageMapperToMessageTests {
|
||||
public void toMessageWithPayloadAndRequiredHeaderButNullValue() throws Exception {
|
||||
Method method = TestService.class.getMethod(
|
||||
"sendPayloadAndHeader", String.class, String.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
mapper.toMessage(new Object[] { "test", null });
|
||||
}
|
||||
|
||||
@@ -78,7 +79,7 @@ public class MethodParameterMessageMapperToMessageTests {
|
||||
public void toMessageWithPayloadAndOptionalHeaderWithValueProvided() throws Exception {
|
||||
Method method = TestService.class.getMethod(
|
||||
"sendPayloadAndOptionalHeader", String.class, String.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Message<?> message = mapper.toMessage(new Object[] { "test", "bar" });
|
||||
assertEquals("test", message.getPayload());
|
||||
assertEquals("bar", message.getHeaders().get("foo"));
|
||||
@@ -88,7 +89,7 @@ public class MethodParameterMessageMapperToMessageTests {
|
||||
public void toMessageWithPayloadAndOptionalHeaderWithNullValue() throws Exception {
|
||||
Method method = TestService.class.getMethod(
|
||||
"sendPayloadAndOptionalHeader", String.class, String.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Message<?> message = mapper.toMessage(new Object[] { "test", null });
|
||||
assertEquals("test", message.getPayload());
|
||||
assertNull(message.getHeaders().get("foo"));
|
||||
@@ -98,7 +99,7 @@ public class MethodParameterMessageMapperToMessageTests {
|
||||
public void toMessageWithPayloadAndHeadersMap() throws Exception {
|
||||
Method method = TestService.class.getMethod(
|
||||
"sendPayloadAndHeadersMap", String.class, Map.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Map<String, Object> headers = new HashMap<String, Object>();
|
||||
headers.put("abc", 123);
|
||||
headers.put("def", 456);
|
||||
@@ -112,7 +113,7 @@ public class MethodParameterMessageMapperToMessageTests {
|
||||
public void toMessageWithPayloadAndNullHeadersMap() throws Exception {
|
||||
Method method = TestService.class.getMethod(
|
||||
"sendPayloadAndHeadersMap", String.class, Map.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Message<?> message = mapper.toMessage(new Object[] { "test", null });
|
||||
assertEquals("test", message.getPayload());
|
||||
}
|
||||
@@ -121,7 +122,7 @@ public class MethodParameterMessageMapperToMessageTests {
|
||||
public void toMessageWithPayloadAndHeadersMapWithNonStringKey() throws Exception {
|
||||
Method method = TestService.class.getMethod(
|
||||
"sendPayloadAndHeadersMap", String.class, Map.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Map<Integer, String> headers = new HashMap<Integer, String>();
|
||||
headers.put(123, "abc");
|
||||
mapper.toMessage(new Object[] { "test", headers });
|
||||
@@ -130,7 +131,7 @@ public class MethodParameterMessageMapperToMessageTests {
|
||||
@Test
|
||||
public void toMessageWithMessageParameter() throws Exception {
|
||||
Method method = TestService.class.getMethod("sendMessage", Message.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Message<?> inputMessage = MessageBuilder.withPayload("test message").build();
|
||||
Message<?> message = mapper.toMessage(new Object[] { inputMessage });
|
||||
assertEquals("test message", message.getPayload());
|
||||
@@ -139,7 +140,7 @@ public class MethodParameterMessageMapperToMessageTests {
|
||||
@Test
|
||||
public void toMessageWithMessageParameterAndHeader() throws Exception {
|
||||
Method method = TestService.class.getMethod("sendMessageAndHeader", Message.class, String.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Message<?> inputMessage = MessageBuilder.withPayload("test message").build();
|
||||
Message<?> message = mapper.toMessage(new Object[] { inputMessage, "bar" });
|
||||
assertEquals("test message", message.getPayload());
|
||||
@@ -149,7 +150,7 @@ public class MethodParameterMessageMapperToMessageTests {
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void toMessageWithMessageParameterAndRequiredHeaderButNullValue() throws Exception {
|
||||
Method method = TestService.class.getMethod("sendMessageAndHeader", Message.class, String.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Message<?> inputMessage = MessageBuilder.withPayload("test message").build();
|
||||
mapper.toMessage(new Object[] { inputMessage, null });
|
||||
}
|
||||
@@ -157,7 +158,7 @@ public class MethodParameterMessageMapperToMessageTests {
|
||||
@Test
|
||||
public void toMessageWithMessageParameterAndOptionalHeaderWithValue() throws Exception {
|
||||
Method method = TestService.class.getMethod("sendMessageAndOptionalHeader", Message.class, String.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Message<?> inputMessage = MessageBuilder.withPayload("test message").build();
|
||||
Message<?> message = mapper.toMessage(new Object[] { inputMessage, "bar" });
|
||||
assertEquals("test message", message.getPayload());
|
||||
@@ -167,7 +168,7 @@ public class MethodParameterMessageMapperToMessageTests {
|
||||
@Test
|
||||
public void toMessageWithMessageParameterAndOptionalHeaderWithNull() throws Exception {
|
||||
Method method = TestService.class.getMethod("sendMessageAndOptionalHeader", Message.class, String.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
Message<?> inputMessage = MessageBuilder.withPayload("test message").build();
|
||||
Message<?> message = mapper.toMessage(new Object[] { inputMessage, null });
|
||||
assertEquals("test message", message.getPayload());
|
||||
@@ -177,14 +178,14 @@ public class MethodParameterMessageMapperToMessageTests {
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void noArgs() throws Exception {
|
||||
Method method = TestService.class.getMethod("noArgs", new Class<?>[] {});
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
mapper.toMessage(new Object[] {});
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void onlyHeaders() throws Exception {
|
||||
Method method = TestService.class.getMethod("onlyHeaders", String.class, String.class);
|
||||
MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
|
||||
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
|
||||
mapper.toMessage(new Object[] { "abc", "def" });
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user