1
2
3
4
5
6
7 package org.mule.module.atom.config;
8
9 import org.mule.config.spring.parsers.generic.ChildDefinitionParser;
10 import org.mule.config.spring.parsers.specific.ComponentDefinitionParser;
11 import org.mule.config.spring.parsers.specific.FilterDefinitionParser;
12 import org.mule.config.spring.parsers.specific.MessageProcessorDefinitionParser;
13 import org.mule.config.spring.parsers.specific.RouterDefinitionParser;
14 import org.mule.config.spring.parsers.specific.endpoint.TransportEndpointDefinitionParser;
15 import org.mule.expression.transformers.ExpressionArgument;
16 import org.mule.module.atom.AbderaServiceComponent;
17 import org.mule.module.atom.endpoint.AtomInboundEndpointFactoryBean;
18 import org.mule.module.atom.routing.EntryLastUpdatedFilter;
19 import org.mule.module.atom.routing.FeedLastUpdatedFilter;
20 import org.mule.module.atom.routing.FeedSplitter;
21 import org.mule.module.atom.routing.URIRouteFilter;
22 import org.mule.module.atom.transformers.AtomEntryBuilderTransformer;
23 import org.mule.module.atom.transformers.ObjectToFeed;
24
25 import org.springframework.beans.factory.xml.NamespaceHandlerSupport;
26
27 public class AtomNamespaceHandler extends NamespaceHandlerSupport
28 {
29 public void init()
30 {
31 registerBeanDefinitionParser("inbound-endpoint", new TransportEndpointDefinitionParser("atom", true, AtomInboundEndpointFactoryBean.class, new String[]{"lastUpdate", "splitFeed", "acceptedMimeTypes", "pollingFrequency"}, new String[][]{}, new String[][]{}));
32
33 FilterDefinitionParser routeFilter = new FilterDefinitionParser(URIRouteFilter.class);
34 registerBeanDefinitionParser("route-filter", routeFilter);
35
36 registerBeanDefinitionParser("entry-last-updated-filter", new FilterDefinitionParser(EntryLastUpdatedFilter.class));
37 registerBeanDefinitionParser("feed-last-updated-filter", new FilterDefinitionParser(FeedLastUpdatedFilter.class));
38 registerBeanDefinitionParser("feed-splitter", new RouterDefinitionParser(FeedSplitter.class));
39 registerBeanDefinitionParser("component", new ComponentDefinitionParser(AbderaServiceComponent.class));
40 registerBeanDefinitionParser("entry-builder-transformer", new MessageProcessorDefinitionParser(AtomEntryBuilderTransformer.class));
41 registerBeanDefinitionParser("entry-property", new ChildDefinitionParser("argument", ExpressionArgument.class));
42 registerBeanDefinitionParser("object-to-feed-transformer", new MessageProcessorDefinitionParser(ObjectToFeed.class));
43 }
44 }