INT-549 Added namespace support for the 'comparator' attribute on the File namespace's 'inbound-channel-adapter' element.

This commit is contained in:
Mark Fisher
2009-06-19 21:20:52 +00:00
parent 5121c8262e
commit 47656aeffd
4 changed files with 47 additions and 7 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2008 the original author or authors.
* Copyright 2002-2009 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.
@@ -43,6 +43,10 @@ public class FileInboundChannelAdapterParser extends AbstractPollingInboundChann
protected String parseSource(Element element, ParserContext parserContext) {
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(
PACKAGE_NAME + ".FileReadingMessageSource");
String comparator = element.getAttribute("comparator");
if (StringUtils.hasText(comparator)) {
builder.addConstructorArgReference(comparator);
}
String directory = element.getAttribute("directory");
if (StringUtils.hasText(directory)) {
if (directory.indexOf(':') == -1) {

View File

@@ -21,7 +21,8 @@
<xsd:element name="inbound-channel-adapter">
<xsd:annotation>
<xsd:documentation>
Configures an inbound Channel Adapter that polls a directory.
Configures an inbound Channel Adapter that polls a directory and sends
Messages whose payloads are instances of java.io.File.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
@@ -39,6 +40,14 @@
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="directory" type="xsd:string" use="required"/>
<xsd:attribute name="comparator" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
Specify a Comparator to be used when ordering Files. If none is provided, the
order will be determined by the java.io.File implementation of Comparable.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="filter" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>