From 0821412040ca1cd33828b6e6dcf9bb2313fbd49e Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Mon, 15 Nov 2010 14:42:29 -0500 Subject: [PATCH] INT-1614 refactored outbound parsers to inherit from the base class --- ...bstractFtpInboundChannelAdapterParser.java | 19 ++++++-- ...stractFtpOutboundChannelAdapterParser.java | 43 +++++++++++++++++++ .../FtpOutboundChannelAdapterParser.java | 20 +++------ .../FtpsOutboundChannelAdapterParser.java | 20 +++------ 4 files changed, 69 insertions(+), 33 deletions(-) create mode 100644 spring-integration-ftp/src/main/java/org/springframework/integration/ftp/config/AbstractFtpOutboundChannelAdapterParser.java diff --git a/spring-integration-ftp/src/main/java/org/springframework/integration/ftp/config/AbstractFtpInboundChannelAdapterParser.java b/spring-integration-ftp/src/main/java/org/springframework/integration/ftp/config/AbstractFtpInboundChannelAdapterParser.java index 086ee9cc85..67efd94232 100644 --- a/spring-integration-ftp/src/main/java/org/springframework/integration/ftp/config/AbstractFtpInboundChannelAdapterParser.java +++ b/spring-integration-ftp/src/main/java/org/springframework/integration/ftp/config/AbstractFtpInboundChannelAdapterParser.java @@ -1,5 +1,17 @@ -/** - * +/* + * 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.ftp.config; @@ -18,7 +30,8 @@ import org.springframework.integration.config.xml.AbstractPollingInboundChannelA import org.springframework.integration.config.xml.IntegrationNamespaceUtils; /** - * @author ozhurakousky + * @author Oleg Zhurakousky + * @since 2.0 * */ public abstract class AbstractFtpInboundChannelAdapterParser extends AbstractPollingInboundChannelAdapterParser { diff --git a/spring-integration-ftp/src/main/java/org/springframework/integration/ftp/config/AbstractFtpOutboundChannelAdapterParser.java b/spring-integration-ftp/src/main/java/org/springframework/integration/ftp/config/AbstractFtpOutboundChannelAdapterParser.java new file mode 100644 index 0000000000..87a17b0425 --- /dev/null +++ b/spring-integration-ftp/src/main/java/org/springframework/integration/ftp/config/AbstractFtpOutboundChannelAdapterParser.java @@ -0,0 +1,43 @@ +/* + * 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.ftp.config; + +import org.w3c.dom.Element; + +import org.springframework.beans.factory.support.AbstractBeanDefinition; +import org.springframework.beans.factory.support.BeanDefinitionBuilder; +import org.springframework.beans.factory.xml.ParserContext; +import org.springframework.integration.config.xml.AbstractOutboundChannelAdapterParser; +import org.springframework.integration.config.xml.IntegrationNamespaceUtils; + +/** + * @author Oleg Zhurakousky + * @since 2.0 + */ +public abstract class AbstractFtpOutboundChannelAdapterParser extends AbstractOutboundChannelAdapterParser { + + @Override + protected AbstractBeanDefinition parseConsumer(Element element, ParserContext parserContext) { + BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition( + FtpSendingMessageHandlerFactoryBean.class.getName()); + IntegrationNamespaceUtils.setValueIfAttributeDefined(builder,element,"charset"); + IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder,element,"filename-generator", "fileNameGenerator"); + FtpNamespaceParserSupport.configureCoreFtpClient(builder, element, parserContext); + return builder.getBeanDefinition(); + } + + protected abstract String getClassName(); +} diff --git a/spring-integration-ftp/src/main/java/org/springframework/integration/ftp/config/FtpOutboundChannelAdapterParser.java b/spring-integration-ftp/src/main/java/org/springframework/integration/ftp/config/FtpOutboundChannelAdapterParser.java index 4265fad312..4f510df06d 100644 --- a/spring-integration-ftp/src/main/java/org/springframework/integration/ftp/config/FtpOutboundChannelAdapterParser.java +++ b/spring-integration-ftp/src/main/java/org/springframework/integration/ftp/config/FtpOutboundChannelAdapterParser.java @@ -16,29 +16,19 @@ package org.springframework.integration.ftp.config; -import org.springframework.beans.factory.support.AbstractBeanDefinition; -import org.springframework.beans.factory.support.BeanDefinitionBuilder; -import org.springframework.beans.factory.xml.ParserContext; -import org.springframework.integration.config.xml.AbstractOutboundChannelAdapterParser; -import org.springframework.integration.config.xml.IntegrationNamespaceUtils; - -import org.w3c.dom.Element; /** * Logic for parsing the ftp:outbound-channel-adapter * * @author Josh Long + * @author Oleg Zhurakousky + * @since 2.0 */ -public class FtpOutboundChannelAdapterParser extends AbstractOutboundChannelAdapterParser { +public class FtpOutboundChannelAdapterParser extends AbstractFtpOutboundChannelAdapterParser { @Override - protected AbstractBeanDefinition parseConsumer(Element element, ParserContext parserContext) { - BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition( - FtpSendingMessageHandlerFactoryBean.class.getName()); - IntegrationNamespaceUtils.setValueIfAttributeDefined(builder,element,"charset"); - IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder,element,"filename-generator", "fileNameGenerator"); - FtpNamespaceParserSupport.configureCoreFtpClient(builder, element, parserContext); - return builder.getBeanDefinition(); + protected String getClassName() { + return "org.springframework.integration.ftp.config.FtpSendingMessageHandlerFactoryBean"; } } diff --git a/spring-integration-ftp/src/main/java/org/springframework/integration/ftp/config/FtpsOutboundChannelAdapterParser.java b/spring-integration-ftp/src/main/java/org/springframework/integration/ftp/config/FtpsOutboundChannelAdapterParser.java index 307ad984b7..c8445668a3 100644 --- a/spring-integration-ftp/src/main/java/org/springframework/integration/ftp/config/FtpsOutboundChannelAdapterParser.java +++ b/spring-integration-ftp/src/main/java/org/springframework/integration/ftp/config/FtpsOutboundChannelAdapterParser.java @@ -16,28 +16,18 @@ package org.springframework.integration.ftp.config; -import org.w3c.dom.Element; - -import org.springframework.beans.factory.support.AbstractBeanDefinition; -import org.springframework.beans.factory.support.BeanDefinitionBuilder; -import org.springframework.beans.factory.xml.ParserContext; -import org.springframework.integration.config.xml.AbstractOutboundChannelAdapterParser; -import org.springframework.integration.config.xml.IntegrationNamespaceUtils; - /** * Parser for the FTPS outbound-channel-adapter * * @author Josh Long + * @author Oleg Zhurakousky + * @since 2.0 */ -public class FtpsOutboundChannelAdapterParser extends AbstractOutboundChannelAdapterParser { +public class FtpsOutboundChannelAdapterParser extends AbstractFtpOutboundChannelAdapterParser { @Override - protected AbstractBeanDefinition parseConsumer(Element element, ParserContext parserContext) { - BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition( - FtpsSendingMessageHandlerFactoryBean.class.getName()); - IntegrationNamespaceUtils.setValueIfAttributeDefined(builder,element,"charset"); - FtpNamespaceParserSupport.configureCoreFtpClient(builder, element, parserContext); - return builder.getBeanDefinition(); + protected String getClassName() { + return "org.springframework.integration.ftp.config.FtpsSendingMessageHandlerFactoryBean"; } }