From fda3c380b1ee5853b2d6493c67747606992a926f Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Tue, 16 Nov 2010 13:28:00 -0500 Subject: [PATCH] INT-1614 polished test directory structure, exposed auto-startup attribute on Inbound adapter --- ...SynchronizingMessageSourceFactoryBean.java | 23 ++++++++++++++----- .../sftp/config/SftpNamespaceHandler.java | 2 +- ...eFileSystemSynchronizingMessageSource.java | 1 + .../config/spring-integration-sftp-2.0.xsd | 1 + .../{ => config}/MessageHistory-context.xml | 6 ++--- .../{ => config}/SftpMessageHistoryTest.java | 2 +- .../SftpParserTests-inbound-all-fail.xml | 2 +- .../SftpParserTests-inbound-all.xml | 2 +- .../sftp/{ => config}/SftpParserTests.java | 2 +- .../integration/sftp/{ => config}/sftpTest | 0 10 files changed, 27 insertions(+), 14 deletions(-) rename spring-integration-sftp/src/test/java/org/springframework/integration/sftp/{ => config}/MessageHistory-context.xml (95%) rename spring-integration-sftp/src/test/java/org/springframework/integration/sftp/{ => config}/SftpMessageHistoryTest.java (96%) rename spring-integration-sftp/src/test/java/org/springframework/integration/sftp/{ => config}/SftpParserTests-inbound-all-fail.xml (98%) rename spring-integration-sftp/src/test/java/org/springframework/integration/sftp/{ => config}/SftpParserTests-inbound-all.xml (98%) rename spring-integration-sftp/src/test/java/org/springframework/integration/sftp/{ => config}/SftpParserTests.java (97%) rename spring-integration-sftp/src/test/java/org/springframework/integration/sftp/{ => config}/sftpTest (100%) diff --git a/spring-integration-sftp/src/main/java/org/springframework/integration/sftp/config/SftpInboundRemoteFileSystemSynchronizingMessageSourceFactoryBean.java b/spring-integration-sftp/src/main/java/org/springframework/integration/sftp/config/SftpInboundRemoteFileSystemSynchronizingMessageSourceFactoryBean.java index 0c03dfec1e..b5b46080a7 100644 --- a/spring-integration-sftp/src/main/java/org/springframework/integration/sftp/config/SftpInboundRemoteFileSystemSynchronizingMessageSourceFactoryBean.java +++ b/spring-integration-sftp/src/main/java/org/springframework/integration/sftp/config/SftpInboundRemoteFileSystemSynchronizingMessageSourceFactoryBean.java @@ -61,14 +61,20 @@ class SftpInboundRemoteFileSystemSynchronizingMessageSourceFactoryBean private volatile FileListFilter filter; private volatile SftpSessionFactory sftpSessionFactory; + + private volatile boolean autoStartup; + + private String remoteDirectory; + public void setAutoStartup(boolean autoStartup) { + this.autoStartup = autoStartup; + } + public void setSftpSessionFactory(SftpSessionFactory sftpSessionFactory) { this.sftpSessionFactory = sftpSessionFactory; } - private String remoteDirectory; - public void setLocalDirectoryResource(Resource localDirectoryResource) { this.localDirectoryResource = localDirectoryResource; } @@ -158,17 +164,22 @@ class SftpInboundRemoteFileSystemSynchronizingMessageSourceFactoryBean sftpSync.setBeanFactory(this.getBeanFactory()); sftpSync.setRemotePath(this.remoteDirectory); sftpSync.afterPropertiesSet(); - sftpSync.start(); - + sftpSync.setAutoStartup(this.autoStartup); + if (this.autoStartup){ + sftpSync.start(); + } sftpMsgSrc.setRemotePredicate(compositeFtpFileListFilter); sftpMsgSrc.setSynchronizer(sftpSync); sftpMsgSrc.setClientPool(pool); sftpMsgSrc.setRemotePath(this.remoteDirectory); sftpMsgSrc.setLocalDirectory(this.localDirectoryResource); sftpMsgSrc.setBeanFactory(this.getBeanFactory()); - sftpMsgSrc.setAutoStartup(true); sftpMsgSrc.afterPropertiesSet(); - sftpMsgSrc.start(); + sftpMsgSrc.setAutoStartup(this.autoStartup); + if (this.autoStartup){ + sftpMsgSrc.start(); + } + return sftpMsgSrc; } diff --git a/spring-integration-sftp/src/main/java/org/springframework/integration/sftp/config/SftpNamespaceHandler.java b/spring-integration-sftp/src/main/java/org/springframework/integration/sftp/config/SftpNamespaceHandler.java index 389b00090d..db78196987 100644 --- a/spring-integration-sftp/src/main/java/org/springframework/integration/sftp/config/SftpNamespaceHandler.java +++ b/spring-integration-sftp/src/main/java/org/springframework/integration/sftp/config/SftpNamespaceHandler.java @@ -53,7 +53,7 @@ public class SftpNamespaceHandler extends AbstractIntegrationNamespaceHandler { protected BeanMetadataElement parseSource(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(SftpInboundRemoteFileSystemSynchronizingMessageSourceFactoryBean.class.getName()); IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element, "filter"); - for (String p : "filename-pattern,auto-create-directories,remote-directory,local-directory-path,auto-delete-remote-files-on-sync".split(",")) { + for (String p : "auto-startup,filename-pattern,auto-create-directories,remote-directory,local-directory-path,auto-delete-remote-files-on-sync".split(",")) { IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, p); } IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element, "session-factory", "sftpSessionFactory"); diff --git a/spring-integration-sftp/src/main/java/org/springframework/integration/sftp/inbound/SftpInboundRemoteFileSystemSynchronizingMessageSource.java b/spring-integration-sftp/src/main/java/org/springframework/integration/sftp/inbound/SftpInboundRemoteFileSystemSynchronizingMessageSource.java index 45f6269094..44972d3827 100644 --- a/spring-integration-sftp/src/main/java/org/springframework/integration/sftp/inbound/SftpInboundRemoteFileSystemSynchronizingMessageSource.java +++ b/spring-integration-sftp/src/main/java/org/springframework/integration/sftp/inbound/SftpInboundRemoteFileSystemSynchronizingMessageSource.java @@ -77,6 +77,7 @@ public class SftpInboundRemoteFileSystemSynchronizingMessageSource extends Abstr try { session = this.clientPool.getSession(); Assert.state(session != null, "session as returned from the pool should not be null. " + "If it is, it is most likely an error in the pool implementation. "); + session.start(); channelSftp = session.getChannel(); diff --git a/spring-integration-sftp/src/main/resources/org/springframework/integration/sftp/config/spring-integration-sftp-2.0.xsd b/spring-integration-sftp/src/main/resources/org/springframework/integration/sftp/config/spring-integration-sftp-2.0.xsd index 7633181e06..f427b65973 100644 --- a/spring-integration-sftp/src/main/resources/org/springframework/integration/sftp/config/spring-integration-sftp-2.0.xsd +++ b/spring-integration-sftp/src/main/resources/org/springframework/integration/sftp/config/spring-integration-sftp-2.0.xsd @@ -58,6 +58,7 @@ + diff --git a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/MessageHistory-context.xml b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/MessageHistory-context.xml similarity index 95% rename from spring-integration-sftp/src/test/java/org/springframework/integration/sftp/MessageHistory-context.xml rename to spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/MessageHistory-context.xml index d638cd7f9c..f80241ebfb 100644 --- a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/MessageHistory-context.xml +++ b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/MessageHistory-context.xml @@ -20,11 +20,10 @@ - - + @@ -33,12 +32,13 @@ - + diff --git a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/SftpMessageHistoryTest.java b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/SftpMessageHistoryTest.java similarity index 96% rename from spring-integration-sftp/src/test/java/org/springframework/integration/sftp/SftpMessageHistoryTest.java rename to spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/SftpMessageHistoryTest.java index 2f32a443b9..9dc3b6f0ca 100644 --- a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/SftpMessageHistoryTest.java +++ b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/SftpMessageHistoryTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.integration.sftp; +package org.springframework.integration.sftp.config; import static junit.framework.Assert.assertEquals; diff --git a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/SftpParserTests-inbound-all-fail.xml b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/SftpParserTests-inbound-all-fail.xml similarity index 98% rename from spring-integration-sftp/src/test/java/org/springframework/integration/sftp/SftpParserTests-inbound-all-fail.xml rename to spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/SftpParserTests-inbound-all-fail.xml index 3f7aaebb16..56831a6f15 100644 --- a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/SftpParserTests-inbound-all-fail.xml +++ b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/SftpParserTests-inbound-all-fail.xml @@ -23,7 +23,7 @@ - + diff --git a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/SftpParserTests-inbound-all.xml b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/SftpParserTests-inbound-all.xml similarity index 98% rename from spring-integration-sftp/src/test/java/org/springframework/integration/sftp/SftpParserTests-inbound-all.xml rename to spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/SftpParserTests-inbound-all.xml index c704ee0b13..7e5310e2de 100644 --- a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/SftpParserTests-inbound-all.xml +++ b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/SftpParserTests-inbound-all.xml @@ -23,7 +23,7 @@ - + diff --git a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/SftpParserTests.java b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/SftpParserTests.java similarity index 97% rename from spring-integration-sftp/src/test/java/org/springframework/integration/sftp/SftpParserTests.java rename to spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/SftpParserTests.java index 180afa4b08..5726462b00 100644 --- a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/SftpParserTests.java +++ b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/SftpParserTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.integration.sftp; +package org.springframework.integration.sftp.config; import static junit.framework.Assert.assertTrue; diff --git a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/sftpTest b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/sftpTest similarity index 100% rename from spring-integration-sftp/src/test/java/org/springframework/integration/sftp/sftpTest rename to spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/sftpTest