diff --git a/spring-integration-core/src/main/java/org/springframework/integration/adapter/DefaultTargetAdapter.java b/spring-integration-core/src/main/java/org/springframework/integration/adapter/DefaultTargetAdapter.java index 0f081f2c2f..1934bba092 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/adapter/DefaultTargetAdapter.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/adapter/DefaultTargetAdapter.java @@ -69,6 +69,10 @@ public class DefaultTargetAdapter implements TargetAdapter { this.mapper = mapper; } + protected MessageMapper getMessageMapper() { + return this.mapper; + } + public void setConsumerPolicy(ConsumerPolicy policy) { Assert.notNull(policy, "'policy' must not be null"); this.policy = policy; diff --git a/spring-integration-core/src/main/java/org/springframework/integration/adapter/file/FileSourceAdapter.java b/spring-integration-core/src/main/java/org/springframework/integration/adapter/file/FileSourceAdapter.java index f442c8611b..adf36b0827 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/adapter/file/FileSourceAdapter.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/adapter/file/FileSourceAdapter.java @@ -46,6 +46,14 @@ public class FileSourceAdapter extends PollingSourceAdapter { } } + public void setFileNameGenerator(FileNameGenerator fileNameGenerator) { + Assert.notNull(fileNameGenerator, "'fileNameGenerator' must not be null"); + MessageMapper mapper = this.getMessageMapper(); + if (mapper instanceof AbstractFileMapper) { + ((AbstractFileMapper) mapper).setFileNameGenerator(fileNameGenerator); + } + } + public void setBackupDirectory(File backupDirectory) { Assert.notNull(backupDirectory, "'backupDirectory' must not be null"); MessageMapper mapper = this.getMessageMapper(); diff --git a/spring-integration-core/src/main/java/org/springframework/integration/adapter/file/FileTargetAdapter.java b/spring-integration-core/src/main/java/org/springframework/integration/adapter/file/FileTargetAdapter.java index ef58538d5b..0685d738e9 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/adapter/file/FileTargetAdapter.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/adapter/file/FileTargetAdapter.java @@ -20,6 +20,8 @@ import java.io.File; import org.springframework.integration.adapter.DefaultTargetAdapter; import org.springframework.integration.adapter.Target; +import org.springframework.integration.message.MessageMapper; +import org.springframework.util.Assert; /** * A convenience adapter for writing files. The actual file writing occurs in @@ -43,6 +45,14 @@ public class FileTargetAdapter extends DefaultTargetAdapter { } } + public void setFileNameGenerator(FileNameGenerator fileNameGenerator) { + Assert.notNull(fileNameGenerator, "'fileNameGenerator' must not be null"); + MessageMapper mapper = this.getMessageMapper(); + if (mapper instanceof AbstractFileMapper) { + ((AbstractFileMapper) mapper).setFileNameGenerator(fileNameGenerator); + } + } + private static class FileTarget implements Target {