diff --git a/spring-integration-samples/filecopy/src/main/java/org/springframework/integration/samples/filecopy/BinaryFileCopyDemo.java b/spring-integration-samples/filecopy/src/main/java/org/springframework/integration/samples/filecopy/BinaryFileCopyDemo.java index 45348a224d..1756ace5b3 100644 --- a/spring-integration-samples/filecopy/src/main/java/org/springframework/integration/samples/filecopy/BinaryFileCopyDemo.java +++ b/spring-integration-samples/filecopy/src/main/java/org/springframework/integration/samples/filecopy/BinaryFileCopyDemo.java @@ -16,6 +16,7 @@ package org.springframework.integration.samples.filecopy; +import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; /** @@ -29,8 +30,8 @@ import org.springframework.context.support.ClassPathXmlApplicationContext; public class BinaryFileCopyDemo { public static void main(String[] args) { - FileCopyDemoCommon.displayDirectories(); - new ClassPathXmlApplicationContext("fileCopyDemo-binary.xml", BinaryFileCopyDemo.class); + ApplicationContext context = new ClassPathXmlApplicationContext("fileCopyDemo-binary.xml", BinaryFileCopyDemo.class); + FileCopyDemoCommon.displayDirectories(context); } } diff --git a/spring-integration-samples/filecopy/src/main/java/org/springframework/integration/samples/filecopy/FileBasedFileCopyDemo.java b/spring-integration-samples/filecopy/src/main/java/org/springframework/integration/samples/filecopy/FileBasedFileCopyDemo.java index 463919e6ec..9bc801010f 100644 --- a/spring-integration-samples/filecopy/src/main/java/org/springframework/integration/samples/filecopy/FileBasedFileCopyDemo.java +++ b/spring-integration-samples/filecopy/src/main/java/org/springframework/integration/samples/filecopy/FileBasedFileCopyDemo.java @@ -16,6 +16,7 @@ package org.springframework.integration.samples.filecopy; +import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; /** @@ -27,8 +28,8 @@ import org.springframework.context.support.ClassPathXmlApplicationContext; public class FileBasedFileCopyDemo { public static void main(String[] args) { - FileCopyDemoCommon.displayDirectories(); - new ClassPathXmlApplicationContext("fileCopyDemo-file.xml", FileBasedFileCopyDemo.class); + ApplicationContext context = new ClassPathXmlApplicationContext("fileCopyDemo-file.xml", FileBasedFileCopyDemo.class); + FileCopyDemoCommon.displayDirectories(context); } } diff --git a/spring-integration-samples/filecopy/src/main/java/org/springframework/integration/samples/filecopy/FileCopyDemoCommon.java b/spring-integration-samples/filecopy/src/main/java/org/springframework/integration/samples/filecopy/FileCopyDemoCommon.java index 963bc89aeb..eab96f7f47 100644 --- a/spring-integration-samples/filecopy/src/main/java/org/springframework/integration/samples/filecopy/FileCopyDemoCommon.java +++ b/spring-integration-samples/filecopy/src/main/java/org/springframework/integration/samples/filecopy/FileCopyDemoCommon.java @@ -18,19 +18,26 @@ package org.springframework.integration.samples.filecopy; import java.io.File; +import org.springframework.beans.DirectFieldAccessor; +import org.springframework.context.ApplicationContext; +import org.springframework.integration.file.FileReadingMessageSource; +import org.springframework.integration.file.FileWritingMessageHandler; + /** * Displays the names of the input and output directories. * * @author Marius Bogoevici + * @author Mark Fisher */ public class FileCopyDemoCommon { - public static void displayDirectories() { - File baseDir = new File(System.getProperty("java.io.tmpdir") + File.separator + "spring-integration-samples"); - File inDir = new File(baseDir, "input"); - File outDir = new File(baseDir, "output"); - System.out.println("Default input directory is: " + inDir.getAbsolutePath()); - System.out.println("Default output directory is: " + outDir.getAbsolutePath()); + public static void displayDirectories(ApplicationContext context) { + Object source = context.getBeansOfType(FileReadingMessageSource.class).values().iterator().next(); + Object handler = context.getBeansOfType(FileWritingMessageHandler.class).values().iterator().next(); + File inDir = (File) new DirectFieldAccessor(source).getPropertyValue("inputDirectory"); + File outDir = (File) new DirectFieldAccessor(handler).getPropertyValue("destinationDirectory"); + System.out.println("Input directory is: " + inDir.getAbsolutePath()); + System.out.println("Output directory is: " + outDir.getAbsolutePath()); System.out.println("==================================================="); } diff --git a/spring-integration-samples/filecopy/src/main/java/org/springframework/integration/samples/filecopy/TextFileCopyDemo.java b/spring-integration-samples/filecopy/src/main/java/org/springframework/integration/samples/filecopy/TextFileCopyDemo.java index 60f5285f1f..d5ae560ed4 100644 --- a/spring-integration-samples/filecopy/src/main/java/org/springframework/integration/samples/filecopy/TextFileCopyDemo.java +++ b/spring-integration-samples/filecopy/src/main/java/org/springframework/integration/samples/filecopy/TextFileCopyDemo.java @@ -16,6 +16,7 @@ package org.springframework.integration.samples.filecopy; +import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; /** @@ -28,8 +29,8 @@ import org.springframework.context.support.ClassPathXmlApplicationContext; public class TextFileCopyDemo { public static void main(String[] args) { - FileCopyDemoCommon.displayDirectories(); - new ClassPathXmlApplicationContext("fileCopyDemo-text.xml", TextFileCopyDemo.class); + ApplicationContext context = new ClassPathXmlApplicationContext("fileCopyDemo-text.xml", TextFileCopyDemo.class); + FileCopyDemoCommon.displayDirectories(context); } }