MethodParameterMessageMapper/MethodArgumentMessageMapper is now ArgumentArrayMessageMapper. That name is a better match since it maps between Message and args[] (from args to message for gateway and from message to args for service-activator).

This commit is contained in:
Mark Fisher
2009-09-29 19:26:07 +00:00
parent b9f42ebd84
commit fb4f43177c
6 changed files with 50 additions and 60 deletions

View File

@@ -28,18 +28,18 @@ 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;
import org.springframework.integration.handler.ArgumentArrayMessageMapper;
/**
* @author Mark Fisher
* @author Iwein Fuld
*/
public class MethodParameterMessageMapperFromMessageTests {
public class ArgumentArrayMessageMapperFromMessageTests {
@Test
public void fromMessageWithOptionalHeader() throws Exception {
Method method = TestService.class.getMethod("optionalHeader", Integer.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Object[] args = mapper.fromMessage(new StringMessage("foo"));
assertEquals(1, args.length);
assertNull(args[0]);
@@ -48,14 +48,14 @@ public class MethodParameterMessageMapperFromMessageTests {
@Test(expected = MessageHandlingException.class)
public void fromMessageWithRequiredHeaderNotProvided() throws Exception {
Method method = TestService.class.getMethod("requiredHeader", Integer.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
mapper.fromMessage(new StringMessage("foo"));
}
@Test
public void fromMessageWithRequiredHeaderProvided() throws Exception {
Method method = TestService.class.getMethod("requiredHeader", Integer.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Message<String> message = MessageBuilder.withPayload("foo")
.setHeader("num", new Integer(123)).build();
Object[] args = mapper.fromMessage(message);
@@ -66,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);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Message<String> message = MessageBuilder.withPayload("foo")
.setHeader("prop", "bar").build();
mapper.fromMessage(message);
@@ -75,7 +75,7 @@ public class MethodParameterMessageMapperFromMessageTests {
@Test
public void fromMessageWithOptionalAndRequiredHeaderAndOnlyRequiredHeaderProvided() throws Exception {
Method method = TestService.class.getMethod("optionalAndRequiredHeader", String.class, Integer.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Message<String> message = MessageBuilder.withPayload("foo")
.setHeader("num", new Integer(123)).build();
Object[] args = mapper.fromMessage(message);
@@ -87,7 +87,7 @@ public class MethodParameterMessageMapperFromMessageTests {
@Test
public void fromMessageWithOptionalAndRequiredHeaderAndBothHeadersProvided() throws Exception {
Method method = TestService.class.getMethod("optionalAndRequiredHeader", String.class, Integer.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Message<String> message = MessageBuilder.withPayload("foo")
.setHeader("num", new Integer(123))
.setHeader("prop", "bar")
@@ -101,7 +101,7 @@ public class MethodParameterMessageMapperFromMessageTests {
@Test
public void fromMessageWithPropertiesMethodAndHeadersAnnotation() throws Exception {
Method method = TestService.class.getMethod("propertiesHeaders", Properties.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Message<String> message = MessageBuilder.withPayload("test")
.setHeader("prop1", "foo").setHeader("prop2", "bar").build();
Object[] args = mapper.fromMessage(message);
@@ -114,7 +114,7 @@ public class MethodParameterMessageMapperFromMessageTests {
@Test
public void fromMessageWithPropertiesAndObjectMethod() throws Exception {
Method method = TestService.class.getMethod("propertiesHeadersAndPayload", Properties.class, Object.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Message<String> message = MessageBuilder.withPayload("test")
.setHeader("prop1", "foo").setHeader("prop2", "bar").build();
Object[] args = mapper.fromMessage(message);
@@ -129,7 +129,7 @@ public class MethodParameterMessageMapperFromMessageTests {
@Test
public void fromMessageWithMapAndObjectMethod() throws Exception {
Method method = TestService.class.getMethod("mapHeadersAndPayload", Map.class, Object.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Message<String> message = MessageBuilder.withPayload("test")
.setHeader("prop1", "foo").setHeader("prop2", "bar").build();
Object[] args = mapper.fromMessage(message);
@@ -144,7 +144,7 @@ public class MethodParameterMessageMapperFromMessageTests {
@Test
public void fromMessageWithPropertiesMethodAndPropertiesPayload() throws Exception {
Method method = TestService.class.getMethod("propertiesPayload", Properties.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Properties payload = new Properties();
payload.setProperty("prop1", "foo");
payload.setProperty("prop2", "bar");
@@ -161,7 +161,7 @@ public class MethodParameterMessageMapperFromMessageTests {
@SuppressWarnings("unchecked")
public void fromMessageWithMapMethodAndHeadersAnnotation() throws Exception {
Method method = TestService.class.getMethod("mapHeaders", Map.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Message<String> message = MessageBuilder.withPayload("test")
.setHeader("attrib1", new Integer(123))
.setHeader("attrib2", new Integer(456)).build();
@@ -175,7 +175,7 @@ public class MethodParameterMessageMapperFromMessageTests {
@SuppressWarnings("unchecked")
public void fromMessageWithMapMethodAndMapPayload() throws Exception {
Method method = TestService.class.getMethod("mapPayload", Map.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Map<String, Integer> payload = new HashMap<String, Integer>();
payload.put("attrib1", new Integer(88));
payload.put("attrib2", new Integer(99));

View File

@@ -20,29 +20,29 @@ import java.lang.reflect.Method;
import org.junit.Test;
import org.springframework.integration.core.Message;
import org.springframework.integration.handler.MethodArgumentMessageMapper;
import org.springframework.integration.handler.ArgumentArrayMessageMapper;
/**
* @author Mark Fisher
*/
public class MethodParameterMessageMapperInitializationTests {
public class ArgumentArrayMessageMapperInitializationTests {
@Test(expected = IllegalArgumentException.class)
public void messageAndPayload() throws Exception {
Method method = TestService.class.getMethod("messageAndPayload", Message.class, String.class);
new MethodArgumentMessageMapper(method);
new ArgumentArrayMessageMapper(method);
}
@Test(expected = IllegalArgumentException.class)
public void twoMessages() throws Exception {
Method method = TestService.class.getMethod("twoMessages", Message.class, Message.class);
new MethodArgumentMessageMapper(method);
new ArgumentArrayMessageMapper(method);
}
@Test(expected = IllegalArgumentException.class)
public void twoPayloads() throws Exception {
Method method = TestService.class.getMethod("twoPayloads", String.class, String.class);
new MethodArgumentMessageMapper(method);
new ArgumentArrayMessageMapper(method);
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2008 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -28,17 +28,17 @@ 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;
import org.springframework.integration.handler.ArgumentArrayMessageMapper;
/**
* @author Mark Fisher
*/
public class MethodParameterMessageMapperToMessageTests {
public class ArgumentArrayMessageMapperToMessageTests {
@Test
public void toMessageWithPayload() throws Exception {
Method method = TestService.class.getMethod("sendPayload", String.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Message<?> message = mapper.toMessage(new Object[] { "test" });
assertEquals("test", message.getPayload());
}
@@ -46,14 +46,14 @@ public class MethodParameterMessageMapperToMessageTests {
@Test(expected = IllegalArgumentException.class)
public void toMessageWithTooManyParameters() throws Exception {
Method method = TestService.class.getMethod("sendPayload", String.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
mapper.toMessage(new Object[] { "test" , "oops" });
}
@Test(expected = IllegalArgumentException.class)
public void toMessageWithEmptyParameterArray() throws Exception {
Method method = TestService.class.getMethod("sendPayload", String.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
mapper.toMessage(new Object[] {});
}
@@ -61,7 +61,7 @@ public class MethodParameterMessageMapperToMessageTests {
public void toMessageWithPayloadAndHeader() throws Exception {
Method method = TestService.class.getMethod(
"sendPayloadAndHeader", String.class, String.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Message<?> message = mapper.toMessage(new Object[] { "test", "bar" });
assertEquals("test", message.getPayload());
assertEquals("bar", message.getHeaders().get("foo"));
@@ -71,7 +71,7 @@ public class MethodParameterMessageMapperToMessageTests {
public void toMessageWithPayloadAndRequiredHeaderButNullValue() throws Exception {
Method method = TestService.class.getMethod(
"sendPayloadAndHeader", String.class, String.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
mapper.toMessage(new Object[] { "test", null });
}
@@ -79,7 +79,7 @@ public class MethodParameterMessageMapperToMessageTests {
public void toMessageWithPayloadAndOptionalHeaderWithValueProvided() throws Exception {
Method method = TestService.class.getMethod(
"sendPayloadAndOptionalHeader", String.class, String.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Message<?> message = mapper.toMessage(new Object[] { "test", "bar" });
assertEquals("test", message.getPayload());
assertEquals("bar", message.getHeaders().get("foo"));
@@ -89,7 +89,7 @@ public class MethodParameterMessageMapperToMessageTests {
public void toMessageWithPayloadAndOptionalHeaderWithNullValue() throws Exception {
Method method = TestService.class.getMethod(
"sendPayloadAndOptionalHeader", String.class, String.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Message<?> message = mapper.toMessage(new Object[] { "test", null });
assertEquals("test", message.getPayload());
assertNull(message.getHeaders().get("foo"));
@@ -99,7 +99,7 @@ public class MethodParameterMessageMapperToMessageTests {
public void toMessageWithPayloadAndHeadersMap() throws Exception {
Method method = TestService.class.getMethod(
"sendPayloadAndHeadersMap", String.class, Map.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Map<String, Object> headers = new HashMap<String, Object>();
headers.put("abc", 123);
headers.put("def", 456);
@@ -113,7 +113,7 @@ public class MethodParameterMessageMapperToMessageTests {
public void toMessageWithPayloadAndNullHeadersMap() throws Exception {
Method method = TestService.class.getMethod(
"sendPayloadAndHeadersMap", String.class, Map.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Message<?> message = mapper.toMessage(new Object[] { "test", null });
assertEquals("test", message.getPayload());
}
@@ -122,7 +122,7 @@ public class MethodParameterMessageMapperToMessageTests {
public void toMessageWithPayloadAndHeadersMapWithNonStringKey() throws Exception {
Method method = TestService.class.getMethod(
"sendPayloadAndHeadersMap", String.class, Map.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Map<Integer, String> headers = new HashMap<Integer, String>();
headers.put(123, "abc");
mapper.toMessage(new Object[] { "test", headers });
@@ -131,7 +131,7 @@ public class MethodParameterMessageMapperToMessageTests {
@Test
public void toMessageWithMessageParameter() throws Exception {
Method method = TestService.class.getMethod("sendMessage", Message.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Message<?> inputMessage = MessageBuilder.withPayload("test message").build();
Message<?> message = mapper.toMessage(new Object[] { inputMessage });
assertEquals("test message", message.getPayload());
@@ -140,7 +140,7 @@ public class MethodParameterMessageMapperToMessageTests {
@Test
public void toMessageWithMessageParameterAndHeader() throws Exception {
Method method = TestService.class.getMethod("sendMessageAndHeader", Message.class, String.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Message<?> inputMessage = MessageBuilder.withPayload("test message").build();
Message<?> message = mapper.toMessage(new Object[] { inputMessage, "bar" });
assertEquals("test message", message.getPayload());
@@ -150,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);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Message<?> inputMessage = MessageBuilder.withPayload("test message").build();
mapper.toMessage(new Object[] { inputMessage, null });
}
@@ -158,7 +158,7 @@ public class MethodParameterMessageMapperToMessageTests {
@Test
public void toMessageWithMessageParameterAndOptionalHeaderWithValue() throws Exception {
Method method = TestService.class.getMethod("sendMessageAndOptionalHeader", Message.class, String.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Message<?> inputMessage = MessageBuilder.withPayload("test message").build();
Message<?> message = mapper.toMessage(new Object[] { inputMessage, "bar" });
assertEquals("test message", message.getPayload());
@@ -168,7 +168,7 @@ public class MethodParameterMessageMapperToMessageTests {
@Test
public void toMessageWithMessageParameterAndOptionalHeaderWithNull() throws Exception {
Method method = TestService.class.getMethod("sendMessageAndOptionalHeader", Message.class, String.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
Message<?> inputMessage = MessageBuilder.withPayload("test message").build();
Message<?> message = mapper.toMessage(new Object[] { inputMessage, null });
assertEquals("test message", message.getPayload());
@@ -178,14 +178,14 @@ public class MethodParameterMessageMapperToMessageTests {
@Test(expected = IllegalArgumentException.class)
public void noArgs() throws Exception {
Method method = TestService.class.getMethod("noArgs", new Class<?>[] {});
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
mapper.toMessage(new Object[] {});
}
@Test(expected = IllegalArgumentException.class)
public void onlyHeaders() throws Exception {
Method method = TestService.class.getMethod("onlyHeaders", String.class, String.class);
MethodArgumentMessageMapper mapper = new MethodArgumentMessageMapper(method);
ArgumentArrayMessageMapper mapper = new ArgumentArrayMessageMapper(method);
mapper.toMessage(new Object[] { "abc", "def" });
}