From 38aa676cb9141a533bca80854411cdb579ccdc95 Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Wed, 10 Nov 2010 08:50:21 -0500 Subject: [PATCH] renamed getChannelIndicatorList method to getChannelIdentifiers on AbstractMessageRouter --- .../AbstractMessageProcessingRouter.java | 2 +- .../router/AbstractMessageRouter.java | 4 ++-- .../AbstractSingleChannelNameRouter.java | 2 +- .../ErrorMessageExceptionTypeRouter.java | 15 +++++++------- .../integration/router/HeaderValueRouter.java | 2 +- .../integration/router/PayloadTypeRouter.java | 2 +- .../router/RecipientListRouter.java | 2 +- .../router/MultiChannelRouterTests.java | 6 +++--- .../router/PayloadTypeRouterTests.java | 16 +++++++-------- .../integration/router/RouterTests.java | 20 +++++++++---------- .../router/config/RouterParserTests.java | 2 +- .../integration/xml/router/XPathRouter.java | 2 +- .../xml/router/XPathRouterTests.java | 20 +++++++++---------- 13 files changed, 47 insertions(+), 48 deletions(-) diff --git a/spring-integration-core/src/main/java/org/springframework/integration/router/AbstractMessageProcessingRouter.java b/spring-integration-core/src/main/java/org/springframework/integration/router/AbstractMessageProcessingRouter.java index 1e4d2611aa..adcaa76658 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/router/AbstractMessageProcessingRouter.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/router/AbstractMessageProcessingRouter.java @@ -54,7 +54,7 @@ class AbstractMessageProcessingRouter extends AbstractMessageRouter { } @Override - protected List getChannelIndicatorList(Message message) { + protected List getChannelIdentifiers(Message message) { Object result = this.messageProcessor.processMessage(message); List asList = new ArrayList(); asList.add(result); diff --git a/spring-integration-core/src/main/java/org/springframework/integration/router/AbstractMessageRouter.java b/spring-integration-core/src/main/java/org/springframework/integration/router/AbstractMessageRouter.java index 5b4062e22b..5cc195f63c 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/router/AbstractMessageRouter.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/router/AbstractMessageRouter.java @@ -190,7 +190,7 @@ public abstract class AbstractMessageRouter extends AbstractMessageHandler { private Collection determineTargetChannels(Message message) { this.afterPropertiesSet(); Collection channels = new ArrayList(); - Collection channelsReturned = this.getChannelIndicatorList(message); + Collection channelsReturned = this.getChannelIdentifiers(message); addToCollection(channels, channelsReturned, message); return channels; } @@ -205,7 +205,7 @@ public abstract class AbstractMessageRouter extends AbstractMessageHandler { /** * Subclasses must implement this method to return the channel identifiers. */ - protected abstract List getChannelIndicatorList(Message message); + protected abstract List getChannelIdentifiers(Message message); @Override diff --git a/spring-integration-core/src/main/java/org/springframework/integration/router/AbstractSingleChannelNameRouter.java b/spring-integration-core/src/main/java/org/springframework/integration/router/AbstractSingleChannelNameRouter.java index ec5e5a84ca..3786647d8a 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/router/AbstractSingleChannelNameRouter.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/router/AbstractSingleChannelNameRouter.java @@ -30,7 +30,7 @@ import org.springframework.integration.Message; public abstract class AbstractSingleChannelNameRouter extends AbstractMessageRouter { @Override - protected final List getChannelIndicatorList(Message message) { + protected final List getChannelIdentifiers(Message message) { List channelList = new ArrayList(); String channelName = determineTargetChannelName(message); if(channelName != null){ diff --git a/spring-integration-core/src/main/java/org/springframework/integration/router/ErrorMessageExceptionTypeRouter.java b/spring-integration-core/src/main/java/org/springframework/integration/router/ErrorMessageExceptionTypeRouter.java index 1dcb2d051a..6be71ca33f 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/router/ErrorMessageExceptionTypeRouter.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/router/ErrorMessageExceptionTypeRouter.java @@ -33,21 +33,20 @@ import org.springframework.integration.MessageChannel; public class ErrorMessageExceptionTypeRouter extends AbstractMessageRouter { @Override - protected List getChannelIndicatorList(Message message) { - String channelName = null; + protected List getChannelIdentifiers(Message message) { String channelIdentifier = null; Object payload = message.getPayload(); - if (payload != null && (payload instanceof Throwable)) { + if (payload != null && (payload instanceof Throwable) && this.channelIdentifierMap != null) { Throwable mostSpecificCause = (Throwable) payload; while (mostSpecificCause != null) { - channelIdentifier = mostSpecificCause.getClass().getName(); - if (channelIdentifierMap != null){ - String tempChannelName = channelIdentifierMap.get(channelIdentifier); - channelName = tempChannelName == null ? channelName : tempChannelName; + String mappedChannelIdentifier = this.channelIdentifierMap.get(mostSpecificCause.getClass().getName()); + if (mappedChannelIdentifier != null) { + channelIdentifier = mappedChannelIdentifier; } mostSpecificCause = mostSpecificCause.getCause(); } } - return Collections.singletonList((Object)channelName); + return Collections.singletonList((Object) channelIdentifier); } + } diff --git a/spring-integration-core/src/main/java/org/springframework/integration/router/HeaderValueRouter.java b/spring-integration-core/src/main/java/org/springframework/integration/router/HeaderValueRouter.java index dc6652d5d2..95b409be38 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/router/HeaderValueRouter.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/router/HeaderValueRouter.java @@ -43,7 +43,7 @@ public class HeaderValueRouter extends AbstractMessageRouter { } @Override - protected List getChannelIndicatorList(Message message) { + protected List getChannelIdentifiers(Message message) { Object value = message.getHeaders().get(this.headerName); if (value instanceof String && ((String) value).indexOf(',') != -1) { value = StringUtils.tokenizeToStringArray((String) value, ",", true, true); diff --git a/spring-integration-core/src/main/java/org/springframework/integration/router/PayloadTypeRouter.java b/spring-integration-core/src/main/java/org/springframework/integration/router/PayloadTypeRouter.java index e3f3de1a39..43c5abccd4 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/router/PayloadTypeRouter.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/router/PayloadTypeRouter.java @@ -44,7 +44,7 @@ public class PayloadTypeRouter extends AbstractMessageRouter { * preferring direct interface over indirect subclass */ @Override - protected List getChannelIndicatorList(Message message) { + protected List getChannelIdentifiers(Message message) { Class firstInterfaceMatch = null; Class type = message.getPayload().getClass(); while (type != null && !CollectionUtils.isEmpty(this.channelIdentifierMap)) { diff --git a/spring-integration-core/src/main/java/org/springframework/integration/router/RecipientListRouter.java b/spring-integration-core/src/main/java/org/springframework/integration/router/RecipientListRouter.java index 543b003bf2..cb5635751e 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/router/RecipientListRouter.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/router/RecipientListRouter.java @@ -91,7 +91,7 @@ public class RecipientListRouter extends AbstractMessageRouter implements Initia } @Override - protected List getChannelIndicatorList(Message message) { + protected List getChannelIdentifiers(Message message) { List channels = new ArrayList(); List recipientList = this.recipients; for (Recipient recipient : recipientList) { diff --git a/spring-integration-core/src/test/java/org/springframework/integration/router/MultiChannelRouterTests.java b/spring-integration-core/src/test/java/org/springframework/integration/router/MultiChannelRouterTests.java index 780e63fc25..9510075228 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/router/MultiChannelRouterTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/router/MultiChannelRouterTests.java @@ -40,7 +40,7 @@ public class MultiChannelRouterTests { public void routeWithChannelMapping() { AbstractMessageRouter router = new AbstractMessageRouter() { @SuppressWarnings("unchecked") - public List getChannelIndicatorList(Message message) { + public List getChannelIdentifiers(Message message) { return CollectionUtils.arrayToList(new String[] {"channel1", "channel2"}); } }; @@ -64,7 +64,7 @@ public class MultiChannelRouterTests { public void channelNameLookupFailure() { AbstractMessageRouter router = new AbstractMessageRouter() { @SuppressWarnings("unchecked") - public List getChannelIndicatorList(Message message) { + public List getChannelIdentifiers(Message message) { return CollectionUtils.arrayToList(new String[] {"noSuchChannel"} ); } }; @@ -78,7 +78,7 @@ public class MultiChannelRouterTests { public void channelMappingNotAvailable() { AbstractMessageRouter router = new AbstractMessageRouter() { @SuppressWarnings("unchecked") - public List getChannelIndicatorList(Message message) { + public List getChannelIdentifiers(Message message) { return CollectionUtils.arrayToList(new String[] {"noSuchChannel"}); } }; diff --git a/spring-integration-core/src/test/java/org/springframework/integration/router/PayloadTypeRouterTests.java b/spring-integration-core/src/test/java/org/springframework/integration/router/PayloadTypeRouterTests.java index e159fe552c..ed82414937 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/router/PayloadTypeRouterTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/router/PayloadTypeRouterTests.java @@ -56,17 +56,17 @@ public class PayloadTypeRouterTests { Message message1 = new GenericMessage("test"); Message message2 = new GenericMessage(123); - assertEquals(1, router.getChannelIndicatorList(message1).size()); - assertEquals("stringChannel", router.getChannelIndicatorList(message1).iterator().next()); - assertEquals(1, router.getChannelIndicatorList(message2).size()); - assertEquals("integerChannel", router.getChannelIndicatorList(message2).iterator().next()); + 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()); // validate dynamics QueueChannel newChannel = new QueueChannel(); beanFactory.registerSingleton("newChannel", newChannel); router.setChannelMapping(String.class.getName(), "newChannel"); - assertEquals(1, router.getChannelIndicatorList(message1).size()); - assertEquals("newChannel", router.getChannelIndicatorList(message1).iterator().next()); + assertEquals(1, router.getChannelIdentifiers(message1).size()); + assertEquals("newChannel", router.getChannelIdentifiers(message1).iterator().next()); // validate nothing happens if mappings were removed and resolutionRequires = false router.removeChannelMapping(String.class.getName()); router.removeChannelMapping(Integer.class.getName()); @@ -108,7 +108,7 @@ public class PayloadTypeRouterTests { QueueChannel newChannel = new QueueChannel(); beanFactory.registerSingleton("newChannel", newChannel); router.setChannelMapping(Integer.class.getName(), "newChannel"); - assertEquals(1, router.getChannelIndicatorList(message).size()); + assertEquals(1, router.getChannelIdentifiers(message).size()); router.handleMessage(message); result = newChannel.receive(10); assertNotNull(result); @@ -208,7 +208,7 @@ public class PayloadTypeRouterTests { QueueChannel newChannel = new QueueChannel(); beanFactory.registerSingleton("newChannel", newChannel); router.setChannelMapping(Integer.class.getName(), "newChannel"); - assertEquals(1, router.getChannelIndicatorList(message).size()); + assertEquals(1, router.getChannelIdentifiers(message).size()); router.handleMessage(message); result = newChannel.receive(10); assertNotNull(result); diff --git a/spring-integration-core/src/test/java/org/springframework/integration/router/RouterTests.java b/spring-integration-core/src/test/java/org/springframework/integration/router/RouterTests.java index eb71440f2b..0f6abbf4c5 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/router/RouterTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/router/RouterTests.java @@ -43,7 +43,7 @@ public class RouterTests { public void nullChannelIgnoredByDefault() { AbstractMessageRouter router = new AbstractMessageRouter() { @Override - protected List getChannelIndicatorList(Message message) { + protected List getChannelIdentifiers(Message message) { return null; } }; @@ -55,7 +55,7 @@ public class RouterTests { public void nullChannelThrowsExceptionWhenResolutionRequired() { AbstractMessageRouter router = new AbstractMessageRouter() { @Override - protected List getChannelIndicatorList(Message message) { + protected List getChannelIdentifiers(Message message) { return null; } }; @@ -68,7 +68,7 @@ public class RouterTests { public void emptyChannelListIgnoredByDefault() { AbstractMessageRouter router = new AbstractMessageRouter() { @Override - protected List getChannelIndicatorList(Message message) { + protected List getChannelIdentifiers(Message message) { return null; } }; @@ -80,7 +80,7 @@ public class RouterTests { public void emptyChannelListThrowsExceptionWhenResolutionRequired() { AbstractMessageRouter router = new AbstractMessageRouter() { @Override - protected List getChannelIndicatorList(Message message) { + protected List getChannelIdentifiers(Message message) { return null; } }; @@ -93,7 +93,7 @@ public class RouterTests { public void nullChannelNameArrayIgnoredByDefault() { AbstractMessageRouter router = new AbstractMessageRouter() { @Override - protected List getChannelIndicatorList(Message message) { + protected List getChannelIdentifiers(Message message) { return null; } }; @@ -106,7 +106,7 @@ public class RouterTests { @Test(expected = MessageDeliveryException.class) public void nullChannelNameArrayThrowsExceptionWhenResolutionRequired() { AbstractMessageRouter router = new AbstractMessageRouter() { - protected List getChannelIndicatorList(Message message) { + protected List getChannelIdentifiers(Message message) { return null; } }; @@ -121,7 +121,7 @@ public class RouterTests { @Test public void emptyChannelNameArrayIgnoredByDefault() { AbstractMessageRouter router = new AbstractMessageRouter() { - protected List getChannelIndicatorList(Message message) { + protected List getChannelIdentifiers(Message message) { return new ArrayList(); } }; @@ -135,7 +135,7 @@ public class RouterTests { public void emptyChannelNameArrayThrowsExceptionWhenResolutionRequired() { AbstractMessageRouter router = new AbstractMessageRouter() { @SuppressWarnings("unchecked") - protected List getChannelIndicatorList(Message message) { + protected List getChannelIdentifiers(Message message) { return CollectionUtils.arrayToList(new String[] {}); } }; @@ -161,7 +161,7 @@ public class RouterTests { public void channelMappingIsRequiredWhenResolvingChannelNamesWithMultiChannelRouter() { AbstractMessageRouter router = new AbstractMessageRouter() { @SuppressWarnings("unchecked") - protected List getChannelIndicatorList(Message message){ + protected List getChannelIdentifiers(Message message){ return CollectionUtils.arrayToList(new String[] { "notImportant" }); } }; @@ -189,7 +189,7 @@ public class RouterTests { public void beanFactoryWithMultiChannelRouter() { AbstractMessageRouter router = new AbstractMessageRouter() { @SuppressWarnings("unchecked") - protected List getChannelIndicatorList(Message message) { + protected List getChannelIdentifiers(Message message) { return CollectionUtils.arrayToList(new String[] { "testChannel" }); } }; diff --git a/spring-integration-core/src/test/java/org/springframework/integration/router/config/RouterParserTests.java b/spring-integration-core/src/test/java/org/springframework/integration/router/config/RouterParserTests.java index 41744a273b..9bb53576db 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/router/config/RouterParserTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/router/config/RouterParserTests.java @@ -206,7 +206,7 @@ public class RouterParserTests { @Override - protected List getChannelIndicatorList(Message message) { + protected List getChannelIdentifiers(Message message) { return Collections.singletonList((Object)this.channel); } } diff --git a/spring-integration-xml/src/main/java/org/springframework/integration/xml/router/XPathRouter.java b/spring-integration-xml/src/main/java/org/springframework/integration/xml/router/XPathRouter.java index 5833613cc1..92a301272f 100644 --- a/spring-integration-xml/src/main/java/org/springframework/integration/xml/router/XPathRouter.java +++ b/spring-integration-xml/src/main/java/org/springframework/integration/xml/router/XPathRouter.java @@ -112,7 +112,7 @@ public class XPathRouter extends AbstractMessageRouter { @Override @SuppressWarnings("unchecked") - public List getChannelIndicatorList(Message message) { + public List getChannelIdentifiers(Message message) { Node node = getConverter().convertToNode(message.getPayload()); return getXPathExpression().evaluate(node, this.nodeMapper); } diff --git a/spring-integration-xml/src/test/java/org/springframework/integration/xml/router/XPathRouterTests.java b/spring-integration-xml/src/test/java/org/springframework/integration/xml/router/XPathRouterTests.java index d340a9275d..3ed037057c 100644 --- a/spring-integration-xml/src/test/java/org/springframework/integration/xml/router/XPathRouterTests.java +++ b/spring-integration-xml/src/test/java/org/springframework/integration/xml/router/XPathRouterTests.java @@ -41,7 +41,7 @@ public class XPathRouterTests { Document doc = XmlTestUtil.getDocumentForString(""); XPathExpression expression = XPathExpressionFactory.createXPathExpression("/doc/@type"); XPathRouter router = new XPathRouter(expression); - Object[] channelNames = router.getChannelIndicatorList(new GenericMessage(doc)).toArray(); + Object[] channelNames = router.getChannelIdentifiers(new GenericMessage(doc)).toArray(); assertEquals("Wrong number of channels returned", 1, channelNames.length); assertEquals("Wrong channel name", "one", channelNames[0]); } @@ -52,7 +52,7 @@ public class XPathRouterTests { Document doc = XmlTestUtil.getDocumentForString("bOnebTwo"); XPathExpression expression = XPathExpressionFactory.createXPathExpression("/doc/book"); XPathRouter router = new XPathRouter(expression); - Object[] channelNames = router.getChannelIndicatorList(new GenericMessage(doc)).toArray(); + Object[] channelNames = router.getChannelIdentifiers(new GenericMessage(doc)).toArray(); assertEquals("Wrong number of channels returned", 2, channelNames.length); assertEquals("Wrong channel name", "bOne", channelNames[0]); assertEquals("Wrong channel name", "bTwo", channelNames[1]); @@ -63,7 +63,7 @@ public class XPathRouterTests { public void multipleNodeValuesAsString() throws Exception { XPathExpression expression = XPathExpressionFactory.createXPathExpression("/doc/book"); XPathRouter router = new XPathRouter(expression); - Object[] channelNames = router.getChannelIndicatorList(new GenericMessage("bOnebTwo")).toArray(); + Object[] channelNames = router.getChannelIdentifiers(new GenericMessage("bOnebTwo")).toArray(); assertEquals("Wrong number of channels returned", 2, channelNames.length); assertEquals("Wrong channel name", "bOne", channelNames[0]); assertEquals("Wrong channel name", "bTwo", channelNames[1]); @@ -73,14 +73,14 @@ public class XPathRouterTests { public void nonNodePayload() throws Exception { XPathExpression expression = XPathExpressionFactory.createXPathExpression("/doc/@type"); XPathRouter router = new XPathRouter(expression); - router.getChannelIndicatorList(new GenericMessage("test")); + router.getChannelIdentifiers(new GenericMessage("test")); } @Test public void nodePayload() throws Exception { XPathRouter router = new XPathRouter("./three/text()"); Document testDocument = XmlTestUtil.getDocumentForString("bobdave"); - Object[] channelNames = router.getChannelIndicatorList(new GenericMessage(testDocument.getElementsByTagName("two").item(0))).toArray(); + Object[] channelNames = router.getChannelIdentifiers(new GenericMessage(testDocument.getElementsByTagName("two").item(0))).toArray(); assertEquals("bob",channelNames[0]); assertEquals("dave",channelNames[1]); } @@ -90,7 +90,7 @@ public class XPathRouterTests { Document doc = XmlTestUtil.getDocumentForString(""); XPathExpression expression = XPathExpressionFactory.createXPathExpression("/doc/@type"); XPathRouter router = new XPathRouter(expression); - Object channelName = router.getChannelIndicatorList(new GenericMessage(doc)).toArray()[0]; + Object channelName = router.getChannelIdentifiers(new GenericMessage(doc)).toArray()[0]; assertEquals("Wrong channel name", "one", channelName); } @@ -98,7 +98,7 @@ public class XPathRouterTests { public void testSimpleStringDoc() throws Exception { XPathExpression expression = XPathExpressionFactory.createXPathExpression("/doc/@type"); XPathRouter router = new XPathRouter(expression); - Object channelName = router.getChannelIndicatorList(new GenericMessage("")).toArray()[0]; + Object channelName = router.getChannelIdentifiers(new GenericMessage("")).toArray()[0]; assertEquals("Wrong channel name", "one", channelName); } @@ -106,14 +106,14 @@ public class XPathRouterTests { public void testNonNodePayload() throws Exception { XPathExpression expression = XPathExpressionFactory.createXPathExpression("/doc/@type"); XPathRouter router = new XPathRouter(expression); - router.getChannelIndicatorList(new GenericMessage("test")); + router.getChannelIdentifiers(new GenericMessage("test")); } @Test public void testNodePayload() throws Exception { XPathRouter router = new XPathRouter("./three/text()"); Document testDocument = XmlTestUtil.getDocumentForString("bob"); - Object[] channelNames = router.getChannelIndicatorList(new GenericMessage(testDocument + Object[] channelNames = router.getChannelIdentifiers(new GenericMessage(testDocument .getElementsByTagName("two").item(0))).toArray(); assertEquals("bob", channelNames[0]); } @@ -123,7 +123,7 @@ public class XPathRouterTests { Document doc = XmlTestUtil.getDocumentForString(""); XPathExpression expression = XPathExpressionFactory.createXPathExpression("/somethingelse/@type"); XPathRouter router = new XPathRouter(expression); - List channelNames = router.getChannelIndicatorList(new GenericMessage(doc)); + List channelNames = router.getChannelIdentifiers(new GenericMessage(doc)); assertEquals(0, channelNames.size()); }