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