INT-1604 renamed outbound parser to include 'ChannelAdapter'

This commit is contained in:
Mark Fisher
2010-11-11 18:14:12 -05:00
parent dd13faf032
commit 0852008d38
2 changed files with 16 additions and 7 deletions

View File

@@ -38,8 +38,8 @@ public class TwitterNamespaceHandler extends AbstractIntegrationNamespaceHandler
registerBeanDefinitionParser("search-inbound-channel-adapter", new TwitterInboundChannelAdapterParser());
// outbound
registerBeanDefinitionParser("outbound-channel-adapter", new TwitterSendingMessageHandlerParser());
registerBeanDefinitionParser("dm-outbound-channel-adapter", new TwitterSendingMessageHandlerParser());
registerBeanDefinitionParser("outbound-channel-adapter", new TwitterOutboundChannelAdapterParser());
registerBeanDefinitionParser("dm-outbound-channel-adapter", new TwitterOutboundChannelAdapterParser());
}
}

View File

@@ -31,21 +31,30 @@ import org.w3c.dom.Element;
* @author Oleg Zhurakousky
* @since 2.0
*/
public class TwitterSendingMessageHandlerParser extends AbstractOutboundChannelAdapterParser {
public class TwitterOutboundChannelAdapterParser extends AbstractOutboundChannelAdapterParser {
@Override
protected AbstractBeanDefinition parseConsumer(Element element, ParserContext parserContext) {
String elementName = element.getLocalName().trim();
String className = determineClassName(element, parserContext);
BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(className);
builder.addConstructorArgReference(element.getAttribute("twitter-template"));
return builder.getBeanDefinition();
}
private static String determineClassName(Element element, ParserContext parserContext) {
String className = null;
String elementName = element.getLocalName().trim();
if ("outbound-channel-adapter".equals(elementName)) {
className = BASE_PACKAGE + ".outbound.TimelineSendingMessageHandler";
}
else if ("dm-outbound-channel-adapter".equals(elementName)) {
className = BASE_PACKAGE + ".outbound.DirectMessageSendingMessageHandler";
}
BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(className);
builder.addConstructorArgReference(element.getAttribute("twitter-template"));
return builder.getBeanDefinition();
else {
parserContext.getReaderContext().error("element '" + elementName + "' is not supported by this parser.", element);
}
return className;
}
}