From afec85a6e2302b5529846a2df5a9f2b80498cad1 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Thu, 18 Nov 2010 03:23:09 -0500 Subject: [PATCH] INTSAMPLES-12 added SFTP sample --- basic/sftp/.classpath | 8 +++ basic/sftp/.gitignore | 1 + basic/sftp/.project | 23 ++++++ .../com.springsource.sts.config.flow.prefs | 5 ++ .../sftp/.settings/org.eclipse.jdt.core.prefs | 13 ++++ .../.settings/org.maven.ide.eclipse.prefs | 9 +++ basic/sftp/pom.xml | 64 +++++++++++++++++ basic/sftp/readme.txt | 68 ++++++++++++++++++ basic/sftp/remote-source-dir/a.txt | 1 + basic/sftp/remote-source-dir/b.txt | 1 + basic/sftp/remote-source-dir/c.bar | 1 + basic/sftp/remote-target-dir/.nothing | 0 .../sftp/SftpInboundReceiveSample.java | 26 +++++++ .../sftp/SftpOutboundTransferSample.java | 52 ++++++++++++++ .../src/test/resources/META-INF/keys/sftp_rsa | 30 ++++++++ .../SftpInboundReceiveSample-context.xml | 39 ++++++++++ .../SftpOutboundTransferSample-context.xml | 30 ++++++++ .../sftp/src/test/resources/log4j.properties | 9 +++ basic/sftp/src/test/resources/user.properties | 2 + .../test-classes/META-INF/keys/sftp_rsa | 30 ++++++++ .../SftpInboundReceiveSample-context.xml | 39 ++++++++++ .../SftpOutboundTransferSample-context.xml | 30 ++++++++ .../sftp/target/test-classes/log4j.properties | 9 +++ .../sftp/SftpInboundReceiveSample.class | Bin 0 -> 1764 bytes .../sftp/SftpOutboundTransferSample.class | Bin 0 -> 2162 bytes .../sftp/target/test-classes/user.properties | 2 + 26 files changed, 492 insertions(+) create mode 100644 basic/sftp/.classpath create mode 100644 basic/sftp/.gitignore create mode 100644 basic/sftp/.project create mode 100644 basic/sftp/.settings/com.springsource.sts.config.flow.prefs create mode 100644 basic/sftp/.settings/org.eclipse.jdt.core.prefs create mode 100644 basic/sftp/.settings/org.maven.ide.eclipse.prefs create mode 100644 basic/sftp/pom.xml create mode 100644 basic/sftp/readme.txt create mode 100644 basic/sftp/remote-source-dir/a.txt create mode 100644 basic/sftp/remote-source-dir/b.txt create mode 100644 basic/sftp/remote-source-dir/c.bar create mode 100644 basic/sftp/remote-target-dir/.nothing create mode 100644 basic/sftp/src/test/java/org/springframework/integration/samples/sftp/SftpInboundReceiveSample.java create mode 100644 basic/sftp/src/test/java/org/springframework/integration/samples/sftp/SftpOutboundTransferSample.java create mode 100644 basic/sftp/src/test/resources/META-INF/keys/sftp_rsa create mode 100644 basic/sftp/src/test/resources/META-INF/spring/integration/SftpInboundReceiveSample-context.xml create mode 100644 basic/sftp/src/test/resources/META-INF/spring/integration/SftpOutboundTransferSample-context.xml create mode 100644 basic/sftp/src/test/resources/log4j.properties create mode 100644 basic/sftp/src/test/resources/user.properties create mode 100644 basic/sftp/target/test-classes/META-INF/keys/sftp_rsa create mode 100644 basic/sftp/target/test-classes/META-INF/spring/integration/SftpInboundReceiveSample-context.xml create mode 100644 basic/sftp/target/test-classes/META-INF/spring/integration/SftpOutboundTransferSample-context.xml create mode 100644 basic/sftp/target/test-classes/log4j.properties create mode 100644 basic/sftp/target/test-classes/org/springframework/integration/samples/sftp/SftpInboundReceiveSample.class create mode 100644 basic/sftp/target/test-classes/org/springframework/integration/samples/sftp/SftpOutboundTransferSample.class create mode 100644 basic/sftp/target/test-classes/user.properties diff --git a/basic/sftp/.classpath b/basic/sftp/.classpath new file mode 100644 index 00000000..caf88e10 --- /dev/null +++ b/basic/sftp/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/basic/sftp/.gitignore b/basic/sftp/.gitignore new file mode 100644 index 00000000..63cec733 --- /dev/null +++ b/basic/sftp/.gitignore @@ -0,0 +1 @@ +/local-dir diff --git a/basic/sftp/.project b/basic/sftp/.project new file mode 100644 index 00000000..9dc67310 --- /dev/null +++ b/basic/sftp/.project @@ -0,0 +1,23 @@ + + + sftp + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.maven.ide.eclipse.maven2Nature + + diff --git a/basic/sftp/.settings/com.springsource.sts.config.flow.prefs b/basic/sftp/.settings/com.springsource.sts.config.flow.prefs new file mode 100644 index 00000000..60187c9d --- /dev/null +++ b/basic/sftp/.settings/com.springsource.sts.config.flow.prefs @@ -0,0 +1,5 @@ +#Thu Nov 18 03:08:02 EST 2010 +//com.springsource.sts.config.flow.coordinates\:http\://www.springframework.org/schema/integration\:/sftp/src/main/resources/META-INF/spring/integration/SftpInboundReceiveSample-context.xml=\n\n\n\n\n\n\n\n\n\n +//com.springsource.sts.config.flow.coordinates\:http\://www.springframework.org/schema/integration\:/sftp/src/test/resources/META-INF/spring/integration/SftpInboundReceiveSample-context.xml=\n\n\n\n\n\n\n\n\n\n +//com.springsource.sts.config.flow.coordinates\:http\://www.springframework.org/schema/integration\:/sftp/src/test/resources/META-INF/spring/integration/SftpOutboundTransferSample-context.xml=\n\n\n\n\n\n\n\n\n\n +eclipse.preferences.version=1 diff --git a/basic/sftp/.settings/org.eclipse.jdt.core.prefs b/basic/sftp/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..f1e2edf4 --- /dev/null +++ b/basic/sftp/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,13 @@ +#Thu Nov 18 02:10:39 EST 2010 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/basic/sftp/.settings/org.maven.ide.eclipse.prefs b/basic/sftp/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 00000000..54ea68f3 --- /dev/null +++ b/basic/sftp/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Thu Nov 18 01:42:05 EST 2010 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/basic/sftp/pom.xml b/basic/sftp/pom.xml new file mode 100644 index 00000000..31b64c41 --- /dev/null +++ b/basic/sftp/pom.xml @@ -0,0 +1,64 @@ + + 4.0.0 + org.springframework.integration.samples + sftp + 2.0.0 + SFTP Demo + jar + + 2.0.0.BUILD-SNAPSHOT + 1.2.16 + 4.7 + + + + org.springframework.integration + spring-integration-sftp + ${spring.integration.version} + + + log4j + log4j + ${log4j.version} + + + + junit + junit + ${junit.version} + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + -Xlint:all + true + false + + + + + + + repository.springframework.maven.release + Spring Framework Maven Release Repository + http://maven.springframework.org/release + + + repository.springframework.maven.milestone + Spring Framework Maven Milestone Repository + http://maven.springframework.org/milestone + + + repository.springframework.maven.snapshot + Spring Framework Maven Snapshot Repository + http://maven.springframework.org/snapshot + + + \ No newline at end of file diff --git a/basic/sftp/readme.txt b/basic/sftp/readme.txt new file mode 100644 index 00000000..1f7b7d96 --- /dev/null +++ b/basic/sftp/readme.txt @@ -0,0 +1,68 @@ +This example demonstrates the following aspects of the SFTP support available with Spring Integration: +1. SFTP Inbound Channel Adapter (transfers files from remote to local directory) +2. SFTP Outbound Channel Adapter (transfers files from local to the remote directory) + +In order to run this sample you need to + 1. generate private/public keys. Below is simple directions what needs to be done + 2. update user.properties file with appropriate values + 3. run the sample + + #### INBOUND CHANNEL ADAPTER #### + +To run INBOUND CHANNEL ADAPTER sample execute SftpInboundReceiveSample test. You will see that based on configuration it +will access sample remote directory which contains 3 files and will attept to securly copy them to a local directory which +will be generated. +The output should look like this: +===== +Received first file message: [Payload=local-dir/a.txt][Headers={timestamp=1290066001349, id=9dca686a-cfd4-4d96-a1a7-761feb005e43}] +Received second file message: [Payload=local-dir/b.txt][Headers={timestamp=1290066001650, id=d33a475d-fa71-4c5b-b73e-3147969f1c6f}] +No third file was received null +===== + +As you can see, although the remote directory had 3 files we only received 2 since we were filtering only the files that end with 'txt'. + +#### OUTBOUND CHANNEL ADAPTER #### + +To run OUTBOUND CHANNEL ADAPTER sample execute SftpOutboundTransferSample test. You will see that based on configuration it +will attempt to transfer this 'readme.txt' file to a remote directory 'remote-target-dir' +The output should look like this: +===== +Successfully transfered 'readme.txt' file to a remote location under the name 'readme.txt_foo' +===== + +NOTE: You can see that we are using SpEL via 'remote-file-expression' attribute to define the remote file name by +simply appending '_foo' to the original file name. + + +====== HOW TO GENERATE KEYS ====== + +>$ ssh-keygen + Generating public/private rsa key pair. + Enter file in which to save the key (/Users/ozhurakousky/.ssh/id_rsa): ./sftp_rsa + Enter passphrase (empty for no passphrase): + Enter same passphrase again: + Your identification has been saved in ./sftp_rsa. + Your public key has been saved in ./sftp_rsa.pub. + The key fingerprint is: + 2c:30:7c:18:3c:a0:d5:83:68:78:7e:c1:5f:c1:3e:3d ozhurakousky@oleg.home + The key's randomart image is: + +--[ RSA 2048]----+ + |..o*. ... | + |o+o.Bo o | + |oo ==.o . | + | . .+..o E | + | . . S. . | + | . | + | | + | | + | | + +-----------------+ +>$ ls + sftp_rsa sftp_rsa.pub +>$ + +2. Create a file ~/.ssh/authorized_keys and give it the required permissions +>$ chmod 600 ~/.ssh/authorized_keys + +3. Then edit 'authorized_keys' file and paste in the contents of the public key file 'sftp_rsa.pub' . +4. Move your private key file 'sftp_rsa' to META-INF/keys directory diff --git a/basic/sftp/remote-source-dir/a.txt b/basic/sftp/remote-source-dir/a.txt new file mode 100644 index 00000000..8c7e5a66 --- /dev/null +++ b/basic/sftp/remote-source-dir/a.txt @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/basic/sftp/remote-source-dir/b.txt b/basic/sftp/remote-source-dir/b.txt new file mode 100644 index 00000000..7371f47a --- /dev/null +++ b/basic/sftp/remote-source-dir/b.txt @@ -0,0 +1 @@ +B \ No newline at end of file diff --git a/basic/sftp/remote-source-dir/c.bar b/basic/sftp/remote-source-dir/c.bar new file mode 100644 index 00000000..96d80cd6 --- /dev/null +++ b/basic/sftp/remote-source-dir/c.bar @@ -0,0 +1 @@ +C \ No newline at end of file diff --git a/basic/sftp/remote-target-dir/.nothing b/basic/sftp/remote-target-dir/.nothing new file mode 100644 index 00000000..e69de29b diff --git a/basic/sftp/src/test/java/org/springframework/integration/samples/sftp/SftpInboundReceiveSample.java b/basic/sftp/src/test/java/org/springframework/integration/samples/sftp/SftpInboundReceiveSample.java new file mode 100644 index 00000000..5b22cc12 --- /dev/null +++ b/basic/sftp/src/test/java/org/springframework/integration/samples/sftp/SftpInboundReceiveSample.java @@ -0,0 +1,26 @@ +/** + * + */ +package org.springframework.integration.samples.sftp; + +import org.junit.Test; + +import org.springframework.context.ApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.springframework.integration.core.PollableChannel; + +/** + * @author ozhurakousky + * + */ +public class SftpInboundReceiveSample { + + @Test + public void runDemo(){ + ApplicationContext context = new ClassPathXmlApplicationContext("/META-INF/spring/integration/SftpInboundReceiveSample-context.xml", this.getClass()); + PollableChannel localFileChannel = context.getBean("receiveChannel", PollableChannel.class); + System.out.println("Received first file message: " + localFileChannel.receive()); + System.out.println("Received second file message: " + localFileChannel.receive()); + System.out.println("No third file was received " + localFileChannel.receive(1000)); + } +} diff --git a/basic/sftp/src/test/java/org/springframework/integration/samples/sftp/SftpOutboundTransferSample.java b/basic/sftp/src/test/java/org/springframework/integration/samples/sftp/SftpOutboundTransferSample.java new file mode 100644 index 00000000..665bd2ac --- /dev/null +++ b/basic/sftp/src/test/java/org/springframework/integration/samples/sftp/SftpOutboundTransferSample.java @@ -0,0 +1,52 @@ +/* + * 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.samples.sftp; + +import java.io.File; + +import org.junit.Test; + +import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.springframework.integration.Message; +import org.springframework.integration.MessageChannel; +import org.springframework.integration.support.MessageBuilder; + +/** + * @author Oleg Zhurakousky + * + */ +public class SftpOutboundTransferSample { + + @Test + public void testOutbound() throws Exception{ + ClassPathXmlApplicationContext ac = + new ClassPathXmlApplicationContext("/META-INF/spring/integration/SftpOutboundTransferSample-context.xml", SftpOutboundTransferSample.class); + ac.start(); + File file = new File("readme.txt"); + if (file.exists()){ + Message message = MessageBuilder.withPayload(file).build(); + MessageChannel inputChannel = ac.getBean("inputChannel", MessageChannel.class); + inputChannel.send(message); + Thread.sleep(2000); + } + if (new File("remote-target-dir/readme.txt_foo").exists()){ + System.out.println("Successfully transfered 'readme.txt' file to a remote location under the name 'readme.txt_foo'"); + } + ac.stop(); + + } + +} diff --git a/basic/sftp/src/test/resources/META-INF/keys/sftp_rsa b/basic/sftp/src/test/resources/META-INF/keys/sftp_rsa new file mode 100644 index 00000000..05a66c80 --- /dev/null +++ b/basic/sftp/src/test/resources/META-INF/keys/sftp_rsa @@ -0,0 +1,30 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: DES-EDE3-CBC,89FEB82756CA8E56 + +TKzzEZLLatyEMrbDVvTOkf6mvdRr/XT8+AZ1ZZfcw02sdUXSVtLMWi1tGhwTzvka +Acl438D+O6WZT/JBvMcST/17KT2CFwgYrFGwxVnDXge5eQ7bHNZ33vPXVNsfmuhx +OtNPy35LiClXt7FP1JpWlubWjXrlWIxCoxOYvQuETTc6t+CMjoRL1rvAv7IdPuso +nT8XO0hwOXIUn5ZVC47ChuQjyisbfL3elSp3vE9T4Jwcb2QIkQ7DAJ6/y79ne7C3 +BTELKnuskK8WDnwaBMJImMK1da52ttDSrG5DD58DbnVLWGaYs3k1Y6LRol9jhoW+ +u8qd/UR7FF/0A9Dmwa7Su2FNsR30E367TJhtSEOOZ9qwe5J3AOKczTck3oMoLkmR +Gs92uryCmO79XfUVINLaDZaM+Qaa5jskQDAGqGIm91nmFn8iALMSMyPhTNAv2kw0 +6/pmIKmYZ72+hjqoxd5Baqxv7+xbJYZoo1OB0ErmihU8UFMU5zJmJlt+desxot6C +/83IarRe19QLWVX/Vm7NMOfcTdRGv1w1xONFIggOep6mWDtueyGchI3a2FxQR2Dz +mZSwCGaQGL+ZtOkDD1ceoM0mvjdTNRMioOSULUQnjTNMn/0JTpBMAmZkyHJeNdyD +MMca/ftZZszR7snN3SVOty7h5Q/AL+r9+sEPEMX+oE5N65gxhS2Bhqs0OZyeklFB +RCK1eQtwUHEmfFv2XJZBBtm5LLOktQo4jgbMMPJ0HSpf+rkRumav7SFFgBmmYN2X +9Gqw2/uW42FNNaRP/9UD/1zHiKXMMVM9U5BWXn1Eb/3oZ1jIxn6LIrSrv3aEZLmt +7lWynxxohXZOUZiPJxidLP6tH55bXifd+XReR/iynMZ9OBvV3wtFtJxW/NuaMCBX +i5549CSc202Ba/MEt4E7iwTnqO3ySBDT1pUY0ZPOHaZn+L4CDT9y6qVzj6GeTG3m +0B/c61EPjrJ1aqrPy8gNB32B/mmsQGXWwjcFRe8VTJeflwWafe1WHZCt4k3E1ac/ +Ju6Gf/r19dLn+FQutHVMaD7YlkDmh+eEKGq0nQBViOYu3ERDYKEEUYO9ZeC/hdge +TmzNST5hLF5lDv3Gzh3RhBB/409Fo2MoL53gW7mteoYn0tSk4TtJ2fz3tdbBln76 +z3ZE23Z88pL7YetcMgaIDeXBeybGK1HBtOq+NJvSF2hhT4SjIhgTMFM+2/dwsuRN +00ug+kAV/9uSQ+NQFA/5cZXqsBJ8eeTrpmBKV61Mrfd4xNaEEmJMYKhXegyFzfNy +iEBUh3JoE1cE9zpC/Qrbcw5asuflhEZ0+Ot5umipoJtipfD4hf6MWng2LKsddDR6 +19CkO28M9SORD25AFfn4AEPqa+Lp9fMKgs3gm2KkTpSzuoZJp9Y85H/GmmeaZyzc +yqNQrOc8KhDFH9wtTMiquB2cY6qwEUngV57gaQslPE2AW0+tAjbYirku+hFkOZId +dOYmibf6CW7IvbIPPBR2dVlzyn9JNwszTNLxvJLGmF3btKKlKr/GyMomsR0AYSWn +LjCgN4NYYC/XhseeJ2D/vygBoV8kRL9UFDp8K+/IaI7S8RKsW3RrSA== +-----END RSA PRIVATE KEY----- diff --git a/basic/sftp/src/test/resources/META-INF/spring/integration/SftpInboundReceiveSample-context.xml b/basic/sftp/src/test/resources/META-INF/spring/integration/SftpInboundReceiveSample-context.xml new file mode 100644 index 00000000..3cd6ac05 --- /dev/null +++ b/basic/sftp/src/test/resources/META-INF/spring/integration/SftpInboundReceiveSample-context.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/basic/sftp/src/test/resources/META-INF/spring/integration/SftpOutboundTransferSample-context.xml b/basic/sftp/src/test/resources/META-INF/spring/integration/SftpOutboundTransferSample-context.xml new file mode 100644 index 00000000..ed1793d4 --- /dev/null +++ b/basic/sftp/src/test/resources/META-INF/spring/integration/SftpOutboundTransferSample-context.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + diff --git a/basic/sftp/src/test/resources/log4j.properties b/basic/sftp/src/test/resources/log4j.properties new file mode 100644 index 00000000..94686dac --- /dev/null +++ b/basic/sftp/src/test/resources/log4j.properties @@ -0,0 +1,9 @@ +log4j.rootCategory=WARN, stdout + +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{2}:%L - %m%n + +log4j.category.org.springframework=WARN +log4j.category.org.springframework.integration.sftp=TRACE +log4j.category.org.springframework.integration.samples.sftp=TRACE diff --git a/basic/sftp/src/test/resources/user.properties b/basic/sftp/src/test/resources/user.properties new file mode 100644 index 00000000..059b6e79 --- /dev/null +++ b/basic/sftp/src/test/resources/user.properties @@ -0,0 +1,2 @@ +user=ozhurakousky +passphrase=springintegration \ No newline at end of file diff --git a/basic/sftp/target/test-classes/META-INF/keys/sftp_rsa b/basic/sftp/target/test-classes/META-INF/keys/sftp_rsa new file mode 100644 index 00000000..05a66c80 --- /dev/null +++ b/basic/sftp/target/test-classes/META-INF/keys/sftp_rsa @@ -0,0 +1,30 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: DES-EDE3-CBC,89FEB82756CA8E56 + +TKzzEZLLatyEMrbDVvTOkf6mvdRr/XT8+AZ1ZZfcw02sdUXSVtLMWi1tGhwTzvka +Acl438D+O6WZT/JBvMcST/17KT2CFwgYrFGwxVnDXge5eQ7bHNZ33vPXVNsfmuhx +OtNPy35LiClXt7FP1JpWlubWjXrlWIxCoxOYvQuETTc6t+CMjoRL1rvAv7IdPuso +nT8XO0hwOXIUn5ZVC47ChuQjyisbfL3elSp3vE9T4Jwcb2QIkQ7DAJ6/y79ne7C3 +BTELKnuskK8WDnwaBMJImMK1da52ttDSrG5DD58DbnVLWGaYs3k1Y6LRol9jhoW+ +u8qd/UR7FF/0A9Dmwa7Su2FNsR30E367TJhtSEOOZ9qwe5J3AOKczTck3oMoLkmR +Gs92uryCmO79XfUVINLaDZaM+Qaa5jskQDAGqGIm91nmFn8iALMSMyPhTNAv2kw0 +6/pmIKmYZ72+hjqoxd5Baqxv7+xbJYZoo1OB0ErmihU8UFMU5zJmJlt+desxot6C +/83IarRe19QLWVX/Vm7NMOfcTdRGv1w1xONFIggOep6mWDtueyGchI3a2FxQR2Dz +mZSwCGaQGL+ZtOkDD1ceoM0mvjdTNRMioOSULUQnjTNMn/0JTpBMAmZkyHJeNdyD +MMca/ftZZszR7snN3SVOty7h5Q/AL+r9+sEPEMX+oE5N65gxhS2Bhqs0OZyeklFB +RCK1eQtwUHEmfFv2XJZBBtm5LLOktQo4jgbMMPJ0HSpf+rkRumav7SFFgBmmYN2X +9Gqw2/uW42FNNaRP/9UD/1zHiKXMMVM9U5BWXn1Eb/3oZ1jIxn6LIrSrv3aEZLmt +7lWynxxohXZOUZiPJxidLP6tH55bXifd+XReR/iynMZ9OBvV3wtFtJxW/NuaMCBX +i5549CSc202Ba/MEt4E7iwTnqO3ySBDT1pUY0ZPOHaZn+L4CDT9y6qVzj6GeTG3m +0B/c61EPjrJ1aqrPy8gNB32B/mmsQGXWwjcFRe8VTJeflwWafe1WHZCt4k3E1ac/ +Ju6Gf/r19dLn+FQutHVMaD7YlkDmh+eEKGq0nQBViOYu3ERDYKEEUYO9ZeC/hdge +TmzNST5hLF5lDv3Gzh3RhBB/409Fo2MoL53gW7mteoYn0tSk4TtJ2fz3tdbBln76 +z3ZE23Z88pL7YetcMgaIDeXBeybGK1HBtOq+NJvSF2hhT4SjIhgTMFM+2/dwsuRN +00ug+kAV/9uSQ+NQFA/5cZXqsBJ8eeTrpmBKV61Mrfd4xNaEEmJMYKhXegyFzfNy +iEBUh3JoE1cE9zpC/Qrbcw5asuflhEZ0+Ot5umipoJtipfD4hf6MWng2LKsddDR6 +19CkO28M9SORD25AFfn4AEPqa+Lp9fMKgs3gm2KkTpSzuoZJp9Y85H/GmmeaZyzc +yqNQrOc8KhDFH9wtTMiquB2cY6qwEUngV57gaQslPE2AW0+tAjbYirku+hFkOZId +dOYmibf6CW7IvbIPPBR2dVlzyn9JNwszTNLxvJLGmF3btKKlKr/GyMomsR0AYSWn +LjCgN4NYYC/XhseeJ2D/vygBoV8kRL9UFDp8K+/IaI7S8RKsW3RrSA== +-----END RSA PRIVATE KEY----- diff --git a/basic/sftp/target/test-classes/META-INF/spring/integration/SftpInboundReceiveSample-context.xml b/basic/sftp/target/test-classes/META-INF/spring/integration/SftpInboundReceiveSample-context.xml new file mode 100644 index 00000000..3cd6ac05 --- /dev/null +++ b/basic/sftp/target/test-classes/META-INF/spring/integration/SftpInboundReceiveSample-context.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/basic/sftp/target/test-classes/META-INF/spring/integration/SftpOutboundTransferSample-context.xml b/basic/sftp/target/test-classes/META-INF/spring/integration/SftpOutboundTransferSample-context.xml new file mode 100644 index 00000000..ed1793d4 --- /dev/null +++ b/basic/sftp/target/test-classes/META-INF/spring/integration/SftpOutboundTransferSample-context.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + diff --git a/basic/sftp/target/test-classes/log4j.properties b/basic/sftp/target/test-classes/log4j.properties new file mode 100644 index 00000000..94686dac --- /dev/null +++ b/basic/sftp/target/test-classes/log4j.properties @@ -0,0 +1,9 @@ +log4j.rootCategory=WARN, stdout + +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{2}:%L - %m%n + +log4j.category.org.springframework=WARN +log4j.category.org.springframework.integration.sftp=TRACE +log4j.category.org.springframework.integration.samples.sftp=TRACE diff --git a/basic/sftp/target/test-classes/org/springframework/integration/samples/sftp/SftpInboundReceiveSample.class b/basic/sftp/target/test-classes/org/springframework/integration/samples/sftp/SftpInboundReceiveSample.class new file mode 100644 index 0000000000000000000000000000000000000000..74e564bba73a1b101a38f83a20e6318eba1bbb5f GIT binary patch literal 1764 zcmb`HTXWM!6vzK-C&)M|7?S{jkh&MBoj4J<5{fC{n1ljONaNH~9yj*JQIJ+bS^@o7 z^dXs)nNDZ=)=$z;!St*o8hPr>@K8PMYWM7(%kP}Ce|`AvcK|ogF_2?e@q&RB`hhJ6 zI{|ma8!vci*;0u?z?JPuE99>4h|mgmly7xtcp|sGNcJ~HPuQpp2kA&+nOm9X~*{%5b(?YagW|-fR?c1{XE-OAJ@58F5GH)HgCa z$%R_CfXfW0f+WqYT`r|?41CUTYZQQN$@IKHSR0<>=oF?mC-4QnGVmqC;;8E%`Tdub ziLY^mGDh(&3oaR!KFR$|KuIw+PU0KX3{-~-wew4;gll3B^Hii>L^V5=T(v!GgU~1f zB)ChdUtlu1RGX74Vqh z(z;inb`MhF8y;3t82!pPJzVtV|JJOYX;y89diCk2BO-^=Qe(I_672DnNbg3;(XZ1g zd7YLu!|jn;vgsMs4y3Et@uHw7v@$B5WpL0(H}jXG#a$FXl68z&mExf zj(&0|(x}Bi2@^D$$pM-_qZM^DNpm=zo+{C-75zy{wSiafappz&?A$)44lv!GFVB=` z4^heE56rIpimUHYe^FjMz_t1zZZhm+X&;S!JoqSjbi8O)ize~IA)e-sE*?33ksJdi u$-ybi;2f6dVcWz7_?V6ZsU!}jft*4QYgng%X7Cf9V}pWX_>nZ^u=x+wi1e`l literal 0 HcmV?d00001 diff --git a/basic/sftp/target/test-classes/org/springframework/integration/samples/sftp/SftpOutboundTransferSample.class b/basic/sftp/target/test-classes/org/springframework/integration/samples/sftp/SftpOutboundTransferSample.class new file mode 100644 index 0000000000000000000000000000000000000000..fbabe25eeaedfb1e2b3092f5621175552377cecd GIT binary patch literal 2162 zcmb_eT~pge6g_K9M2yl<2WX)wm?i-`V2h?enwTa74p36_(b#nYZIi6+wJjn`9%M+4w{CbX z*R<<3mp8>r$9-X#wiI=jOVhCpk2hPE@C>geTSkE{JH9MCzFjT4-1ch1Ed&cRL>Yz- z_)pxhxLr4P$_Jt%87?fFwkhv1^d(azhG@>IiWvHEQAa;6FkH@?w%GQYW#JZi*%A!# zyi?&;iMytH4+o>NVR{Uk`Tq%SmO+=olP6>tVrz#L(NdH>4IeUGIpy+hhGFcHZ%eZ& zN~UKLx)s}YWY8x9Hxz(7@QJTcq}*8zBMhs(5LX=P@S!w3ztwVFY2+;KdAnRTo;0nM zR?9LgLDF1%*#JIb$QfH}#g+8t_IkKoUAuJl#-zhqnZu?P!!X8F;a#hEtYOne|$z7>olA0I9nvStbJWP7rNnW>e=&sb_(#f;g|^bKIhilvP!R+2r}@LY&zFEKvVUyXDJVgWI;S zG%PV>&f^=#hcRkjzSMCCcNw(0kgI~*47WRpp1G+V+Z;Ay5Q|vW@fGNxMm=E@rMcv} z4LV_z+V3Yvp+D`f7*_E>L$1pUiVdX=9cx%uBC>>NQJLh!RA~TTGbCKmbfid=xQIx) zYP!a$mY&rd=OP{=ui=}nq=h3-il&Y&Y?E{xpS)(IO^j5zOLCUPU+^aNdzay9!LL+E zC^g@*juJAoE>TU)oR*qN)JV(;=_GgvDPfTnDN9I@-w8J%8zNzoNp?mlfHN^XLQzBE z#5TGi==e?@1x>lEv~0C?k99mzM=I(`hnf-L6@~{r8~)#{f_yEiSTKC>t{Lix(zw=a z9~6f7*DAw&Pf(rbuv?c@XtdkFk6I@te&>C2Eq7zTM@cUgB(J>K;;rz55Gy#oTM>#I z!{piamr+KADUe12iALy&K0I{Q=-r?@qkI3&R~Yz(9wLa*RZRnv7^JJ-UO@Lt^hSN9 z**;vR=P11mAx=+f{S~@XN=6?-Dgf}e7~YGI#@Q=;oS!|$CvP#a7f-yxXIpc}xbZV) z=3XOp3}bsX{zZK87`Okx;@#+2H2oX05j-Bo{nuCtf;K292pRkpoAI4vd`tOC3T`xj zyA(jXPH?Xg%o_x18slWHQ%E93|4Zap_c2T7FO4EH_yO~HPQL&Yy@fW|ke*WN9`=dO zI5zM-t&C9oRs4vjM0$y6FW?zfeNK_8G3_}{bLC(p@;BBr3~QJerP&INMNs`0=dxo; literal 0 HcmV?d00001 diff --git a/basic/sftp/target/test-classes/user.properties b/basic/sftp/target/test-classes/user.properties new file mode 100644 index 00000000..059b6e79 --- /dev/null +++ b/basic/sftp/target/test-classes/user.properties @@ -0,0 +1,2 @@ +user=ozhurakousky +passphrase=springintegration \ No newline at end of file