From a645841d66eef520ca5f5a29bb0371f944cee31d Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Mon, 14 Jul 2008 19:27:58 +0000 Subject: [PATCH] Added support for the sub-element within and . --- .../integration/config/AbstractHandlerEndpointParser.java | 6 ++++++ .../integration/config/ChannelAdapterParser.java | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/config/AbstractHandlerEndpointParser.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/AbstractHandlerEndpointParser.java index b4b7d5b18d..617a77ad18 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/config/AbstractHandlerEndpointParser.java +++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/AbstractHandlerEndpointParser.java @@ -58,6 +58,8 @@ public abstract class AbstractHandlerEndpointParser extends AbstractSingleBeanDe private static final String SCHEDULE_ELEMENT = "schedule"; + private static final String POLLER_ELEMENT = "poller"; + private static final String SELECTOR_ATTRIBUTE = "selector"; private static final String SELECTOR_PROPERTY = "messageSelector"; @@ -109,6 +111,10 @@ public abstract class AbstractHandlerEndpointParser extends AbstractSingleBeanDe if (SCHEDULE_ELEMENT.equals(localName)) { schedule = this.parseSchedule(childElement); } + else if (POLLER_ELEMENT.equals(localName)) { + builder.addPropertyReference("poller", + IntegrationNamespaceUtils.parsePoller(childElement, parserContext)); + } else if (INTERCEPTORS_ELEMENT.equals(localName)) { EndpointInterceptorParser parser = new EndpointInterceptorParser(); ManagedList interceptors = parser.parseEndpointInterceptors(childElement, parserContext); diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/config/ChannelAdapterParser.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/ChannelAdapterParser.java index 5f9bd17f31..8fe83e3de8 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/config/ChannelAdapterParser.java +++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/ChannelAdapterParser.java @@ -90,6 +90,11 @@ public class ChannelAdapterParser extends AbstractSimpleBeanDefinitionParser { if (scheduleElement != null) { builder.addPropertyValue("schedule", this.parseSchedule(scheduleElement)); } + Element pollerElement = DomUtils.getChildElementByTagName(element, "poller"); + if (pollerElement != null) { + builder.addPropertyReference("poller", + IntegrationNamespaceUtils.parsePoller(pollerElement, parserContext)); + } Element interceptorsElement = DomUtils.getChildElementByTagName(element, "interceptors"); if (interceptorsElement != null) { EndpointInterceptorParser parser = new EndpointInterceptorParser(); @@ -106,7 +111,7 @@ public class ChannelAdapterParser extends AbstractSimpleBeanDefinitionParser { adapterDef.getPropertyValues().addPropertyValue("methodName", method); String adapterBeanName = parserContext.getReaderContext().generateBeanName(adapterDef); parserContext.registerBeanComponent(new BeanComponentDefinition(adapterDef, adapterBeanName)); - return adapterBeanName; + return adapterBeanName; } return ref; }