From 039679b173c24ffd41ed8bf86c508981d28d1743 Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Mon, 29 Sep 2008 15:06:27 +0000 Subject: [PATCH] Using Asserts with IllegalArgumentException/IllegalStateException instead of ConfigurationException. --- .../file/config/FileInboundChannelAdapterParser.java | 7 +++---- .../jms/AbstractJmsTemplateBasedAdapter.java | 10 +++++----- .../springframework/integration/jms/JmsGateway.java | 9 ++++----- .../endpoint/AbstractMessageConsumingEndpoint.java | 11 ++++------- 4 files changed, 16 insertions(+), 21 deletions(-) diff --git a/org.springframework.integration.file/src/main/java/org/springframework/integration/file/config/FileInboundChannelAdapterParser.java b/org.springframework.integration.file/src/main/java/org/springframework/integration/file/config/FileInboundChannelAdapterParser.java index 095a990eb3..bd23029499 100644 --- a/org.springframework.integration.file/src/main/java/org/springframework/integration/file/config/FileInboundChannelAdapterParser.java +++ b/org.springframework.integration.file/src/main/java/org/springframework/integration/file/config/FileInboundChannelAdapterParser.java @@ -23,12 +23,12 @@ import org.w3c.dom.Element; import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.support.BeanDefinitionReaderUtils; import org.springframework.beans.factory.xml.ParserContext; -import org.springframework.integration.ConfigurationException; import org.springframework.integration.config.AbstractPollingInboundChannelAdapterParser; import org.springframework.integration.file.AcceptOnceFileListFilter; import org.springframework.integration.file.CompositeFileListFilter; import org.springframework.integration.file.PatternMatchingFileListFilter; import org.springframework.integration.file.PollableFileSource; +import org.springframework.util.Assert; import org.springframework.util.StringUtils; /** @@ -52,9 +52,8 @@ public class FileInboundChannelAdapterParser extends AbstractPollingInboundChann } String filenamePattern = element.getAttribute("filename-pattern"); if (StringUtils.hasText(filenamePattern)) { - if (StringUtils.hasText(filter)) { - throw new ConfigurationException("at most one of 'filter' and 'filename-pattern' may be provided"); - } + Assert.isTrue(!StringUtils.hasText(filter), + "at most one of 'filter' and 'filename-pattern' may be provided"); AcceptOnceFileListFilter acceptOnceFilter = new AcceptOnceFileListFilter(); Pattern pattern = Pattern.compile(filenamePattern); PatternMatchingFileListFilter patternFilter = new PatternMatchingFileListFilter(pattern); diff --git a/org.springframework.integration.jms/src/main/java/org/springframework/integration/jms/AbstractJmsTemplateBasedAdapter.java b/org.springframework.integration.jms/src/main/java/org/springframework/integration/jms/AbstractJmsTemplateBasedAdapter.java index cb2d3a9981..49c4615a67 100644 --- a/org.springframework.integration.jms/src/main/java/org/springframework/integration/jms/AbstractJmsTemplateBasedAdapter.java +++ b/org.springframework.integration.jms/src/main/java/org/springframework/integration/jms/AbstractJmsTemplateBasedAdapter.java @@ -20,10 +20,10 @@ import javax.jms.ConnectionFactory; import javax.jms.Destination; import org.springframework.beans.factory.InitializingBean; -import org.springframework.integration.ConfigurationException; import org.springframework.integration.adapter.MessageHeaderMapper; import org.springframework.jms.core.JmsTemplate; import org.springframework.jms.support.converter.MessageConverter; +import org.springframework.util.Assert; /** * Base class for adapters that delegate to a {@link JmsTemplate}. @@ -104,10 +104,10 @@ public abstract class AbstractJmsTemplateBasedAdapter implements InitializingBea return; } if (this.jmsTemplate == null) { - if (this.connectionFactory == null || (this.destination == null && this.destinationName == null)) { - throw new ConfigurationException("Either a 'jmsTemplate' or " + - "*both* 'connectionFactory' and 'destination' (or 'destination-name') are required."); - } + Assert.isTrue(this.connectionFactory != null + && (this.destination != null || this.destinationName != null), + "Either a 'jmsTemplate' or *both* 'connectionFactory' and" + + " 'destination' (or 'destination-name') are required."); this.jmsTemplate = this.createDefaultJmsTemplate(); } MessageConverter converter = this.jmsTemplate.getMessageConverter(); diff --git a/org.springframework.integration.jms/src/main/java/org/springframework/integration/jms/JmsGateway.java b/org.springframework.integration.jms/src/main/java/org/springframework/integration/jms/JmsGateway.java index 2702eb201b..6483e9d80d 100644 --- a/org.springframework.integration.jms/src/main/java/org/springframework/integration/jms/JmsGateway.java +++ b/org.springframework.integration.jms/src/main/java/org/springframework/integration/jms/JmsGateway.java @@ -23,7 +23,6 @@ import javax.jms.Session; import org.springframework.beans.factory.DisposableBean; import org.springframework.context.Lifecycle; import org.springframework.core.task.TaskExecutor; -import org.springframework.integration.ConfigurationException; import org.springframework.integration.gateway.SimpleMessagingGateway; import org.springframework.jms.listener.AbstractMessageListenerContainer; import org.springframework.jms.listener.DefaultMessageListenerContainer; @@ -147,10 +146,10 @@ public class JmsGateway extends SimpleMessagingGateway implements Lifecycle, Dis } private AbstractMessageListenerContainer createDefaultContainer() { - if (this.connectionFactory == null || (this.destination == null && this.destinationName == null)) { - throw new ConfigurationException("If a 'container' reference is not provided, then " - + "'connectionFactory' and 'destination' (or 'destinationName') are required."); - } + Assert.isTrue(this.connectionFactory != null + && (this.destination != null || this.destinationName != null), + "If a 'container' reference is not provided, then 'connectionFactory'" + + " and 'destination' (or 'destinationName') are required."); DefaultMessageListenerContainer dmlc = new DefaultMessageListenerContainer(); dmlc.setConcurrentConsumers(this.concurrentConsumers); dmlc.setMaxConcurrentConsumers(this.maxConcurrentConsumers); diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/endpoint/AbstractMessageConsumingEndpoint.java b/org.springframework.integration/src/main/java/org/springframework/integration/endpoint/AbstractMessageConsumingEndpoint.java index 5454e5d435..60b98b530e 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/endpoint/AbstractMessageConsumingEndpoint.java +++ b/org.springframework.integration/src/main/java/org/springframework/integration/endpoint/AbstractMessageConsumingEndpoint.java @@ -20,7 +20,6 @@ import java.util.concurrent.ScheduledFuture; import org.springframework.context.Lifecycle; import org.springframework.core.task.TaskExecutor; -import org.springframework.integration.ConfigurationException; import org.springframework.integration.channel.MessageChannel; import org.springframework.integration.channel.PollableChannel; import org.springframework.integration.message.Message; @@ -30,6 +29,7 @@ import org.springframework.integration.message.MessagingException; import org.springframework.integration.message.Subscribable; import org.springframework.integration.scheduling.IntervalTrigger; import org.springframework.integration.scheduling.Trigger; +import org.springframework.util.Assert; /** * The base class for Message Endpoint implementations that consume Messages. @@ -104,16 +104,13 @@ public abstract class AbstractMessageConsumingEndpoint extends AbstractEndpoint if (!this.initialized) { this.afterPropertiesSet(); } - if (this.inputChannel == null) { - throw new ConfigurationException("failed to start endpoint, inputChannel is required"); - } + Assert.notNull(this.inputChannel, "failed to start endpoint, inputChannel is required"); if (this.inputChannel instanceof Subscribable) { ((Subscribable) inputChannel).subscribe(this); } else if (this.inputChannel instanceof PollableChannel) { - if (this.getTaskScheduler() == null) { - throw new ConfigurationException("failed to start endpoint, no taskScheduler available"); - } + Assert.notNull(this.getTaskScheduler(), + "failed to start endpoint, no taskScheduler available"); this.pollerFuture = this.getTaskScheduler().schedule(this.poller, this.poller.getTrigger()); } this.running = true;