From 8e2daea5031c820e0237fc35b1684ab86ed61d72 Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Wed, 10 Nov 2010 08:55:20 -0500 Subject: [PATCH] INT-1377 removed unused AbstractSingleChannelNameRouter class --- .../AbstractSingleChannelNameRouter.java | 47 -------------- .../integration/router/RouterTests.java | 63 ++++++++++--------- 2 files changed, 32 insertions(+), 78 deletions(-) delete mode 100644 spring-integration-core/src/main/java/org/springframework/integration/router/AbstractSingleChannelNameRouter.java 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 deleted file mode 100644 index 3786647d8a..0000000000 --- a/spring-integration-core/src/main/java/org/springframework/integration/router/AbstractSingleChannelNameRouter.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2002-2010 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.integration.router; - -import java.util.ArrayList; -import java.util.List; - -import org.springframework.integration.Message; - -/** - * Extends {@link AbstractMessageRouter} to support router - * implementations that always return a single channel name (or null). - * - * @author Mark Fisher - */ -public abstract class AbstractSingleChannelNameRouter extends AbstractMessageRouter { - - @Override - protected final List getChannelIdentifiers(Message message) { - List channelList = new ArrayList(); - String channelName = determineTargetChannelName(message); - if(channelName != null){ - channelList.add(channelName); - } - return channelList; - } - - /** - * Subclasses must implement this method to return the channel name. - */ - protected abstract String determineTargetChannelName(Message message); - -} 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 0f6abbf4c5..6cfa951012 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 @@ -20,6 +20,7 @@ import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import org.junit.Test; @@ -90,7 +91,7 @@ public class RouterTests { } @Test - public void nullChannelNameArrayIgnoredByDefault() { + public void nullChannelIdentifierIgnoredByDefault() { AbstractMessageRouter router = new AbstractMessageRouter() { @Override protected List getChannelIdentifiers(Message message) { @@ -103,8 +104,22 @@ public class RouterTests { router.handleMessage(message); } + @Test + public void nullChannelIdentifierInListIgnoredByDefault() { + AbstractMessageRouter router = new AbstractMessageRouter() { + @Override + protected List getChannelIdentifiers(Message message) { + return Collections.singletonList(null); + } + }; + TestChannelResolver channelResolver = new TestChannelResolver(); + router.setChannelResolver(channelResolver); + Message message = new GenericMessage("test"); + router.handleMessage(message); + } + @Test(expected = MessageDeliveryException.class) - public void nullChannelNameArrayThrowsExceptionWhenResolutionRequired() { + public void nullChannelIdentifierTriggersExceptionWhenResolutionRequired() { AbstractMessageRouter router = new AbstractMessageRouter() { protected List getChannelIdentifiers(Message message) { return null; @@ -117,6 +132,19 @@ public class RouterTests { router.handleMessage(message); } + @Test(expected = MessageDeliveryException.class) + public void nullChannelIdentifierInListTriggersExceptionWhenResolutionRequired() { + AbstractMessageRouter router = new AbstractMessageRouter() { + protected List getChannelIdentifiers(Message message) { + return Collections.singletonList(null); + } + }; + TestChannelResolver channelResolver = new TestChannelResolver(); + router.setChannelResolver(channelResolver); + router.setResolutionRequired(true); + Message message = new GenericMessage("test"); + router.handleMessage(message); + } @Test public void emptyChannelNameArrayIgnoredByDefault() { @@ -147,18 +175,7 @@ public class RouterTests { } @Test(expected = MessagingException.class) - public void channelMappingIsRequiredWhenResolvingChannelNamesWithSingleChannelRouter() { - AbstractSingleChannelNameRouter router = new AbstractSingleChannelNameRouter() { - public String determineTargetChannelName(Message message) { - return "notImportant"; - } - }; - router.setBeanFactory(mock(BeanFactory.class)); - router.handleMessage(new GenericMessage("this should fail")); - } - - @Test(expected = MessagingException.class) - public void channelMappingIsRequiredWhenResolvingChannelNamesWithMultiChannelRouter() { + public void channelMappingIsRequiredWhenResolvingChannelNames() { AbstractMessageRouter router = new AbstractMessageRouter() { @SuppressWarnings("unchecked") protected List getChannelIdentifiers(Message message){ @@ -170,23 +187,7 @@ public class RouterTests { } @Test - public void beanFactoryWithSingleChannelRouter() { - AbstractSingleChannelNameRouter router = new AbstractSingleChannelNameRouter() { - public String determineTargetChannelName(Message message) { - return "testChannel"; - } - }; - QueueChannel testChannel = new QueueChannel(); - GenericApplicationContext context = new GenericApplicationContext(); - context.getBeanFactory().registerSingleton("testChannel", testChannel); - router.setBeanFactory(context); - router.handleMessage(new GenericMessage("test")); - Message reply = testChannel.receive(0); - assertEquals("test", reply.getPayload()); - } - - @Test - public void beanFactoryWithMultiChannelRouter() { + public void beanFactoryWithRouter() { AbstractMessageRouter router = new AbstractMessageRouter() { @SuppressWarnings("unchecked") protected List getChannelIdentifiers(Message message) {