From 9c9c93479a8938b0408d687f814fb76ac094899c Mon Sep 17 00:00:00 2001 From: Gary Russell Date: Mon, 9 Dec 2013 14:47:00 -0500 Subject: [PATCH] INT-3223 Polishing JIRA: https://jira.springsource.org/browse/INT-3223 Don't use primitives in Tail factory bean setters so that the placeholders for attributes that force the Apache implementation can resolve to "". Test for an empty string in native-options and don't set. --- ...eTailInboundChannelAdapterFactoryBean.java | 13 ++++++++----- ...boundChannelAdapterParserTests-context.xml | 19 +++++++++++++++++-- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/spring-integration-file/src/main/java/org/springframework/integration/file/config/FileTailInboundChannelAdapterFactoryBean.java b/spring-integration-file/src/main/java/org/springframework/integration/file/config/FileTailInboundChannelAdapterFactoryBean.java index 0cbff47592..92d9c43f89 100644 --- a/spring-integration-file/src/main/java/org/springframework/integration/file/config/FileTailInboundChannelAdapterFactoryBean.java +++ b/spring-integration-file/src/main/java/org/springframework/integration/file/config/FileTailInboundChannelAdapterFactoryBean.java @@ -29,6 +29,7 @@ import org.springframework.integration.file.tail.FileTailingMessageProducerSuppo import org.springframework.integration.file.tail.OSDelegatingFileTailingMessageProducer; import org.springframework.scheduling.TaskScheduler; import org.springframework.util.Assert; +import org.springframework.util.StringUtils; /** * @author Gary Russell @@ -67,7 +68,9 @@ public class FileTailInboundChannelAdapterFactoryBean extends AbstractFactoryBea private volatile ApplicationEventPublisher applicationEventPublisher; public void setNativeOptions(String nativeOptions) { - this.nativeOptions = nativeOptions; + if (StringUtils.hasText(nativeOptions)) { + this.nativeOptions = nativeOptions; + } } public void setFile(File file) { @@ -82,11 +85,11 @@ public class FileTailInboundChannelAdapterFactoryBean extends AbstractFactoryBea this.taskScheduler = taskScheduler; } - public void setDelay(long delay) { + public void setDelay(Long delay) { this.delay = delay; } - public void setFileDelay(long fileDelay) { + public void setFileDelay(Long fileDelay) { this.fileDelay = fileDelay; } @@ -107,11 +110,11 @@ public class FileTailInboundChannelAdapterFactoryBean extends AbstractFactoryBea this.outputChannel = outputChannel; } - public void setAutoStartup(boolean autoStartup) { + public void setAutoStartup(Boolean autoStartup) { this.autoStartup = autoStartup; } - public void setPhase(int phase) { + public void setPhase(Integer phase) { this.phase = phase; } diff --git a/spring-integration-file/src/test/java/org/springframework/integration/file/config/FileTailInboundChannelAdapterParserTests-context.xml b/spring-integration-file/src/test/java/org/springframework/integration/file/config/FileTailInboundChannelAdapterParserTests-context.xml index 60b7ebc22b..c6885c4861 100644 --- a/spring-integration-file/src/test/java/org/springframework/integration/file/config/FileTailInboundChannelAdapterParserTests-context.xml +++ b/spring-integration-file/src/test/java/org/springframework/integration/file/config/FileTailInboundChannelAdapterParserTests-context.xml @@ -4,10 +4,14 @@ xmlns:int-file="http://www.springframework.org/schema/integration/file" xmlns:task="http://www.springframework.org/schema/task" xmlns:int="http://www.springframework.org/schema/integration" + xmlns:context="http://www.springframework.org/schema/context" + xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd http://www.springframework.org/schema/integration/file http://www.springframework.org/schema/integration/file/spring-integration-file.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd - http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> + + + + 2000 + + +