remove channel-resolver attribute
remove ChannelResolver awareness from router parsers and FactoryBean refactor 'channelIdentifierMap' -> 'channelMappings' and other clarity enhancements trim array tokens added AbstractMappingMessageRouter
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
|
||||
<bean id="payloadTypeRouter" class="org.springframework.integration.router.PayloadTypeRouter">
|
||||
<property name="resolutionRequired" value="true"/>
|
||||
<property name="channelIdentifierMap">
|
||||
<property name="channelMappings">
|
||||
<map>
|
||||
<entry key="java.lang.String" value="strings"/>
|
||||
</map>
|
||||
|
||||
@@ -29,7 +29,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.integration.MessageChannel;
|
||||
import org.springframework.integration.core.PollableChannel;
|
||||
import org.springframework.integration.message.GenericMessage;
|
||||
import org.springframework.integration.router.AbstractMessageRouter;
|
||||
import org.springframework.integration.router.AbstractMappingMessageRouter;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
||||
@@ -50,7 +50,7 @@ public class RouterFactoryBeanDelegationTests {
|
||||
private PollableChannel discard;
|
||||
|
||||
@Autowired @Qualifier("org.springframework.integration.config.RouterFactoryBean#0")
|
||||
private AbstractMessageRouter router;
|
||||
private AbstractMappingMessageRouter router;
|
||||
|
||||
|
||||
@Test
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2010 the original author or authors.
|
||||
* Copyright 2002-2011 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.
|
||||
@@ -72,7 +72,7 @@ public class ErrorMessageExceptionTypeRouterTests {
|
||||
exceptionTypeChannelMap.put(IllegalArgumentException.class.getName(), "illegalArgumentChannel");
|
||||
exceptionTypeChannelMap.put(RuntimeException.class.getName(), "runtimeExceptionChannel");
|
||||
exceptionTypeChannelMap.put(MessageHandlingException.class.getName(), "messageHandlingExceptionChannel");
|
||||
router.setChannelIdentifierMap(exceptionTypeChannelMap);
|
||||
router.setChannelMappings(exceptionTypeChannelMap);
|
||||
|
||||
router.setBeanFactory(beanFactory);
|
||||
|
||||
@@ -95,7 +95,7 @@ public class ErrorMessageExceptionTypeRouterTests {
|
||||
Map<String, String> exceptionTypeChannelMap = new HashMap<String, String>();
|
||||
exceptionTypeChannelMap.put(RuntimeException.class.getName(), "runtimeExceptionChannel");
|
||||
exceptionTypeChannelMap.put(MessageHandlingException.class.getName(), "runtimeExceptionChannel");
|
||||
router.setChannelIdentifierMap(exceptionTypeChannelMap);
|
||||
router.setChannelMappings(exceptionTypeChannelMap);
|
||||
router.setBeanFactory(beanFactory);
|
||||
|
||||
router.setDefaultOutputChannel(defaultChannel);
|
||||
@@ -116,7 +116,7 @@ public class ErrorMessageExceptionTypeRouterTests {
|
||||
ErrorMessageExceptionTypeRouter router = new ErrorMessageExceptionTypeRouter();
|
||||
Map<String, String> exceptionTypeChannelMap = new HashMap<String, String>();
|
||||
exceptionTypeChannelMap.put(MessageHandlingException.class.getName(), "messageHandlingExceptionChannel");
|
||||
router.setChannelIdentifierMap(exceptionTypeChannelMap);
|
||||
router.setChannelMappings(exceptionTypeChannelMap);
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setDefaultOutputChannel(defaultChannel);
|
||||
router.handleMessage(message);
|
||||
@@ -152,7 +152,7 @@ public class ErrorMessageExceptionTypeRouterTests {
|
||||
ErrorMessageExceptionTypeRouter router = new ErrorMessageExceptionTypeRouter();
|
||||
Map<String, String> exceptionTypeChannelMap = new HashMap<String, String>();
|
||||
exceptionTypeChannelMap.put(MessageDeliveryException.class.getName(), "messageDeliveryExceptionChannel");
|
||||
router.setChannelIdentifierMap(exceptionTypeChannelMap);
|
||||
router.setChannelMappings(exceptionTypeChannelMap);
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setResolutionRequired(true);
|
||||
router.handleMessage(message);
|
||||
@@ -170,7 +170,7 @@ public class ErrorMessageExceptionTypeRouterTests {
|
||||
exceptionTypeChannelMap.put(IllegalArgumentException.class.getName(), "illegalArgumentChannel");
|
||||
exceptionTypeChannelMap.put(RuntimeException.class.getName(), "runtimeExceptionChannel");
|
||||
exceptionTypeChannelMap.put(MessageHandlingException.class.getName(), "messageHandlingExceptionChannel");
|
||||
router.setChannelIdentifierMap(exceptionTypeChannelMap);
|
||||
router.setChannelMappings(exceptionTypeChannelMap);
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setDefaultOutputChannel(defaultChannel);
|
||||
router.handleMessage(message);
|
||||
@@ -191,7 +191,7 @@ public class ErrorMessageExceptionTypeRouterTests {
|
||||
Map<String, String> exceptionTypeChannelMap = new HashMap<String, String>();
|
||||
exceptionTypeChannelMap.put(IllegalArgumentException.class.getName(), "illegalArgumentChannel");
|
||||
exceptionTypeChannelMap.put(MessageHandlingException.class.getName(), "messageHandlingExceptionChannel");
|
||||
router.setChannelIdentifierMap(exceptionTypeChannelMap);
|
||||
router.setChannelMappings(exceptionTypeChannelMap);
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setDefaultOutputChannel(defaultChannel);
|
||||
router.handleMessage(message);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2009 the original author or authors.
|
||||
* Copyright 2002-2011 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.
|
||||
@@ -90,12 +90,12 @@ public class HeaderValueRouterTests {
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
public void resolveChannelNameFromMap() {
|
||||
StaticApplicationContext context = new StaticApplicationContext();
|
||||
ManagedMap channelMap = new ManagedMap();
|
||||
channelMap.put("testKey", "testChannel");
|
||||
ManagedMap channelMappings = new ManagedMap();
|
||||
channelMappings.put("testKey", "testChannel");
|
||||
RootBeanDefinition routerBeanDefinition = new RootBeanDefinition(HeaderValueRouter.class);
|
||||
routerBeanDefinition.getConstructorArgumentValues().addGenericArgumentValue("testHeaderName");
|
||||
routerBeanDefinition.getPropertyValues().addPropertyValue("resolutionRequired", "true");
|
||||
routerBeanDefinition.getPropertyValues().addPropertyValue("channelIdentifierMap", channelMap);
|
||||
routerBeanDefinition.getPropertyValues().addPropertyValue("channelMappings", channelMappings);
|
||||
routerBeanDefinition.getPropertyValues().addPropertyValue("beanFactory", context);
|
||||
context.registerBeanDefinition("router", routerBeanDefinition);
|
||||
context.registerBeanDefinition("testChannel", new RootBeanDefinition(QueueChannel.class));
|
||||
@@ -112,12 +112,12 @@ public class HeaderValueRouterTests {
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
public void resolveChannelNameFromMapAndCustomeResolver() {
|
||||
final StaticApplicationContext context = new StaticApplicationContext();
|
||||
ManagedMap channelMap = new ManagedMap();
|
||||
channelMap.put("testKey", "testChannel");
|
||||
ManagedMap channelMappings = new ManagedMap();
|
||||
channelMappings.put("testKey", "testChannel");
|
||||
RootBeanDefinition routerBeanDefinition = new RootBeanDefinition(HeaderValueRouter.class);
|
||||
routerBeanDefinition.getConstructorArgumentValues().addGenericArgumentValue("testHeaderName");
|
||||
routerBeanDefinition.getPropertyValues().addPropertyValue("resolutionRequired", "true");
|
||||
routerBeanDefinition.getPropertyValues().addPropertyValue("channelIdentifierMap", channelMap);
|
||||
routerBeanDefinition.getPropertyValues().addPropertyValue("channelMappings", channelMappings);
|
||||
routerBeanDefinition.getPropertyValues().addPropertyValue("beanFactory", context);
|
||||
routerBeanDefinition.getPropertyValues().addPropertyValue("channelResolver", new ChannelResolver() {
|
||||
public MessageChannel resolveChannelName(String channelName) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2010 the original author or authors.
|
||||
* Copyright 2002-2011 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.
|
||||
@@ -23,6 +23,7 @@ import static org.mockito.Mockito.mock;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.beans.factory.BeanFactory;
|
||||
import org.springframework.integration.Message;
|
||||
import org.springframework.integration.MessagingException;
|
||||
@@ -38,9 +39,9 @@ public class MultiChannelRouterTests {
|
||||
|
||||
@Test
|
||||
public void routeWithChannelMapping() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
public List<Object> getChannelKeys(Message<?> message) {
|
||||
return CollectionUtils.arrayToList(new String[] {"channel1", "channel2"});
|
||||
}
|
||||
};
|
||||
@@ -62,9 +63,9 @@ public class MultiChannelRouterTests {
|
||||
|
||||
@Test(expected = MessagingException.class)
|
||||
public void channelNameLookupFailure() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
public List<Object> getChannelKeys(Message<?> message) {
|
||||
return CollectionUtils.arrayToList(new String[] {"noSuchChannel"} );
|
||||
}
|
||||
};
|
||||
@@ -76,9 +77,9 @@ public class MultiChannelRouterTests {
|
||||
|
||||
@Test(expected = MessagingException.class)
|
||||
public void channelMappingNotAvailable() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
public List<Object> getChannelKeys(Message<?> message) {
|
||||
return CollectionUtils.arrayToList(new String[] {"noSuchChannel"});
|
||||
}
|
||||
};
|
||||
|
||||
@@ -51,22 +51,32 @@ public class PayloadTypeRouterTests {
|
||||
payloadTypeChannelMap.put(String.class.getName(), "stringChannel");
|
||||
payloadTypeChannelMap.put(Integer.class.getName(), "integerChannel");
|
||||
PayloadTypeRouter router = new PayloadTypeRouter();
|
||||
router.setChannelIdentifierMap(payloadTypeChannelMap);
|
||||
router.setChannelMappings(payloadTypeChannelMap);
|
||||
router.setBeanFactory(beanFactory);
|
||||
|
||||
Message<String> message1 = new GenericMessage<String>("test");
|
||||
Message<Integer> message2 = new GenericMessage<Integer>(123);
|
||||
assertEquals(1, router.getChannelIdentifiers(message1).size());
|
||||
assertEquals("stringChannel", router.getChannelIdentifiers(message1).iterator().next());
|
||||
assertEquals(1, router.getChannelIdentifiers(message2).size());
|
||||
assertEquals("integerChannel", router.getChannelIdentifiers(message2).iterator().next());
|
||||
assertEquals(1, router.getChannelKeys(message1).size());
|
||||
|
||||
assertNull(stringChannel.receive(0));
|
||||
router.handleMessage(message1);
|
||||
assertEquals(message1, stringChannel.receive(0));
|
||||
|
||||
assertEquals(1, router.getChannelKeys(message2).size());
|
||||
|
||||
assertNull(integerChannel.receive(0));
|
||||
router.handleMessage(message2);
|
||||
assertEquals(message2, integerChannel.receive(0));
|
||||
|
||||
// validate dynamics
|
||||
QueueChannel newChannel = new QueueChannel();
|
||||
beanFactory.registerSingleton("newChannel", newChannel);
|
||||
router.setChannelMapping(String.class.getName(), "newChannel");
|
||||
assertEquals(1, router.getChannelIdentifiers(message1).size());
|
||||
assertEquals("newChannel", router.getChannelIdentifiers(message1).iterator().next());
|
||||
assertEquals(1, router.getChannelKeys(message1).size());
|
||||
|
||||
assertNull(newChannel.receive(0));
|
||||
router.handleMessage(message1);
|
||||
assertEquals(message1, newChannel.receive(0));
|
||||
|
||||
// validate exception is thrown if mappings were removed and
|
||||
// channelResolutionRequires = true (which is the default)
|
||||
@@ -98,7 +108,7 @@ public class PayloadTypeRouterTests {
|
||||
Map<String, String> payloadTypeChannelMap = new ConcurrentHashMap<String, String>();
|
||||
payloadTypeChannelMap.put(Number.class.getName(), "numberChannel");
|
||||
PayloadTypeRouter router = new PayloadTypeRouter();
|
||||
router.setChannelIdentifierMap(payloadTypeChannelMap);
|
||||
router.setChannelMappings(payloadTypeChannelMap);
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setDefaultOutputChannel(defaultChannel);
|
||||
Message<Integer> message = new GenericMessage<Integer>(99);
|
||||
@@ -112,7 +122,7 @@ public class PayloadTypeRouterTests {
|
||||
QueueChannel newChannel = new QueueChannel();
|
||||
beanFactory.registerSingleton("newChannel", newChannel);
|
||||
router.setChannelMapping(Integer.class.getName(), "newChannel");
|
||||
assertEquals(1, router.getChannelIdentifiers(message).size());
|
||||
assertEquals(1, router.getChannelKeys(message).size());
|
||||
router.handleMessage(message);
|
||||
result = newChannel.receive(10);
|
||||
assertNotNull(result);
|
||||
@@ -138,7 +148,7 @@ public class PayloadTypeRouterTests {
|
||||
|
||||
PayloadTypeRouter router = new PayloadTypeRouter();
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setChannelIdentifierMap(payloadTypeChannelMap);
|
||||
router.setChannelMappings(payloadTypeChannelMap);
|
||||
|
||||
router.setDefaultOutputChannel(defaultChannel);
|
||||
Message<Integer> message = new GenericMessage<Integer>(99);
|
||||
@@ -166,7 +176,7 @@ public class PayloadTypeRouterTests {
|
||||
PayloadTypeRouter router = new PayloadTypeRouter();
|
||||
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setChannelIdentifierMap(payloadTypeChannelMap);
|
||||
router.setChannelMappings(payloadTypeChannelMap);
|
||||
|
||||
router.setDefaultOutputChannel(defaultChannel);
|
||||
Message<Integer> message = new GenericMessage<Integer>(99);
|
||||
@@ -193,7 +203,7 @@ public class PayloadTypeRouterTests {
|
||||
PayloadTypeRouter router = new PayloadTypeRouter();
|
||||
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setChannelIdentifierMap(payloadTypeChannelMap);
|
||||
router.setChannelMappings(payloadTypeChannelMap);
|
||||
|
||||
router.setDefaultOutputChannel(defaultChannel);
|
||||
Message<C1> message = new GenericMessage<C1>(new C1());
|
||||
@@ -224,7 +234,7 @@ public class PayloadTypeRouterTests {
|
||||
PayloadTypeRouter router = new PayloadTypeRouter();
|
||||
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setChannelIdentifierMap(payloadTypeChannelMap);
|
||||
router.setChannelMappings(payloadTypeChannelMap);
|
||||
|
||||
router.setDefaultOutputChannel(defaultChannel);
|
||||
Message<C1> message = new GenericMessage<C1>(new C1());
|
||||
@@ -255,7 +265,7 @@ public class PayloadTypeRouterTests {
|
||||
PayloadTypeRouter router = new PayloadTypeRouter();
|
||||
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setChannelIdentifierMap(payloadTypeChannelMap);
|
||||
router.setChannelMappings(payloadTypeChannelMap);
|
||||
|
||||
router.setDefaultOutputChannel(defaultChannel);
|
||||
Message<C1> message = new GenericMessage<C1>(new C1());
|
||||
@@ -286,7 +296,7 @@ public class PayloadTypeRouterTests {
|
||||
PayloadTypeRouter router = new PayloadTypeRouter();
|
||||
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setChannelIdentifierMap(payloadTypeChannelMap);
|
||||
router.setChannelMappings(payloadTypeChannelMap);
|
||||
|
||||
router.setDefaultOutputChannel(defaultChannel);
|
||||
Message<C1> message = new GenericMessage<C1>(new C1());
|
||||
@@ -315,7 +325,7 @@ public class PayloadTypeRouterTests {
|
||||
PayloadTypeRouter router = new PayloadTypeRouter();
|
||||
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setChannelIdentifierMap(payloadTypeChannelMap);
|
||||
router.setChannelMappings(payloadTypeChannelMap);
|
||||
|
||||
router.setDefaultOutputChannel(defaultChannel);
|
||||
Message<Integer> message = new GenericMessage<Integer>(99);
|
||||
@@ -330,7 +340,7 @@ public class PayloadTypeRouterTests {
|
||||
QueueChannel newChannel = new QueueChannel();
|
||||
beanFactory.registerSingleton("newChannel", newChannel);
|
||||
router.setChannelMapping(Integer.class.getName(), "newChannel");
|
||||
assertEquals(1, router.getChannelIdentifiers(message).size());
|
||||
assertEquals(1, router.getChannelKeys(message).size());
|
||||
router.handleMessage(message);
|
||||
result = newChannel.receive(10);
|
||||
assertNotNull(result);
|
||||
@@ -356,7 +366,7 @@ public class PayloadTypeRouterTests {
|
||||
PayloadTypeRouter router = new PayloadTypeRouter();
|
||||
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setChannelIdentifierMap(payloadTypeChannelMap);
|
||||
router.setChannelMappings(payloadTypeChannelMap);
|
||||
|
||||
router.setDefaultOutputChannel(defaultChannel);
|
||||
Message<String> message = new GenericMessage<String>("test");
|
||||
@@ -383,7 +393,7 @@ public class PayloadTypeRouterTests {
|
||||
PayloadTypeRouter router = new PayloadTypeRouter();
|
||||
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setChannelIdentifierMap(payloadTypeChannelMap);
|
||||
router.setChannelMappings(payloadTypeChannelMap);
|
||||
|
||||
router.setDefaultOutputChannel(defaultChannel);
|
||||
Message<Integer> message = new GenericMessage<Integer>(99);
|
||||
@@ -412,7 +422,7 @@ public class PayloadTypeRouterTests {
|
||||
PayloadTypeRouter router = new PayloadTypeRouter();
|
||||
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setChannelIdentifierMap(payloadTypeChannelMap);
|
||||
router.setChannelMappings(payloadTypeChannelMap);
|
||||
|
||||
Message<String> message1 = new GenericMessage<String>("test");
|
||||
Message<Integer> message2 = new GenericMessage<Integer>(123);
|
||||
@@ -440,7 +450,7 @@ public class PayloadTypeRouterTests {
|
||||
PayloadTypeRouter router = new PayloadTypeRouter();
|
||||
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setChannelIdentifierMap(payloadTypeChannelMap);
|
||||
router.setChannelMappings(payloadTypeChannelMap);
|
||||
|
||||
router.setDefaultOutputChannel(defaultChannel);
|
||||
Message<String> message1 = new GenericMessage<String>("test");
|
||||
@@ -481,7 +491,7 @@ public class PayloadTypeRouterTests {
|
||||
PayloadTypeRouter router = new PayloadTypeRouter();
|
||||
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setChannelIdentifierMap(payloadTypeChannelMap);
|
||||
router.setChannelMappings(payloadTypeChannelMap);
|
||||
|
||||
router.setDefaultOutputChannel(defaultChannel);
|
||||
Message<C1> message = new GenericMessage<C1>(new C1());
|
||||
@@ -515,7 +525,7 @@ public class PayloadTypeRouterTests {
|
||||
PayloadTypeRouter router = new PayloadTypeRouter();
|
||||
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setChannelIdentifierMap(payloadTypeChannelMap);
|
||||
router.setChannelMappings(payloadTypeChannelMap);
|
||||
|
||||
router.setDefaultOutputChannel(defaultChannel);
|
||||
Message<C1> message = new GenericMessage<C1>(new C1());
|
||||
@@ -548,7 +558,7 @@ public class PayloadTypeRouterTests {
|
||||
PayloadTypeRouter router = new PayloadTypeRouter();
|
||||
|
||||
router.setBeanFactory(beanFactory);
|
||||
router.setChannelIdentifierMap(payloadTypeChannelMap);
|
||||
router.setChannelMappings(payloadTypeChannelMap);
|
||||
|
||||
router.setDefaultOutputChannel(defaultChannel);
|
||||
Message<C1> message = new GenericMessage<C1>(new C1());
|
||||
|
||||
@@ -44,9 +44,9 @@ public class RouterTests {
|
||||
|
||||
@Test(expected = MessageDeliveryException.class)
|
||||
public void nullChannelRaisesMessageDeliveryExceptionByDefault() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
@Override
|
||||
protected List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
protected List<Object> getChannelKeys(Message<?> message) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
@@ -56,9 +56,9 @@ public class RouterTests {
|
||||
|
||||
@Test(expected = MessageDeliveryException.class)
|
||||
public void nullChannelIdentifierUsingChannelResolverRaisesMessageDeliveryExceptionByDefault() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
@Override
|
||||
protected List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
protected List<Object> getChannelKeys(Message<?> message) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
@@ -70,9 +70,9 @@ public class RouterTests {
|
||||
|
||||
@Test(expected = MessageDeliveryException.class)
|
||||
public void nullChannelIdentifierInListRaisesMessageDeliveryExceptionByDefault() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
@Override
|
||||
protected List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
protected List<Object> getChannelKeys(Message<?> message) {
|
||||
return Collections.singletonList(null);
|
||||
}
|
||||
};
|
||||
@@ -84,8 +84,8 @@ public class RouterTests {
|
||||
|
||||
@Test(expected = MessageDeliveryException.class)
|
||||
public void emptyChannelNameArrayRaisesMessageDeliveryExceptionByDefault() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
protected List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
protected List<Object> getChannelKeys(Message<?> message) {
|
||||
return new ArrayList<Object>();
|
||||
}
|
||||
};
|
||||
@@ -97,9 +97,9 @@ public class RouterTests {
|
||||
|
||||
@Test(expected = MessagingException.class)
|
||||
public void channelMappingIsRequiredWhenResolvingChannelNames() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
@SuppressWarnings("unchecked")
|
||||
protected List<Object> getChannelIdentifiers(Message<?> message){
|
||||
protected List<Object> getChannelKeys(Message<?> message){
|
||||
return CollectionUtils.arrayToList(new String[] { "notImportant" });
|
||||
}
|
||||
};
|
||||
@@ -109,9 +109,9 @@ public class RouterTests {
|
||||
|
||||
@Test
|
||||
public void beanFactoryWithRouter() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
@SuppressWarnings("unchecked")
|
||||
protected List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
protected List<Object> getChannelKeys(Message<?> message) {
|
||||
return CollectionUtils.arrayToList(new String[] { "testChannel" });
|
||||
}
|
||||
};
|
||||
@@ -126,9 +126,9 @@ public class RouterTests {
|
||||
|
||||
@Test
|
||||
public void beanFactoryWithRouterAndMultipleCommaSeparatedChannelNames() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
@SuppressWarnings("unchecked")
|
||||
protected List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
protected List<Object> getChannelKeys(Message<?> message) {
|
||||
return CollectionUtils.arrayToList(new String[] { "testChannel1,testChannel2" });
|
||||
}
|
||||
};
|
||||
@@ -154,9 +154,9 @@ public class RouterTests {
|
||||
@Test(expected = MessagingException.class)
|
||||
public void channelResolutionIsRequiredByDefault() {
|
||||
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
@SuppressWarnings("unchecked")
|
||||
protected List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
protected List<Object> getChannelKeys(Message<?> message) {
|
||||
return CollectionUtils.arrayToList(new String[] { "testChannelDoesNotExist", "testChannel" });
|
||||
}
|
||||
};
|
||||
@@ -172,9 +172,9 @@ public class RouterTests {
|
||||
@Test
|
||||
public void unresolvableChannelIdentifierInListAreIgnoredWhenResolutionRequiredIsFalse() {
|
||||
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
@SuppressWarnings("unchecked")
|
||||
protected List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
protected List<Object> getChannelKeys(Message<?> message) {
|
||||
return CollectionUtils.arrayToList(new String[] { "testChannelDoesNotExist", "testChannel" });
|
||||
}
|
||||
};
|
||||
@@ -193,9 +193,9 @@ public class RouterTests {
|
||||
|
||||
@Test
|
||||
public void beanFactoryWithRouterAndChannelPrefix() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
@SuppressWarnings("unchecked")
|
||||
protected List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
protected List<Object> getChannelKeys(Message<?> message) {
|
||||
return CollectionUtils.arrayToList(new String[] { "MyChannel" });
|
||||
}
|
||||
};
|
||||
@@ -214,9 +214,9 @@ public class RouterTests {
|
||||
|
||||
@Test(expected = MessagingException.class)
|
||||
public void beanFactoryWithRouterAndChannelPrefixFailing() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
@SuppressWarnings("unchecked")
|
||||
protected List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
protected List<Object> getChannelKeys(Message<?> message) {
|
||||
return CollectionUtils.arrayToList(new String[] { "testing_MyChannel" });
|
||||
}
|
||||
};
|
||||
@@ -233,9 +233,9 @@ public class RouterTests {
|
||||
|
||||
@Test
|
||||
public void beanFactoryWithRouterAndChannelSuffix() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
@SuppressWarnings("unchecked")
|
||||
protected List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
protected List<Object> getChannelKeys(Message<?> message) {
|
||||
return CollectionUtils.arrayToList(new String[] { "MyChannel" });
|
||||
}
|
||||
};
|
||||
@@ -253,9 +253,9 @@ public class RouterTests {
|
||||
|
||||
@Test(expected = MessagingException.class)
|
||||
public void beanFactoryWithRouterAndChannelSuffixFailing() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
@SuppressWarnings("unchecked")
|
||||
protected List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
protected List<Object> getChannelKeys(Message<?> message) {
|
||||
return CollectionUtils.arrayToList(new String[] { "MyChannel_withSuffix" });
|
||||
}
|
||||
};
|
||||
@@ -272,9 +272,9 @@ public class RouterTests {
|
||||
|
||||
@Test
|
||||
public void beanFactoryWithRouterAndChannelIdentifiersInListWithinAList() {
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
@SuppressWarnings("unchecked")
|
||||
protected List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
protected List<Object> getChannelKeys(Message<?> message) {
|
||||
|
||||
List<String> channelNames1 = CollectionUtils.arrayToList(new String[] { "channel1" });
|
||||
List<String> channelNames2 = CollectionUtils.arrayToList(new String[] { "channel2" });
|
||||
@@ -312,9 +312,9 @@ public class RouterTests {
|
||||
final QueueChannel testChannel1 = new QueueChannel();
|
||||
final QueueChannel testChannel2 = new QueueChannel();
|
||||
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
|
||||
protected List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
protected List<Object> getChannelKeys(Message<?> message) {
|
||||
|
||||
MessageChannel[] channelNames1 = new MessageChannel[] { testChannel1 };
|
||||
MessageChannel[] channelNames2 = new MessageChannel[] { testChannel2 };
|
||||
@@ -349,9 +349,9 @@ public class RouterTests {
|
||||
final QueueChannel testChannel1 = new QueueChannel();
|
||||
final QueueChannel testChannel2 = new QueueChannel();
|
||||
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
@SuppressWarnings("unchecked")
|
||||
protected List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
protected List<Object> getChannelKeys(Message<?> message) {
|
||||
return CollectionUtils.arrayToList(new Integer[] { 100, 200 });
|
||||
}
|
||||
};
|
||||
@@ -375,6 +375,7 @@ public class RouterTests {
|
||||
|
||||
String channel = "channel1";
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public String getChannel() {
|
||||
return this.channel;
|
||||
}
|
||||
@@ -386,9 +387,9 @@ public class RouterTests {
|
||||
|
||||
final QueueChannel testChannel1 = new QueueChannel();
|
||||
|
||||
AbstractMessageRouter router = new AbstractMessageRouter() {
|
||||
AbstractMappingMessageRouter router = new AbstractMappingMessageRouter() {
|
||||
@SuppressWarnings("unchecked")
|
||||
protected List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
protected List<Object> getChannelKeys(Message<?> message) {
|
||||
return CollectionUtils.arrayToList(new CustomObjectWithChannelName[] { new CustomObjectWithChannelName() });
|
||||
}
|
||||
};
|
||||
|
||||
@@ -19,7 +19,6 @@ package org.springframework.integration.router.config;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertSame;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
@@ -29,6 +28,7 @@ import java.util.List;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import org.springframework.beans.DirectFieldAccessor;
|
||||
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||
import org.springframework.integration.Message;
|
||||
@@ -41,7 +41,7 @@ import org.springframework.integration.core.MessagingTemplate;
|
||||
import org.springframework.integration.core.PollableChannel;
|
||||
import org.springframework.integration.core.SubscribableChannel;
|
||||
import org.springframework.integration.message.GenericMessage;
|
||||
import org.springframework.integration.router.AbstractMessageRouter;
|
||||
import org.springframework.integration.router.AbstractMappingMessageRouter;
|
||||
import org.springframework.integration.router.MethodInvokingRouter;
|
||||
import org.springframework.integration.support.channel.ChannelResolver;
|
||||
import org.springframework.integration.test.util.TestUtils;
|
||||
@@ -142,18 +142,6 @@ public class RouterParserTests {
|
||||
assertEquals(new Long(1234), timeout);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void channelResolverConfigured() {
|
||||
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
|
||||
"routerParserTests.xml", this.getClass());
|
||||
Object channelResolverBean = context.getBean("testChannelResolver");
|
||||
Object endpoint = context.getBean("routerWithChannelResolver");
|
||||
MethodInvokingRouter router = TestUtils.getPropertyValue(endpoint, "handler", MethodInvokingRouter.class);
|
||||
ChannelResolver channelResolver = (ChannelResolver)
|
||||
new DirectFieldAccessor(router).getPropertyValue("channelResolver");
|
||||
assertSame(channelResolverBean, channelResolver);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void sequence() {
|
||||
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
|
||||
@@ -196,7 +184,7 @@ public class RouterParserTests {
|
||||
}
|
||||
}
|
||||
|
||||
public static class TestRouterImplementation extends AbstractMessageRouter {
|
||||
public static class TestRouterImplementation extends AbstractMappingMessageRouter {
|
||||
|
||||
private final MessageChannel channel;
|
||||
|
||||
@@ -206,7 +194,7 @@ public class RouterParserTests {
|
||||
|
||||
|
||||
@Override
|
||||
protected List<Object> getChannelIdentifiers(Message<?> message) {
|
||||
protected List<Object> getChannelKeys(Message<?> message) {
|
||||
return Collections.singletonList((Object)this.channel);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ import org.springframework.integration.Message;
|
||||
import org.springframework.integration.MessageChannel;
|
||||
import org.springframework.integration.config.ConsumerEndpointFactoryBean;
|
||||
import org.springframework.integration.core.PollableChannel;
|
||||
import org.springframework.integration.router.AbstractMessageRouter;
|
||||
import org.springframework.integration.router.AbstractMappingMessageRouter;
|
||||
import org.springframework.integration.support.MessageBuilder;
|
||||
import org.springframework.integration.test.util.TestUtils;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
@@ -87,7 +87,7 @@ public class RouterWithMappingTests {
|
||||
assertNull(fooChannelForExpression.receive(0));
|
||||
assertNull(barChannelForExpression.receive(0));
|
||||
// validate dynamics
|
||||
AbstractMessageRouter router = (AbstractMessageRouter) TestUtils.getPropertyValue(spelRouter, "handler");
|
||||
AbstractMappingMessageRouter router = (AbstractMappingMessageRouter) TestUtils.getPropertyValue(spelRouter, "handler");
|
||||
router.setChannelMapping("baz", "fooChannelForExpression");
|
||||
expressionRouter.send(message3);
|
||||
assertNull(defaultChannelForExpression.receive(10));
|
||||
|
||||
@@ -80,10 +80,6 @@
|
||||
<channel id="timeoutRouterChannel"/>
|
||||
<router id="routerWithTimeout" ref="payloadAsChannelNameRouter" timeout="1234" input-channel="timeoutRouterChannel"/>
|
||||
|
||||
<channel id="channelResolverRouterChannel"/>
|
||||
<router id="routerWithChannelResolver" input-channel="channelResolverRouterChannel"
|
||||
ref="payloadAsChannelNameRouter" channel-resolver="testChannelResolver"/>
|
||||
|
||||
<beans:bean id="testChannelResolver"
|
||||
class="org.springframework.integration.router.config.RouterParserTests$TestChannelResover"/>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user